Indicizzare i dati e le variabili con Tradingview

Indicizzare i dati e le variabili con Tradingview

In questo articolo descriviamo come indicizzare i dati e le variabili con Tradingview per il trading algoritmico, cioè come pine-script indicizza i valori all’interno di strutture dati, quindi è articolo un po’ complesso da capire per i neofiti della programmazione.

In Pine-script, ci sono alcune nozioni di base che dobbiamo comprendere affinché le nostre capacità  di programmazione crescano e si consolidano. In effetti, alcune di queste nozioni di base sono così fondamentali che, anche se non abbiamo intenzione di scrivere strategie complete, conoscere queste nozioni  è utile per leggere o modificare molte delle strategie e indicatori open source già disponibili nella  community di Tradingview. Questo articolo non può coprire tutti i concetti fondamenti di pine-script  (sarebbe troppo lungo) ma possiamo iniziare a descriverli. In DataTrading.info sono disponibili altri articoli per approfondire le funzionalità di Tradingview.

Indicizzare i dati e le variabili con Tradingview

In poche parole, l’indicizzazione è un modo per fare riferimento/leggere un valore memorizzato in una specifica posizione all’interno di una struttura dati, ad esempio una lista. L’indicizzazione è particolarmente utile quando non conosciamo gli elementi all’interno di una lista e quindi facciamo riferimento agli elementi tramite un numero.

Per comprendere meglio questo concetto, facciamo un esempio nella vita reale. Immaginiamo di avere una lista della spesa, come la seguente:

Tradingview - lista della spesa

Se ci chiediamo “qual è il terzo elemento della lista?” e rispondiamo “Spaghetti”, stiamo facendo una indicizzazione! Abbiamo specificato un numero che rappresenta una posizione nell’elenco e abbiamo trovato l’oggetto che si trova in quella posizione della lista.

Indicizzazione in Pine-Script

In pine-script, ogni “variabile” è in realtà una lunga lista di valori memorizzati. Dopo la visualizzazione di ogni nuova barra, l’intero script  è nuovamente eseguito e si aggiunge nuovo valore a ciascuna lista dei prezzi. In altre parole, le variabili “interne” open,  high, low e close sono in realtà liste molto lunghe di valori (prezzi).

Se nel codice facciamo riferimento alla variabile close, pine-script restituisce il valore più recente all’interno della lista dei prezzi di chiusura. Quindi, come accediamo ad altri elementi della lista? Tramite l’indicizzazione. Per indicizzare la lista, aggiungiamo le parentesi quadre [] alla fine del nome della lista e specifichiamo un numero , ad esempio close[2]. Ogni numero rappresenta una diversa posizione nella lista a partire da zero. Zero è il valore corrente, quindi le due istruzioni close e close[0] restituiscono lo stesso valore.

Per capire come i numeri di indice si riferiscono a valori  diversi in momenti diversi,  vediamo la seguente immagine:

Tradingview - grafico indici

Il grafico di prezzi immaginari mostra il prezzo di chiusura sul timeframe orario. Sotto il grafico, abbiamo posizioni dell’indice che puntano alla lista dei prezzi di chiusura orari. Notiamo che 0 è il valore più recente ed 11 è il valore più vecchio sul grafico.

Se scriviamo close[5] in uno script contenente i dati del grafico immaginario e lo eseguiamo sulla barra “NOW “, otteniamo il valore $10.

È importante sottolineare che lo script è eseguito quando arriva ogni nuova barra OHLC e aumenta la dimensione della lista. Poiché l’indice inizia sempre dalla barra più recente, close[5] restituirà un valore diverso dopo l’acquisizione di ogni nuova barra. Se eseguiamo di nuovo lo script alle 13:00 (che non è ancora nel grafico),  close[5] restituisce $ 30, perchè questo valore è ora il quinto valore più recente.

Codice di Pine-script

Per capire come indicizzare i dati in Pine-script di Tradingview, apriamo l’editor di pine-script. Se non sai come fare, puoi leggere l’articolo il primo Script con Tradingview  per screenshot e istruzioni dettagliate.

E’ sufficiente incollare il  seguente codice nell’editor, modifichiamo i numeri di indice e aggiungiamolo al grafico.

				
					//@version=3
study("Index Playground")
 
plot(close, color=blue, linewidth=2)
plot(close[5], color=orange, linewidth=2)
				
			

La seguente immagine mostra un grafico con due esempi. Nella prima sottotrama usiamo le impostazioni del precedente codice precedente, mentre nella seconda usiamo un indice di 50.

Tradingview - grafico codice

Notiamo che all’aumentare dell’indice le due linee seguono lo stesso percorso, la differenza è che la linea arancione è 5 o 50 barre  in ritardo rispetto la linea blu.  Questo da un’idea di come lo script è eseguito e la lista dei prezzi close è aggiornata ad ogni nuova barra. Possiamo vedere che ad ogni esecuzione dello script, la funzione plot() per la linea arancione  considera il valore della lista dei prezzi di chiusura di 5 o 50 barre precedenti e lo traccia “now”.

Codice completo

In questo articolo abbiamo descritto come indicizzare i dati e le variabili 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