In questo articolo descriviamo il codice pine-script per implementare un indicatore del massimo/minimo di 52 settimane con Tradingview da usare per i titoli azionari per il trading algoritmico.
L’indicatore traccia in modo discreto sul grafico gli attuali valori massimi e minimi delle ultime 52 settimane. Al momento della stesura di questo articolo, non erano disponibili molti indicatori di questo tipo nell’archivio pubblico di Tradingview. In effetti, era solo un altro indicatore che tracciava sia il massimo che il minimo delle ultimi 52 settimane.
Quindi può essere utile descrivere come implementare questo tipo di indicatore. Dopotutto, ci sono molti trader che osservano la relazione delle azioni con i loro valori massimi e minimi delle ultime 52 settimane. L’obiettivo di questo articolo è creare un indicatore semplice e discreto che può essere utilizzato in qualsiasi timeframe per visualizzare i valori massimo/minimo delle ultime 52 settimane.
Indicatore del massimo/minimo di 52 settimane
Di seguito riportiamo il codice pine-script che implementa questo indicatore
//@version=3
study("52 Week High/Low",shorttitle="52W",overlay=true)
high_low_close = input(defval="Highs/Lows", title="Base 52 week values on candle:", options=["Highs/Lows", "Close"] )
weekly_hh = security(tickerid,"W", highest(high,52), lookahead=barmerge.lookahead_on)
weekly_ll = security(tickerid,"W", lowest(low,52), lookahead=barmerge.lookahead_on)
weekly_hc = security(tickerid,"W", highest(close,52), lookahead=barmerge.lookahead_on)
weekly_lc = security(tickerid,"W", lowest(close,52), lookahead=barmerge.lookahead_on)
high_plot = high_low_close == "Highs/Lows" ? weekly_hh : weekly_hc
low_plot = high_low_close == "Highs/Lows" ? weekly_ll : weekly_lc
plot(high_plot, title='52 Week High', trackprice=true, color=orange, offset=-9999)
plot(low_plot, title='52 Week Low', trackprice=true, color=orange, offset=-9999)
Indicatore sul grafico
Quando applichiamo il codice ad un grafico possiamo vedere quanto mostrato nella seguente immagine.
Commento
Come accennato nell’introduzione, il codice ha le seguenti caratteristiche:- Funziona in qualsiasi timeframe.
- Discreto: semplici linee orizzontali che mostrano solo i valori attuali delle ultime 52 settimane.
- Consente all’utente di scegliere se calcolare i valori delle 52 settimane dai valori di chiusura delle candele o dai rispettivi massimi/minimi.
Lavorare su qualsiasi timeframe
Poiché Pine-Script è un linguaggio di scripting basato sulle serie, dobbiamo fare attenzione quando indicizziamo i valori. Ad esempio, se stiamo visualizzando i dati giornalieri, il codice importa i dati di chiusura settimanali comeweekly_close
quindi il valore weekly_close[52]
non fa riferimento alla chiusura di 52 settimane fa. Fa riferimento alla chiusura settimanale di 52 giorni fa, ovvero solamente circa 7 settimane fa. Questo è un problema presente, ad esempio, nel seguente indicatore di massimo/minimo per 52 settimane disponibile al seguente archivio:
Sorgente del codice: https://www.tradingview.com/u/Shizaru/
//@version=2
study("JD 52 weeks HighLow",shorttitle="52wHL_SH",overlay=true)
tf = input("W",type=resolution)
a = security(tickerid,tf,close)
len = input(52,title="Length")
h = highest(a,len)
l = lowest(a,len)
p1 = plot(h)
p2= plot(l)
fill(p1,p2)
Se si tracciano i due indicatori sullo stesso grafico per un timeframe inferiore, la differenza diventa più chiara:
La soluzione a questo problema è spostare le chiamate highest()
e lowest()
all’interno della chiamata al metodo symbol()
. In questo modo lo script estrae i corretti dati delle ultime 52 settimane per ciascuna barra nel lo specifico giorno relativo alle barre.
Offset delle linee
Se usiamo i parametri trackprice=true
e offset=-9999
all’interno della chiamata plot()
possiamo tracciare una linea tratteggiata orizzontale nella parte superiore dello schermo. Questa configurazione dipendere dalle scelte personali, ma crediamo sia meno ingombrante rispetto al monitoraggio di tutti i livelli storici.
Il resto del codice è abbastanza semplice. In caso contrario o non si conosce pine-script consigliamo di leggere gli articoli precedenti per Tradingview che possono fornire ulteriori indicazioni e aiuto.
Codice completo
In questo articolo abbiamo descritto come implementare un indicatore del massimo/minimo di 52 settimane 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