calcolare la variazione percentuale con Tradingview

Calcolare la Variazione Percentuale con Tradingview

In questo articolo descriviamo come calcolare la variazione percentuale con Tradingview tramite pinescript per il trading algoritmico. In particolare vediamo un frammento di codice che può essere copiato e incollato nelle strategie e indicatori per calcolare facilmente alcuni interessanti livelli di variazione percentuale all’interno di un determinato periodo di ricerca. In altre parole, non esaminiamo solo la variazione dei prezzi tra l’inizio e la fine del periodo, ma esaminiamo anche alcuni livelli che possono fornire indicazioni utili sull’andamento dei prezzi tra l’inizio e la fine.

Questo articolo descrive funzionalità avanzate di tradingview quindi può essere di difficile compressione per i neofiti. Detto questo, il codice presentato in questo articolo può essere comunque riutilizzato facilmente dai neofiti senza dover  comprendere i meccanismi interni. Per coloro che vogliono approfondire, il codice in questo articolo si basa sui seguenti concetti:

L’idea

Conoscere la variazione del prezzo da un determinato punto prima di un evento o di un trigger può aiutare ad aggiungere un ulteriore livello di conferma o filtrare configurazioni indesiderate. Ad esempio, in una strategia di ritorno verso la media,  possiamo considerare una  configurazione long solo se il prezzo è già sceso del 5%. In questo scenario, possiamo controllare le ultime 10 barre per verificare se il prezzo è sceso al livello desiderato.  In questo caso esaminiamo solo la differenza tra l’inizio e la fine dell’intervallo.

Questo è generalmente sufficiente perché nella maggior parte dei casi siamo interessati solamente alla variazione nel periodo. Tuttavia, possono esserci altre informazioni utili che possiamo ricavare dal movimento dei prezzi durante le ultime 10 barre. Ad esempio, supponiamo che stiamo cercando un aumento dell’8% nelle ultime 10 barre, il prezzo potrebbe essere aumentato costantemente dall’inizio alla fine dell’intervallo oppure il prezzo potrebbe essere sceso del 5% nelle prime 5 barre per poi salire del 13% durante le ultime 5.

Il codice descritto in questo articolo tenta di fare un primo passo per affrontare questo problema. Oltre a fornire la variazione complessiva tra l’inizio e la fine dell’intervallo, la funzione restituisce anche:

  • La variazione percentuale dall’inizio dell’intervallo al  prezzo più alto dell’intervallo
  • La variazione percentuale dall’inizio dell’intervallo al  prezzo più basso dell’intervallo

Con queste 3 informazioni possiamo analizzare il movimento del prezzo tra l’inizio e la fine del periodo di ricerca.

Calcolare la variazione percentuale con Tradingview

Di seguito vediamo il codice per calcolare la variazione percentuale con Tradingview tramite Pinescript

				
					//@version=3
study("Percentage Change Function", overlay=false)
 
inp_lkb = input(5, title='Lookback Period')
 
perc_change(lkb) =>
    overall_change = ((close[0] - open[lkb]) / open[lkb]) * 100
    highest_high = na
    lowest_low = na
    for i = lkb to 0
        highest_high := i == lkb ? high : high[i] > high[(i + 1)] ? high[i] : highest_high[1]
        lowest_low := i == lkb ? low : low[i] < low[(i + 1)] ? low[i] : lowest_low[1]
    
    start_to_high = ((highest_high - open[lkb]) / open[lkb]) * 100
    start_to_low = ((lowest_low - open[lkb]) / open[lkb]) * 100
    
    [overall_change, start_to_high, start_to_low]
    
// Chiamata alla funzione    
[overall, to_high, to_low] = perc_change(inp_lkb)
 
plot(overall, color=black, title='Overall Percentage Change', linewidth=3)
plot(to_high, color=green,title='Percentage Change from Start to High', linewidth=2)
plot(to_low, color=red, title='Percentage Change from Start to Low', linewidth=2)
hline(0, title='Center Line', color=orange, linestyle=solid, linewidth=2)
				
			

Commento

Per comprendere i concetti fondamentali usati nel codice, possiamo consultare gli articoli riportati in precedenza.

La maggior parte della logica è implementa un’unica funzione in modo che possa essere facilmente trasferita in altri script. La funzione restituisce i 3 valori previsti. Quando richiamiamo la funzione, dobbiamo inserire le  variabili in una lista [overall, to_high, to_low] in modo da assegnare i valori restituiti rispettivamente a ciascuna variabile contenuta nell’elenco.

Relativamente alla stessa funzione, calcoliamo la variazione complessiva prima di analizzare l’intervallo per identificare il massimo e il minimo all’interno dell’intervallo. Dopo aver ottenenuto questi due valori, possiamo calcolare i massimi movimenti rialzisti e ribassisti all’interno del range.

Infine, vale la pena sottolineare che questa funzione calcola la differenza dal prezzo open all’inizio dell’intervallo. In altre parole, calcoliamo dal prezzo open all’inizio dell’intervallo fino al prezzo close alla fine dell’intervallo. E’ possibile modificare il codice in modo da calcolare le variazioni da closeclose

Il Grafico

Sebbene lo script è progettato per essere usato come frammento da inserire in strategie e indicatori più complessi, non sembra male come indicatore autonomo!

Tradingview - grafico

E quindi vediamo come le variazioni sono tracciati insieme al grafico dei prezzi.

calcolare la variazione percentuale con Tradingview

Codice completo

In questo articolo descriviamo come calcolare la variazione percentuale con Tradingview tramite pinescript 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