operatori condizionali ternari con Tradingview

Operatori Condizionali Ternari con Tradingview

In questo articolo descriviamo cosa sono e come usare gli operatori condizionali ternari con Tradingview per il trading algoritmico. Per maggiori approfondimenti su questa piattaforma web si possono leggere gli altri articoli relativi a Tradingview. Provenendo da un background Python, leggere la sintassi su uno script di Tradingview può sembrare a volte un po’ alieno. Gli operatori condizionali ternari ne sono un esempio. La maggior parte degli script su Tradingview li contiene e possono anche essere impilati insieme per fornire l’istruzione simile a switch (o l’equivalente di if elif e else in Python ).

Per altri, solo il termine operatore condizionale ternario suona intimidatorio. Se non hai studiato matematica o scienze all’università, c’è la possibilità che tu non ne abbia familiarità. Tuttavia, per quanto possa sembrare accademico, è in realtà piuttosto semplice. Si riferisce essenzialmente a qualcosa che ha tre variabili.

http://www.dictionary.com/browse/ternary

E in quella definizione che sta il cuore dell’operatore. Prendiamo tre variabili, ne esaminiamo una e poi assegniamo una delle restanti due a seconda del risultato della prima. Ad esempio nella seguente dichiarazione:

x = variable_one ? variable_two : variable_three

Assegniamo la variabile due a X se la variabile uno è True, altrimenti assegniamo la variabile tre a x.

Tornando al parallelo con Python, si converte in:

				
					
if variable_one == True:
    x = variable_two
else:
    x = variable_three
				
			

Operatori condizionali ternari con Tradingview

Iniziamo con un semplice esempio. Questo script cambia in blu il colore della barra del venerdì.

				
					
//@version=3
study("Blue Fridays", overlay=true)
x = dayofweek == 5
barcolor(x ? blue:gray)
				
			

Analizziamolo:

  • x: è la variabile che contiene la serie di dati vero/falso.
  • dayofweek: è una variabile integrata che restituisce un valore tra 1 e 6 a seconda del giorno della settimana.
  •  x = dayofweek == 5: Esegue un controllo per ogni singola barra e verificare se dayofweek è uguale a 5. In caso affermativo, memorizza un valore true, in caso contrario memorizza false.
  • barcolor(): Una funzione  integrata per cambiare il colore di una barra sul grafico.
  • barcolor(x ? blue:gray): controlla se x è vero, in tal caso assegna il blu, se falso assegna il colore grigio.

Possiamo scrivere l’intero script come barcolor(dayofweek == 5 ? blue:gray). Tuttavia, per capire la logica è più facile suddividere lo script in mini passaggi.

Eseguendo lo script, i grafici appariranno come segue:

Tradingview-Blue-Fridays

Operatore Switch-Like

Successivamente, possiamo aggiungere un po’ più di complessità all’operatore. Continuiamo con l’esempio precedente e assegniamo a ogni giorno della settimana un colore diverso.

				
					
//@version=3
study("Blue Fridays", overlay=true)
x = dayofweek
y = x == 1 ? black : x == 2 ? white : x == 3 ? maroon : x == 4 ? fuchsia : x == 5 ? blue : yellow
barcolor(y)
				
			

In questo esempio abbiamo aggiunto una nuova variabile y e le assegniamo un colore in base al valore di x. Se x uguale a 1 assegniamo il nero alla variabile y. Se è 2 assegniamo il bianco e così via. Quando aggiungiamo ulteriori condizioni, sostituiamo la terza variabile con il nuovo test. Significa essenzialmente che se il test restituisce falso, facciamo un altro test. Questo continua fino all’ultimo test in cui aggiungiamo il valore finale se nessuno dei test restituisce true. In questo caso, il nostro valore finale è giallo.

Infine, eseguendo lo script otteniamo grafici come il seguente:

Tradingview-Multi-color-days

Codice completo

In questo articolo  abbiamo descritto come usare gli operatori condizionali ternari con Tradingview per il trading algoritmico. Per il codice completo riportato in questo articolo, si può consultare il seguente repository di github:
https://github.com/datatrading-info/TradingView

Torna in alto
Scroll to Top