introduzione

Senza i giusti strumenti di trading, non è possibile condurre un’analisi tecnica efficace. Una forte strategia di trading ti aiuterà a evitare errori comuni, a migliorare la gestione del rischio e ad aumentare la tua capacità di identificare e sfruttare le opportunità.

Per molti, TradingView è la piattaforma grafica di riferimento. Offrendo un hub di strumenti di analisi tecnica, la potente applicazione web HTML5 viene utilizzata da milioni di persone per tenere traccia dei movimenti nel Forex, nelle criptovalute e nei mercati azionari tradizionali.

TradingView ha molte funzionalità potenti: ci consente di tracciare gli asset su numerose piattaforme di trading e di pubblicare idee di trading all'interno del suo social network. In questo articolo ci concentreremo sulla sua personalizzazione. Utilizzeremo Pine Script, il linguaggio di programmazione di TradingView, che ci garantisce un controllo granulare sui layout dei nostri grafici.

Iniziamo!


Cos'è PineScript?

Pine Script è un linguaggio di scripting che può essere utilizzato per modificare i tuoi grafici TradingView. La piattaforma ti fornisce già molte funzionalità per farlo, ma Pine Script ti consente di fare un ulteriore passo avanti. Sia che tu voglia cambiare i colori delle tue candele o testare una nuova strategia, Pine Editor ti consentirà di personalizzare i tuoi grafici in tempo reale come ritieni opportuno.

Il codice stesso è ottimamente documentato, quindi assicurati di controllare il manuale dell'utente per ulteriori informazioni. Il nostro obiettivo in questo tutorial è discutere alcune nozioni di base e introdurre indicatori che possono tornare utili per il trading di criptovalute.


Impostare

È incredibilmente semplice iniziare con Pine Script. Qualsiasi codice che scriviamo viene eseguito sui server di TradingView, quindi possiamo accedere all'editor e sviluppare i nostri script da un browser, senza alcun download o configurazione aggiuntiva richiesta.

In questo tutorial, tracceremo il grafico della coppia di valute Bitcoin/Binance USD (BTCBUSD). Se non ne hai già uno, vai avanti e crea un account gratuito (è disponibile anche un abbonamento Pro, ma non è necessario per questa guida).

Segui questo collegamento e vedrai un grafico simile al seguente:


BTCBUSD Chart on tradingview

Il tuo probabilmente sarà più aggiornato.


Qui, vogliamo ottenere il grafico completo: fai clic sul pulsante per accedervi. Questo ci offre una vista molto più dettagliata, strumenti di disegno e opzioni per tracciare le linee di tendenza, tra le altre cose.


Full featured chart on tradingview for BTCBUSD

Il grafico completo. Puoi modificare l'intervallo di tempo facendo clic sulle visualizzazioni sopra le schede evidenziate.


