Creare un Indicatore con Tradingview

Creare un Indicatore con Tradingview

Questo articolo fa anche parte della serie introduttiva su Tradingview. In questo tutorial, seguiremo passaggi simili a quelli descritti nell’articolo Tradingview: il primo Script, con la differenza che in questo caso vogliamo creare un indicatore con Tradingview, invece che una strategia.

Se non sai come aprire l’editor di pine-script, ti suggerisco di leggere l’articolo menzionato sopra. Ti guiderà attraverso l’apertura di un grafico e l’accesso all’editor.

L’indicatore

Prima di iniziare a sporcarci le mani, è opportuno descrivere la logica dell’indicatore che si vuole creare. In questo articolo si descrive come creare un indicatore RSI con un doppio intervallo di tempo. L’indicatore traccia i valori RSI relativi a 2 timeframe. La prima linea tracciata corrisponde al timeframe corrente del grafico, mentre la seconda è relativa ad un timeframe selezionato dall’utente. L’idea base consiste nel ritenere probabile un’inversione del trend (o almeno un ritorno verso la media) di uno strumento quando il prezzo è ipercomprato / ipervenduto contemporaneamente su due diversi timeframe. Questo indicatore è adatto in condizioni di mercato laterale.

Gli argomenti di base trattati in questo tutorial sono:

  • Comprensione della funzione di studio
  • Aggiunta degli ingressi dell’indicatore
  • Importazione dei dati relativi ad un diverso timeframe
  • Chiamata ad una funzione RSI
  • Mostrare graficamente le linee orizzontali e le linee RSI

Ok, vediamo in dettaglio l’implementazione di questo indicatore

Il Codice

Per creare un indicatore con Tradingview possiamo usare il seguente codice. A seguire si descrive in dettaglio la logica di ogni sezione di questo codice.

				
					//@version=3
study("Dual Strength RSI", "DS-RSI")

// Inputs
otf = input(defval="D", title="Second Momentum Timeframe", type=resolution)
otf_period = input(defval=14, title="Look Back Period (2nd Timeframe)", type=integer)
ctf_period = input(defval=14, title="Look Back Period (Chart Timeframe)", type=integer)
ob = input(defval=70, title="Overbought Area", type=integer)
os = input(defval=30, title="Oversold Area", type=integer)

// Get the data
otf_rsi = security(tickerid, otf, rsi(close, otf_period))

// Calculate RSI Values
ctf_rsi = rsi(close, ctf_period)

// Plot
hline(ob, title='Overbought Line', color=black, linestyle=dashed, linewidth=1)
hline(os, title='Oversold Line', color=black, linestyle=dashed, linewidth=1)
plot(otf_rsi, title='OTF RSI', color=blue, style=line, linewidth=3)
plot(ctf_rsi, title='CTF RSI', color=green, style=line, linewidth=3)
				
			

Commento al Codice

Iniziato dall’intestazione del codice con la funzione study().

				
					//@version=3
study("Dual Strength RSI", "DS-RSI")
				
			

La funzione study deve essere inclusa in ogni script. Tradingview classifica questo tipo di funzione come una “funzione di annotazione“. Come suggerisce il nome, queste funzioni annotano le informazioni che appaiono sul grafico. Ad esempio, assegnando un titolo all’indicatore presente nel grafico. Nell’esempio precedente si assegna all’indicatore un titolo completo e una notazione breve.

Inputs

				
					// Inputs
otf = input(defval="D", title="Second Momentum Timeframe", type=resolution)
otf_period = input(defval=14, title="Look Back Period (2nd Timeframe)", type=integer)
ctf_period = input(defval=14, title="Look Back Period (Chart Timeframe)", type=integer)
ob = input(defval=70, title="Overbought Area", type=integer)
os = input(defval=30, title="Oversold Area", type=integer)

				
			

A seguire si ha la sezione degli input. Gli input forniscono i parametri dell’indicatore che possono essere modificati dopo aver aggiunto l’indicatore al grafico. Offrono agli altri utenti la possibilità di modificare le impostazioni dell’indicatore nel caso non condividino le impostazioni di default. Inoltre, gli utenti possono salvare la propria configurazione per qualsiasi indicatore. Non c’è bisogno di codificare queste logiche perchè sono integrate nelle funzionalità stardand della piattaforma.

  • defval = valore predefinito per il parametro
  • title = Il testo che appare nella casella di input
  • type = il tipo di valore che deve essere inserito. Si noti che un parametro è di tipo “resolution“. Questa è una variabile speciale che fornisce l’elenco di tutti i timeframe supportati.

Di seguito si mostra un esempio della rappresentazione grafica di questi input.

Input-parametri-tradingview-trading-algoritmico

 

 Import di altri dati

				
					
// Get the data
otf_rsi = security(tickerid, otf, rsi(close, otf_period))
				
			
Vediamo ora l’importazione dei dati. Questa linea di codice usa una funzione chiamata security() per importare i dati all’interno dello script. I dati importati potrebbero provenire da un diverso timeframe dello stesso strumento, dallo stesso timeframe ma di uno strumento diverso oppure da un timeframe e uno strumento completamente diversi da quelli rappresentati nel grafico principale.
  • tickerid = È un’altra variabile speciale che si riferisce allo strumento nel grafico principale. Questo ci consente di ottenere facilmente un altro timeframe dello stesso strumento. Ancora più importante, dato che non si specifica il nome di uno strumento (ad esempio LON: VOD), questo indicatore può essere applicato a qualsiasi strumento senza bisogno di modificare il codice.
  • otf = È la variabile restituita dalla funzione di input che abbiamo aggiunto sopra.
  • rsi (close, otf_period) = Restituisce una serie RSI per il timeframe selezionato. In questo caso l’RSI è calcolato  a partire dai valori close di ogni barra di quel timeframe.
Plotting
				
					// Plot
hline(ob, title='Overbought Line', color=black, linestyle=dashed, linewidth=1)
hline(os, title='Oversold Line', color=black, linestyle=dashed, linewidth=1)
plot(otf_rsi, title='OTF RSI', color=blue, style=line, linewidth=3)
plot(ctf_rsi, title='CTF RSI', color=green, style=line, linewidth=3)
				
			
Infine si tracciano tutte le linee sul grafico. La funzione hline() traccia le linee orizzontali. La funzione plot() traccia i valori della serie RSI. Per concludere penso che gli argomenti delle keyword siano abbastanza autoesplicativi.

Risultati

Per vedere il risultato finale del nostro indicatore è sufficiente:
  1. Aprire Tradingview
  2. Scrivere il codice nell’editor di pine-script.
  3. Premere il pulsante “Aggiungi al grafico”
Creare un Indicatore con Tradingview
Questo è tutto quello che c’è da fare per creare un indicatore con pine-script di tradingview. Con questo codice di partenza prova a giocare con il setup dei dati importando diversi strumenti, prova un mix di indicatori, gioca con le funzioni di disegno e vedi se riesci a trovare qualche combinazione interessante.

Codice completo

In questo articolo abbiamo descritto creare un indicatore con Tradingview. 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