label sul grafico di Tradingview

Visualizzare le Label sul Grafico di Tradingview

Nella versione 4 di pine script, Tradingview ha aggiunto una funzionalità per disegnare linee e oggetti sul grafico. Questa piccola aggiunta fa una differenza  enorme nella qualità visiva degli script personalizzati. Per essere onesti, la versione 3 non era priva di ottime funzionalità grafiche e molte persone sono riuscite a creare grafici visivamente  accattivanti usando gli strumenti disponibili. Con la versione 4, sono state introdotte nuove funzionalità per poter visualizzare prezzi dinamici sui grafici o tracciare linee di trend nel futuro che ci permettono di creare grafici migliori. Quindi vediamo uno dei nuovi strumenti disponibili in pine script, la funzione per visualizzare una label nel grafico di Tradingview.

Scopo

Come sempre, cerchiamo di descrivere le funzionalità di pine-script nel modo più semplici possibile. Vediamo come usare le label per visualizzare i prezzi nel grafico. Questa  nuova funzionalità aiuta i trader a evidenziare i livelli chiave che possono essere di interesse. Il seguente codice usa la  funzione label.new() per contrassegnare i punti pivot (swing highs/lows) e visualizzare il prezzo del livello di swing. I trader possono così monitorare i livelli di supporto/resistenza.

Visualizzare le Label sul Grafico di Tradingview

				
					//@version=4
study("Pivot Prices", overlay=true)

leftbars = input(10, minval=1, title='Bars to the left')
rightbars = input(2, minval=1, title='Bars to the right')

phigh = pivothigh(high, leftbars,rightbars)
plow = pivotlow(low, leftbars, rightbars)

if phigh
    label1 = label.new(bar_index[rightbars], high[rightbars], text=tostring(high[rightbars]), style=label.style_labeldown, color=color.orange)

if plow
    label2 = label.new(bar_index[rightbars], low[rightbars], text=tostring(low[rightbars]), style=label.style_labelup, color=color.green)
				
			

Commento

Prima di approfondire le label, descriviamo come rileviamo uno swing perchè, senza di esso, non avremmo uno script con cui lavorare. Fortunatamente, rilevare gli swing è davvero facile grazie alle funzioni pivothigh e pivotlow integrate in Tradingview. Dobbiamo solamente specificare alle funzioni l’intervallo di candele  dove cercare un potenziale swing da analizzare. A tale scopo usiamo le variabili leftbars e rightbars

Per capire il loro funzionamento, immaginiamo di analizzare le ultime 7 candele dove leftbars= 5 e rightbars= 2. Con questi parametri il codice analizza la candela corrsipondente a 2 barre  precedenti (rightbars) per verificare se abbiamo un punto swing/pivot. Per essere un punto pivot deve essere il valore più alto o il più basso tra la candela corrente e quella  in analisi. Successivamente, analizziamo le 5 barre precedenti alla candela che stiamo analizzando (leftbars). Anche in questo caso controlliamo che la candela è il valore più alto o il più basso rispetto a tutte e 5 le candele precedenti. In caso positivo abbiamo un  pivot.

Dato che siamo alla ricerca di uno swing nelle x candele precedenti (dato che usiamo rightbars), non possiamo rilevare uno swing fino a quando non si è verificato. In altre parole, l’indicatore sarà in ritardo rispetto al numero di barre impostate nel parametro rightbars.

La funzione Label

Tradingview ha una serie di nuove opzioni per la visualizzazione che, a prima vista, possono sembrare un po’  complicate. Vedere una  lunga lista di funzioni come label.new(), label.set_style()label.delete() insieme a parametri molto simili come x vs xloc e y vs yloc potrebbe presuppore che ci sia molto da studiare. Tuttavia, visualizzare una semplice label è più facile di quanto si possa pensare. È per questo motivo che abbiamo cercato di implementare un codice il più minimale possibile.

La funzione label.new() crea una nuova label ogni volta che viene richiamata. Dato che gli script sono rieseguiti ad ogni barra, è possibile visualizzare una label su ogni barra fino a raggiungere il limite. Per questo motivo inseriamo la chiamata a label.new() dietro un’istruzione if. Di seguito il codice che visualizza una label ad ogni barra:

				
					//@version=4
study("My Script", overlay=true)

label.new(bar_index, high, text='A', style=label.style_triangledown)
				
			
Tradingview-Grafico-Label

I parametri

Nella nuova funzione per visualizzare label sul grafico di Tradingview possiamo specificare diversi  parametri. Vediamo i principali parametri che abbiamo usato nel codice.

  • x: la coordinata  lungo l’asse x dove vogliamo visualizzare la label. La differenza con il parametro xloc (che non usiamo in questo esempio) è che x prevede un valore di tipo series (come bar_index) mentre xloc prevede un valore stringa, che è un singolo valore. Per approndire si può leggere l’articolo relativo alle variabili series e l’indicizzazione.
  • y: la coordinata  lungo l’asse y dove vogliamo visualizzare la label. Nel nostro esempio, forniamo due variabili series (highlow) in modo da poter posizionare le  label nei punti  di swing high e swing low
  • text: è il testo che vogliamo visualizzare. Deve essere una stringa ma fortunatamente non deve essere una stringa costante come nella  versione 3 di plotshape(). Una stringa costante è una stringa che non cambia mai. I valori dei prezzi cambiano ogni barra e quindi nella version 3 non  possiamo visualizzare un valore da una serie di prezzi 3. Al contrario, nella versione 4, possiamo usarla la  funzione to_string() e convertire i prezzi lowhigh in una stringa.

Infine, come è possibile notare, per gli argomenti xy indicizziamo la serie con il valore rightbars. In questo modo le label indicano correttamente lo swing. Tuttavia, come accennato in precedenza, appariranno solo un paio di battute dopo che lo swing è avvenuto!

I grafici

Infine, prima di concludere, vediamo come appare l’indicatore quando lo posizioniamo sui grafici.

label sul grafico di Tradingview

Codice completo

In questo articolo abbiamo descritto come visualizzare le label sul grafico di Tradingview. Per il codice completo riportato in questo articolo, si può consultare il seguente repository di github:
https://github.com/datatrading-info/TradingView

Gli altri articoli di questa serie

Benvenuto su DataTrading!

Sono Gianluca, ingegnere software e data scientist. Sono appassionato di coding, finanza e trading. Leggi la mia storia.

Ho creato DataTrading per aiutare le altre persone ad utilizzare nuovi approcci e nuovi strumenti, ed applicarli correttamente al mondo del trading.

DataTrading vuole essere un punto di ritrovo per scambiare esperienze, opinioni ed idee.

SCRIVIMI SU TELEGRAM

Per informazioni, suggerimenti, collaborazioni...

Scroll to Top