Non discuteremo di come utilizzare i vari strumenti disponibili, ma se prendi sul serio l’analisi tecnica, ti consigliamo vivamente di familiarizzare con loro. In basso a sinistra (delineato nell'immagine), vedrai alcune schede diverse: fai clic su Pine Editor.


L'editore del pino


screenshot of the pine editor


Questo editor è il luogo in cui avviene la magia. Gli diremo cosa vogliamo fare, quindi faremo clic su Aggiungi al grafico per vedere le nostre annotazioni apparire sopra. Tieni presente che le cose possono complicarsi se includiamo più annotazioni contemporaneamente, quindi le rimuoveremo tra gli esempi (fai clic con il pulsante destro del mouse nel grafico > Rimuovi indicatori).

Puoi vedere che abbiamo già un paio di righe di codice lì. Facciamo clic su Aggiungi al grafico per vedere cosa succede.


Adding first script to tradingview chart


Un secondo grafico viene aggiunto sotto l'originale. Il nuovo grafico sembra rappresentare gli stessi dati. Passa il mouse sopra My Script e fai clic sulla croce per rimuoverlo. Ora analizziamo il codice.

studio("Il mio copione")

Questa prima riga sta solo impostando la nostra annotazione. Richiede solo il nome con cui vuoi chiamare l'indicatore ("My Script", in questo caso), ma ci sono anche alcuni parametri opzionali che possiamo aggiungere. Uno di questi è l'overlay, che dice a TradingView di posizionare l'indicatore sul grafico esistente (invece che in un nuovo segmento). Come puoi vedere dal nostro primo esempio, il valore predefinito è false. Anche se non lo vedremo in azione ora, overlay=true aggiunge l'indicatore al grafico esistente.

trama (chiudi)

Questa linea è l'istruzione per tracciare il prezzo di chiusura del Bitcoin. plot ci fornisce semplicemente un grafico a linee, ma possiamo anche visualizzare candelieri e barre, come vedremo tra poco.

Ora, proviamo quanto segue:

//@versione=4
study("Il mio script", overlay=true)
trama(aperto, colore=colore.viola)

Una volta aggiunto questo, dovresti vedere un secondo grafico (che assomiglia all'originale spostato a destra). Tutto quello che abbiamo fatto è stato invece tracciare il prezzo di apertura, e poiché l’apertura del giorno corrente è la chiusura del giorno precedente, è logico che questi abbiano una forma identica.

Va bene! Eliminiamo le annotazioni correnti (ricorda, lo facciamo facendo clic con il pulsante destro del mouse e premendo Rimuovi indicatori). Passa il mouse su Bitcoin/BUSD e fai clic sul pulsante Nascondi per cancellare anche il grafico corrente.

Molti trader preferiscono i grafici a candele poiché ci forniscono più informazioni rispetto a un semplice grafico come quello appena realizzato. Aggiungiamoli successivamente.

//@versione=4
study("Il mio script", overlay=true)
plotcandle(aperto, alto, basso, chiuso)

È un buon inizio, ma la mancanza di colori lo rende un po’ insipido. Idealmente, dovremmo avere candele rosse quando l'apertura è maggiore della chiusura in un dato intervallo di tempo, e candele verdi se la chiusura supera l'apertura. Aggiungeremo una riga sopra la funzione plotcandle():

//@versione=4
study("Il mio script", overlay=true)
colori = aperto >= chiuso ? colore.rosso: colore.verde
plotcandle(aperto, alto, basso, chiuso)

Questo esamina ogni candela e controlla se l'apertura è maggiore o uguale alla chiusura. Se lo è, significa che i prezzi sono scesi nel corso del periodo, quindi colorerà la candela di rosso. Altrimenti lo colorerà di verde. Modifica la funzione plotcandle() per passare questa combinazione di colori in:

//@versione=4
study("Il mio script", overlay=true)
colori = aperto >= chiuso ? colore.rosso: colore.verde
plotcandle(aperto, alto, basso, chiuso, colore=colori)

Rimuovi gli indicatori attuali se non l'hai già fatto e aggiungi questo al grafico. Ora dovremmo avere qualcosa che assomigli ad un normale grafico a candele.


Candlestick chart on tradingview

Bellissimo!


Tracciamento delle medie mobili (MA)

Abbiamo chiarito alcune nozioni di base. Passiamo al nostro primo indicatore personalizzato: la media mobile esponenziale, o EMA. Questo è uno strumento prezioso in quanto ci consente di filtrare qualsiasi rumore di mercato e attenuare l’azione dei prezzi.

L'EMA differisce leggermente dalla media mobile semplice (SMA), in quanto attribuisce maggiore peso ai dati più recenti. Tende ad essere più reattivo ai movimenti improvvisi e viene spesso utilizzato per operazioni a breve termine (ad esempio nel day trading).


La media mobile semplice (SMA)

Potremmo anche tracciare la SMA, solo così possiamo confrontare i due dopo. Aggiungi questa riga al tuo script:

trama(sma(chiudi, 10))

Questo traccia la media dei dieci giorni precedenti. Modifica il numero tra parentesi per vedere come cambia la curva quando prendi in considerazione lunghezze diverse.


Simple moving average based on previous 10 days

La SMA, basata sui dieci giorni precedenti.


La media mobile esponenziale (EMA)

L’EMA sarà un po’ più complicato da capire, ma non c’è da preoccuparsi. Analizziamo prima la formula:

EMA = (Chiusura - EMA del giorno precedente) * Moltiplicatore - EMA del giorno precedente

Allora, cosa ci dice questo? Bene, per ogni giorno calcoliamo una nuova media mobile basata su quella del giorno precedente. Il moltiplicatore è ciò che “pesa” il periodo più recente, e si calcola con la seguente formula:

Moltiplicatore = 2 / (Lunghezza dell'EMA + 1)

Come per le medie mobili semplici, dobbiamo specificare quanto durerà l'EMA. Dal punto di vista sintattico, la funzione per tracciare l'EMA è simile a quella della SMA. Traccialo insieme alla SMA in modo da poter confrontare i due:

//@versione=4
study("Il mio script", overlay=true)
trama(sma(chiudi, 10))
trama(ema(chiudi,10))


EMA and SMA on one tradingview chart

Puoi vedere una leggera differenza tra i due tipi di MA.


➠ Vuoi iniziare con la criptovaluta? Acquista Bitcoin su Binance!


Script incorporati

Finora abbiamo scritto il nostro codice manualmente in modo che tu possa farti un’idea. Ma introduciamo qualcosa che può farci risparmiare tempo, soprattutto se stiamo scrivendo script più complessi e non vogliamo farli da zero.

Nella parte in alto a destra dell'editor, fai clic su Nuovo. Otterrai un menu a discesa con tutti i tipi di indicatori tecnici diversi. Fare clic su Media mobile esponenziale per visualizzare il codice sorgente di un indicatore EMA.



Moving average exponential in pine script

Vai avanti e aggiungilo al grafico.


Questo è diverso dal nostro: noterai le funzioni input(). Questi sono utili dal punto di vista dell'usabilità poiché puoi fare clic su questa casella...


Modifying a chart on tradingview interface


...e modifica facilmente alcuni valori in una finestra pop-up facendo clic sulla rotella Impostazioni.


changing inputs on EMA


Aggiungeremo un paio di funzioni input() nel nostro prossimo script per dimostrarlo.


Tracciare l'indicatore Relative Strength Index (RSI).

Il Relative Strength Index (RSI) è un altro indicatore essenziale nell’analisi tecnica. È noto come indicatore di momentum, nel senso che misura la velocità con cui gli asset vengono acquistati e venduti. Presentato su una scala da 0 a 100, un punteggio RSI tenta di informare gli investitori se gli asset sono ipercomprati o ipervenduti. In genere, un asset può essere considerato ipervenduto se ha un punteggio inferiore o uguale a 30, mentre potrebbe essere ipercomprato con un punteggio maggiore o uguale a 70.

Se vai su Nuovo > Strategia RSI, puoi vederlo tu stesso. L'RSI viene generalmente misurato su periodi di 14 (ovvero 14 ore o 14 giorni), ma sei libero di modificare tale impostazione per adattarla alla tua strategia.

Aggiungi questo al grafico. Dovresti vedere alcune frecce visualizzate ora (definite dalla funzione strategic.entry() nel codice). RsiLE indica una potenziale opportunità di allungare l'asset in quanto potrebbe essere ipervenduto. RsiSE evidenzia i possibili punti in cui vendere l'asset quando è ipercomprato. Tieni presente che, come per tutti gli indicatori, non dovresti necessariamente fare affidamento su questi come prova infallibile del fatto che i prezzi diminuiranno/aumenteranno.


Backtesting

Esiste un modo per testare i nostri indicatori personalizzati. Sebbene le prestazioni passate non siano garanzia di risultati futuri, il backtest dei nostri script può darci un’idea di quanto siano efficaci nel captare i segnali.

Di seguito forniremo un esempio di un semplice script. Creeremo una strategia semplice che entra in una posizione long quando il prezzo di BTC scende al di sotto di 11.000 $ ed esce dalla posizione quando il prezzo supera 11.300 $. Possiamo quindi vedere quanto questa strategia sarebbe stata storicamente redditizia.

//@versione=4
strategia("ToDaMoon", overlay=true)
invio = input(11000)
uscita = input(11300)
prezzo = vicino

if (prezzo <= inserisci)
strategia.entry("BuyTheDip", strategia.long, comment="BuyTheDip")
if (prezzo >= uscita)
strategia.close_all(comment="SellTheNews")

Qui abbiamo definito l'entrata e l'uscita come variabili: entrambi sono input, il che significa che possiamo modificarli sul grafico in seguito. Impostiamo anche la variabile del prezzo, che prende la chiusura per ciascun periodo. Quindi, abbiamo una logica sotto forma di istruzioni if. Se la parte tra parentesi è vera, verrà eseguito il blocco rientrato sottostante. In caso contrario, verrà saltato.

Pertanto, se il prezzo è inferiore o uguale all’ingresso desiderato, la prima espressione verrà valutata come vera e apriremo una posizione long. Una volta che il prezzo sarà pari o superiore all'uscita desiderata, verrà attivato il secondo blocco, chiudendo tutte le posizioni aperte.

Annoteremo il grafico con frecce che mostrano dove siamo entrati/usciti, quindi abbiamo specificato cosa etichettare questi punti con il parametro commento (in questo esempio, "BuyTheDip" e "SellTheNews"). Copia il codice e aggiungilo al grafico.


indicator active on tradingview chart

Ora puoi vedere gli indicatori sul grafico. Potrebbe essere necessario rimpicciolire.


TradingView applica automaticamente le tue regole ai dati più vecchi. Noterai anche che passa dall'editor Pine alla scheda Strategy Tester. Ciò ti consente di vedere una panoramica dei tuoi potenziali profitti, un elenco di operazioni e ciascuna delle loro prestazioni individuali.


Trading view strategy tester

Posizioni in cui siamo entrati e usciti.


Legarlo insieme

È ora di scrivere la nostra sceneggiatura utilizzando alcuni dei concetti che abbiamo visto finora. Combineremo EMA e RSI e utilizzeremo i loro valori per colorare le candele, ottenendo intuizioni che possiamo facilmente visualizzare.

Ciò non deve essere interpretato come una consulenza finanziaria: non esiste un modo oggettivamente corretto per utilizzare questo indicatore. Come tutti gli altri, dovrebbe essere utilizzato con altri strumenti per sviluppare la propria strategia.

Ora lavoriamo sul nostro nuovo script. Rimuovi tutti gli indicatori dal grafico e nascondi anche il grafico Bitcoin/BUSD, in modo da avere una tela pulita su cui lavorare.

Iniziamo definendo il nostro studio. Sentiti libero di chiamarlo come preferisci, assicurati solo di impostare overlay=true.

studio(titolo="Binance Academy Script", overlay=true)

Ricorda la nostra formula EMA di prima. Dobbiamo fornire al moltiplicatore la lunghezza dell'EMA. Rendiamolo un input che richiede un numero intero (quindi senza cifre decimali). Imposteremo anche un minimo che può essere (minval) e un valore predefinito (defval).

studio(titolo="Binance Academy Script", overlay=true)
emaLength = input(title="Lunghezza EMA", type=input.intero, defval=25, minval=0)


Usando questa nuova variabile, possiamo calcolare il valore EMA per ogni candela nel nostro grafico:

studio(titolo="Binance Academy Script", overlay=true)
emaLength = input(title="Lunghezza EMA", type=input.intero, defval=25, minval=0)
emaVal = ema(chiudi, emaLength)


Grande. Sull'RSI. Daremo una lunghezza in modo simile:

studio(titolo="Binance Academy Script", overlay=true)
emaLength = input(title="Lunghezza EMA", type=input.intero, defval=25, minval=0)
emaVal = ema(chiudi, emaLength)
rsiLength = input(title="Lunghezza RSI", type=input.integer, defval=25, minval=0)

E ora possiamo calcolarlo:

studio(titolo="Binance Academy Script", overlay=true)
emaLength = input(title="Lunghezza EMA", type=input.intero, defval=25, minval=0)
emaVal = ema(chiudi, emaLength)
rsiLength = input(title="Lunghezza RSI", type=input.integer, defval=25, minval=0)
rsiVal = rsi(chiudi, rsiLength)

A questo punto, mettiamo insieme la logica che colora le candele in base ai valori EMA e RSI. Prendiamo una situazione in cui (a) il prezzo di chiusura della candela supera l'EMA e (b) dove l'RSI è superiore a 50.

Perché? Bene, potresti decidere che questi indicatori possono essere utilizzati insieme per dirti quando andare long o short su Bitcoin. Ad esempio, potresti pensare che soddisfare entrambe queste condizioni significhi che è un buon momento per aprire una posizione long. O al contrario, potresti usarlo per informarti quando non vendere, anche se altri indicatori dicono il contrario.

Quindi, la nostra prossima riga sarà simile a questa:

studio(titolo="Binance Academy Script", overlay=true)
emaLength = input(title="Lunghezza EMA", type=input.intero, defval=25, minval=0)
emaVal = ema(chiudi, emaLength)
rsiLength = input(title="Lunghezza RSI", type=input.integer, defval=25, minval=0)
rsiVal = rsi(chiudi, rsiLength)
colori = chiudi > emaVal e rsiVal > 50 ? colore.verde: colore.rosso

Se lo traduciamo in parole povere, stiamo semplicemente dicendo che se il valore EMA supera il prezzo di chiusura e il punteggio RSI supera 50, coloreremo la candela verde. Altrimenti lo coloreremo di rosso.

Successivamente, traccia l'EMA:

studio(titolo="Binance Academy Script", overlay=true)
emaLength = input(title="Lunghezza EMA", type=input.intero, defval=25, minval=0)
emaVal = ema(chiudi, emaLength)
rsiLength = input(title="Lunghezza RSI", type=input.integer, defval=25, minval=0)
rsiVal = rsi(chiudi, rsiLength)
colori = chiudi > emaVal e rsiVal > 50 ? colore.verde: colore.rosso
trama(emaVal, "EMA")

Infine, traccia le candele, assicurandoti di includere il parametro del colore:

studio(titolo="Binance Academy Script", overlay=true)
emaLength = input(title="Lunghezza EMA", type=input.intero, defval=25, minval=0)
emaVal = ema(chiudi, emaLength)
rsiLength = input(title="Lunghezza RSI", type=input.integer, defval=25, minval=0)
rsiVal = rsi(chiudi, rsiLength)
colori = chiudi > emaVal e rsiVal > 50 ? colore.verde: colore.rosso
trama(emaVal, "EMA")
plotcandle(aperto, alto, basso, chiuso, colore=colori)

E questa è la sceneggiatura! Aggiungilo al grafico per vederlo in azione.


Tradingview script in action

Un grafico BTC/BUSD con l'indicatore EMA/RSI.


Pensieri conclusivi

In questo articolo, abbiamo esaminato alcuni esempi di base di cosa puoi fare con Pine Editor di TradingView. A questo punto, dovresti essere in grado di creare semplici annotazioni sui grafici dei prezzi per ottenere ulteriori informazioni dai tuoi indicatori.

Ci siamo interessati solo a un paio di indicatori qui, ma è facile crearne di più complessi, selezionando gli script integrati da Nuovo o scrivendoli tu stesso.

Ti manca l'ispirazione? I seguenti articoli potrebbero fornirti alcune idee per il tuo prossimo progetto:

  • Una breve guida all'indicatore SAR parabolico

  • Una guida per padroneggiare il ritracciamento di Fibonacci

  • Spiegazione degli indicatori anticipatori e ritardati

  • Spiegazione dell'indicatore MACD