indicatore di supporti e resistenze con Tradingview

Indicatore di Supporti e Resistenze con Tradingview

In questo articolo descriviamo come realizzare un semplice indicatore di supporti e resistenze con Tradingview per il trading algoritmico. L’identificazione delle zone di supporto e resistenza è un importante e popolare metodo di analisi tecnica. Utilizzando i dati storici, gli esseri umani possono facilmente identificare le zone di prezzo in cui molti acquirenti (o venditori) sono entrati nel mercato. Possiamo quindi utilizzare queste informazioni come guida per indicare dove la domanda potrebbe nuovamente aumentare in futuro.

I supporti e le resistenze

L’indicatore tenta di automatizzare il rilevamento dei livelli di supporto e resistenza identificando grandi oscillazioni/pivot nel movimento dei prezzi storici. I massimi e minimi del movimento dei prezzi mostrano dove molti acquirenti o venditori sono entrati nel mercato e potrebbero essere i futuri livelli di supporto o resistenza. Come parametro di default, il codice rileva gli ultimi 3 massimi e gli ultimi 3 minimi significativi. Quindi traccia le linee sul grafico per evidenziare quei livelli. La teoria dell’analisi tecnica prevede che il supporto diventa resistenza e viceversa. Per questo motivo, l’indicatore non classifica semplicemente i minimi di swing come “supporto” e i massimi  di swing come “resistenza”, ma osserva la posizione  dello swing rispetto al prezzo di chiusura corrente. Se il prezzo è sopra il livello, allora lo consideriamo come supporto. Se il prezzo è inferiore al livello, lo consideriamo come resistenza. In questo modo, le linee sono automaticamente colorate a seconda che siano al di sopra o al di sotto del prezzo di chiusura corrente. Quando uno qualsiasi dei livelli è al di sotto del prezzo di chiusura, le linee sono colorate in verde. Al contrario, ogni volta che sono al di sopra della chiusura, sono colorati di rosso.

Indicatore di supporti e resistenze con Tradingview

				
					//@version=3
study("Support & Resistance", overlay=true)

left = 50
right = 25
quick_right = 5 // Usato per individuare lo swing significativo più recente

pivot_high = pivothigh(high,left,right)
pivot_lows = pivotlow(low, left,right)

quick_pivot_high = pivothigh(high,left,quick_right)
quick_pivot_lows = pivotlow(low, left,quick_right)

level1 = valuewhen(quick_pivot_high, high[quick_right], 0)
level2 = valuewhen(quick_pivot_lows, low[quick_right], 0)
level3 = valuewhen(pivot_high, high[right], 0)
level4 = valuewhen(pivot_lows, low[right], 0)
level5 = valuewhen(pivot_high, high[right], 1)
level6 = valuewhen(pivot_lows, low[right], 1)
level7 = valuewhen(pivot_high, high[right], 2)
level8 = valuewhen(pivot_lows, low[right], 2)

level1_col = close >= level1 ? green : red
level2_col = close >= level2 ? green : red
level3_col = close >= level3 ? green : red
level4_col = close >= level4 ? green : red
level5_col = close >= level5 ? green : red
level6_col = close >= level6 ? green : red
level7_col = close >= level7 ? green : red
level8_col = close >= level8 ? green : red

plot(level1, style=circles, color=level1_col, show_last=1, linewidth=1, trackprice=true)
plot(level2, style=circles, color=level2_col, show_last=1, linewidth=1, trackprice=true)
plot(level3, style=circles, color=level3_col, show_last=1, linewidth=1, trackprice=true)
plot(level4, style=circles, color=level4_col, show_last=1, linewidth=1, trackprice=true)
plot(level5, style=circles, color=level5_col, show_last=1, linewidth=1, trackprice=true)
plot(level6, style=circles, color=level6_col, show_last=1, linewidth=1, trackprice=true)
plot(level7, style=circles, color=level7_col, show_last=1, linewidth=1, trackprice=true)
plot(level8, style=circles, color=level8_col, show_last=1, linewidth=1, trackprice=true)
				
			

Commento al codice

Poiché i livelli significativi sono rilevati usando i pivot con un numero elevato di barre a sinistra e a destra, possiamo avere un notevole ritardo nella ricezione dello swing significativo più recente. Prevediamo quindi una variabile quick_right per rilevare il primo e il secondo livello, in modo da ridurre il ritardo ed evidenziare un possibile livello di supporto dopo solo 5 barre rispetto alle solite 25. Naturalmente, questa velocità ha un costo in termini di precisione ed affidabilità. La colorazione della linea è definita tramite un semplice operatore condizionale ternario dove rilevare se il prezzo di chiusura corrente è al di sopra/al di sotto della linea. Quindi tracciamo solamente l’ultimo valore sul grafico e poi usiamo trackprice per tracciare la linea.

I grafici

Caricando l’indicatore,  otteniamo un grafico che assomiglia al seguente:

Tradingview supporti e resistenze - Grafico

Nota: I commenti sono stati inseriti sul grafico dopo aver aggiunto l’indicatore di supporto e resistenza! Nell’immagine possiamo vedere un paio di cose interessanti:

  1. Evidenziamo un’area di resistenza potenzialmente maggiore dato che due livelli sono vicini.
  2. quick_right ha identificato un recente swing di minimo che potrebbe essere la base per un futuro supporto .
  3. Catturiamo con successo il massimo più alto e il minimo più basso del periodo di trading sul grafico.

Naturalmente, questo indicatore non è perfetto. Nessun indicatore lo è! Se scorriamo indietro nel tempo, troviamo aree significative di supporto e resistenza che si sono verificate più di 3 pivot/swing fa. Inoltre, potrebbe segnalare alcune oscillazioni che non si rivelano così significative. Dobbiamo usare il nostro giudizio quando usiamo questo indicatore per decidere se affidarci o meno ai livelli che ci segnala!

Migliorare il codice

Una volta che abbiamo studiato il codice e capito funzionamento dell’indicatore, potremmo desiderare di migliorarlo. Prima di tutto possiamo aggiungere gli input per  le variabili leftright quick_right in modo da poter regolare l’indicatore  secondo le proprie necessità. Inoltre possiamo aggiungere più linee o forse  swing da altri timeframe. Possiamo prevedere molte altre modifiche. Il codice può fornire una buona base di partenza per future modifiche!

Codice completo

In questo articolo abbiamo descritto come costruire un semplice indicatore di supporti e resistenze 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

Scroll to Top