Introdurre
Senza i giusti strumenti di trading, non sarai in grado di eseguire analisi tecniche in modo efficace. Una solida strategia di trading ti aiuterà a evitare errori comuni, a migliorare l’efficacia della gestione del rischio e a migliorare la tua capacità di identificare e sfruttare le opportunità.
Per molte persone, TradingView è una piattaforma grafica completa. Con una gamma di strumenti di analisi tecnica, questa potente applicazione web HTML5 viene utilizzata da milioni di persone per tracciare i movimenti nel Forex, nelle criptovalute e nei mercati azionari tradizionali.
TradingView ha molte funzionalità utili: consente agli utenti di tenere traccia delle risorse su più piattaforme di trading e pubblicizzare idee di trading nel social network di TradingView. In questo articolo ci concentreremo sulle capacità di personalizzazione di questa piattaforma. Utilizzeremo Pine Script, il linguaggio di scripting di TradingView, che ci fornisce un controllo dettagliato sul layout del grafico.
Iniziamo!
Cos'è PineScript?
Pine Script è un linguaggio di scripting che può essere utilizzato per modificare i grafici su 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 il colore delle candele o testare una nuova strategia, Pine Editor ti consente di personalizzare i tuoi grafici in tempo reale come ritieni opportuno.
Il codice stesso è progettato in modo impeccabile, quindi assicurati di controllare il manuale per ulteriori informazioni. Il nostro obiettivo in questa guida è discutere alcune nozioni di base e introdurre indicatori che possono essere utili quando si fa trading di criptovalute.
Stabilire
Puoi iniziare facilmente con Pine Script. Ogni codice che scriviamo viene eseguito sui server di TradingView, quindi puoi accedere all'editor e sviluppare i tuoi script dal browser, senza download o configurazioni aggiuntive.
In questa guida, tracceremo la coppia di valute Bitcoin/Binance USD (BTCBUSD). Se non ne hai uno, crea un account gratuito (esiste anche un abbonamento Pro, ma non necessario per questo tutorial).
Clicca su questo link e vedrai un grafico come quello qui sotto:
Il tuo grafico potrebbe essere più recente del nostro.
Qui utilizzeremo il grafico completo: fai clic sul pulsante per accedere. Questo grafico ci fornisce informazioni molto più dettagliate, strumenti di disegno e opzioni per tracciare linee di tendenza, ecc.
Grafici completi. Puoi modificare l'intervallo di tempo facendo clic sulla vista sopra la scheda evidenziata.
Non discuteremo di come utilizzare gli strumenti disponibili, ma se vuoi fare un'analisi tecnica seria, dovresti conoscere questi strumenti. In basso a sinistra (mostrato nell'immagine) vedrai alcune schede diverse: fai clic su Pine Editor.
Editore Pino
Questo editor è davvero utile. Dichiareremo cosa vogliamo fare, quindi faremo clic su Aggiungi al grafico per vedere la nostra legenda apparire sopra. Tieni presente che le cose possono complicarsi se includiamo molte annotazioni contemporaneamente, quindi rimuoveremo le annotazioni negli esempi (fai clic con il pulsante destro del mouse sul grafico > Rimuovi indicatori).
Puoi vedere che abbiamo alcune righe di codice lì. Fare clic su Aggiungi al grafico per vedere cosa succede.
Un secondo grafico viene aggiunto sotto l'originale. Il nuovo grafico rappresenta gli stessi dati. Passa il mouse sopra My Script e fai clic sulla barra per eliminare. Ora ci immergeremo nel codice.
studio("Il mio copione")
Questa prima riga sta solo creando un commento. Questa riga ti chiede solo di dare all'indicatore il nome che desideri (in questo caso "My Script"), ma ha anche alcuni parametri (facoltativi) che puoi aggiungere. Uno di questi è un overlay, che dice a TradingView di posizionare l'indicatore sul grafico esistente (invece che in un nuovo segmento). Come puoi vedere nel primo esempio, l'impostazione predefinita del sistema è false. Anche se ora non vedremo l'overlay visibile, overlay=true aggiungerà l'indicatore al grafico esistente.
trama (chiudi)
Questa linea è un indicatore per tracciare il prezzo di chiusura di Bitcoin. plot ci fornisce semplicemente un grafico a linee, ma possiamo anche visualizzare grafici a candele e a barre, come vedrai tra poco.
Ora proviamo la seguente riga di codice:
//@version=4 study("My Script", overlay=true) plot(open, color=color.purple)
Dopo aver aggiunto questa riga di codice, vedrai un secondo grafico (che assomiglia al grafico originale spostato a destra). Invece, tutto ciò che abbiamo fatto è stato tracciare il prezzo di apertura e, poiché il prezzo di apertura del giorno corrente è quello di chiusura del giorno precedente, ciò significa che hanno una forma identica.
Bene! Eliminiamo le annotazioni esistenti (ricorda, lo facciamo facendo clic con il tasto destro e premendo Rimuovi indicatori). Passa il mouse su Bitcoin/BUSD e fai clic sul pulsante Nascondi per cancellare anche il grafico corrente.
A molti trader piacciono i grafici a candela perché forniscono più informazioni di un semplice grafico come quello che abbiamo appena realizzato. Successivamente, aggiungeremo la seguente riga di codice.
//@version=4 study("My Script", overlay=true) plotcandle(aperto, alto, basso, chiuso)
L'inizio è buono, ma la mancanza di colore rende il grafico un po' insipido. Idealmente, dovremmo utilizzare candele rosse quando il prezzo di apertura è superiore al prezzo di chiusura in un determinato intervallo di tempo e candele verdi se il prezzo di chiusura è superiore al prezzo di apertura. Aggiungeremo una riga di codice sopra la funzione plotcandle():
//@version=4 study("My Script", overlay=true) colori = apri >= chiudi ? color.red: color.green plotcandle (aperto, alto, basso, chiuso)
Questo grafico esaminerà ogni candela e controllerà se il prezzo di apertura è maggiore o uguale al prezzo di chiusura. Se è così, significa che il prezzo è diminuito durante questo periodo, quindi la candela sarà colorata di rosso. Se è vero il contrario, la candela sarà colorata di verde. Modifica la funzione plotcandle() per includere questa regola di colore:
//@version=4 study("My Script", overlay=true) colori = apri >= chiudi ? color.red: color.green plotcandle(aperto, alto, basso, chiuso, colore=colori)
Elimina gli indicatori esistenti se non l'hai già fatto e aggiungi l'indicatore al grafico. Ora avremo un normale grafico a candele.
Grande!
Disegnare una media mobile (MA)
Abbiamo alcune linee 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 è leggermente diverso dalla media mobile semplice (SMA) in quanto si concentra sui dati più recenti. Gli EMA tendono ad essere più reattivi alle fluttuazioni improvvise e sono spesso utilizzati per il trading a breve termine (ad esempio, il day trading).
Media mobile semplice (SMA)
Possiamo anche tracciare la SMA, in modo da poter confrontare i due in seguito. Aggiungi questa riga di codice al tuo script:
trama(sma(chiudi, 10))
Questa riga di codice traccia la media dei dieci giorni precedenti. Regola i numeri tra parentesi per vedere come cambia la curva quando si considerano lunghezze diverse.
SMA, basata sui dieci giorni precedenti.
Media mobile esponenziale (EMA)
L'EMA creerà un po' più di confusione, ma non preoccuparti. Innanzitutto, analizziamo la formula:
EMA = (Prezzo di chiusura - EMA del giorno precedente) * Moltiplicatore - EMA del giorno precedente
Cosa ci dice allora questa formula? Ogni giorno calcoliamo una nuova media mobile basata sulla media mobile del giorno precedente. Il moltiplicatore “pesa” il periodo più recente ed è calcolato secondo la seguente formula:
Moltiplicatore = 2 / (Lunghezza dell'EMA + 1)
Per una media mobile semplice, dobbiamo determinare la lunghezza dell'EMA. Dal punto di vista sintattico, la funzione del grafico EMA è simile alla funzione del grafico SMA. Tracciamo l'EMA insieme alla SMA in modo da poter confrontare i due:
//@version=4 study("My Script", overlay=true) plot(sma(close, 10)) plot(ema(close,10))
Puoi vedere lievi differenze tra i due tipi di MA.
➠ Vuoi iniziare il tuo viaggio con la criptovaluta? Acquista Bitcoin su Binance!
Scrittura preimpostata
Finora abbiamo scritto il codice manualmente in modo che tu possa capirlo chiaramente. Ma tratteremo un altro modo per farti risparmiare tempo, soprattutto se stai scrivendo script più complessi e non vuoi iniziare da zero.
Nell'angolo in alto a destra dell'editor, fai clic su Nuovo. Vedrai un menu a discesa che mostra tutti i tipi di indicatori tecnici. Fare clic su Moving Average Exponential per visualizzare il codice open source dell'indicatore EMA.
Vai avanti e aggiungi questa riga di codice al grafico.
Questa riga di codice è diversa dalla nostra: noterai la funzione input(). Questa è una funzione utile dal punto di vista dell'usabilità perché puoi fare clic su questa casella...
...e modifica facilmente alcuni valori nella finestra pop-up facendo clic sull'icona Impostazioni.
Aggiungeremo alcune funzioni input() nel prossimo script per dimostrarlo.
Disegnare l'indicatore Relative Strength Index (RSI).
L’indice di forza relativa (RSI) è un altro indicatore essenziale nell’analisi tecnica. Conosciuto come indicatore di momentum, questo indicatore misura la velocità con cui le attività vengono acquistate e vendute. Con una scala da 0 a 100, il punteggio RSI indica agli investitori se un asset è ipercomprato o ipervenduto. In genere, un asset può essere considerato ipervenduto se il punteggio è inferiore o uguale a 30 e considerato ipercomprato se il punteggio è maggiore o uguale a 70.
Se vai su Nuovo > Strategia RSI, puoi vederlo. L'RSI viene generalmente misurato su un periodo di 14 ore (ovvero 14 ore o 14 giorni), ma puoi sentirti libero di modificare tale impostazione in base alla tua strategia.
Aggiungi questo indicatore al grafico. Dovresti vedere alcune frecce visualizzate ora (definite dalla funzione strategic.entry() nel codice). RsiLE indica una potenziale opportunità di andare long su un asset quando l'asset potrebbe essere ipervenduto. RsiSE evidenzia i punti in cui è possibile vendere l'asset quando è ipercomprato. Tieni presente che, come con tutti gli indicatori, non puoi necessariamente fare affidamento su questi segnali per essere sicuro che il prezzo diminuirà/aumenterà.
Revisione
Esiste un modo per testare gli indicatori personalizzati. Sebbene le prestazioni passate non garantiscano risultati futuri, gli script di backtesting possono dirti quanto sono efficaci nel raccogliere segnali.
Di seguito forniremo un esempio di un semplice script. Creeremo una strategia semplice per entrare in una posizione long quando il prezzo di BTC scende sotto gli 11.000$ e uscire dalla posizione quando il prezzo supera gli 11.300$. Potrai quindi vedere quanto è stata redditizia questa strategia in passato.
//@versione=4 strategia("ToDaMoon", overlay=true) entra = input(11000) uscita = input(11300) prezzo = chiudi se (prezzo <= entra) strategy.entry("BuyTheDip", strategia.long , comment="BuyTheDip") if (prezzo >= uscita) Strategy.close_all(comment="SellTheNews")
Qui definiamo l'entrata e l'uscita come variabili: entrambi sono input, il che significa che possiamo modificarli sul grafico in seguito. Impostiamo anche il prezzo variabile, che prende il prezzo di chiusura di ciascun periodo di tempo. Quindi utilizziamo una logica sotto forma di un'istruzione if. Se la parte tra parentesi è vera, verrà eseguito il blocco rientrato sottostante. In caso contrario, verrà ignorato.
Pertanto, se il prezzo è inferiore o uguale al prezzo di ingresso desiderato, la prima espressione verrà valutata vera e apriremo una posizione lunga. Quando il prezzo è pari o superiore al prezzo di uscita desiderato, verrà attivato il secondo blocco, chiudendo tutte le posizioni aperte.
Annoteremo il grafico con frecce che indicano i punti di entrata/uscita, quindi abbiamo specificato le etichette che allegheremo a questi punti utilizzando il parametro comment (in questo esempio “BuyTheDip” e “SellTheNews ”). Copia il codice e aggiungilo al grafico.
Ora puoi vedere gli indicatori sul grafico. Dovresti rimpicciolire il grafico.
TradingView applicherà automaticamente le regole ai dati storici. Noterai anche che TradingView si sposta dall'editor Pine alla scheda Strategy Tester. Ciò ti consente di vedere una panoramica dei tuoi potenziali profitti, dell'elenco delle operazioni e della performance di ciascuna operazione.
Le posizioni in cui siamo entrati e usciti.
Collegamento
È tempo di scrivere il tuo script utilizzando alcuni dei concetti fin dall'inizio. Combineremo l'EMA e l'RSI e utilizzeremo i loro valori per colorare le candele, fornendo informazioni che possiamo facilmente visualizzare.
Questo contenuto non deve essere interpretato come una consulenza finanziaria: non esiste un modo oggettivamente corretto per utilizzare questo indicatore. Come qualsiasi altro indicatore, dovresti utilizzare questo indicatore con altri strumenti per sviluppare la tua strategia.
Ora lavoreremo sul nuovo script. Rimuoviamo tutti gli indicatori dal grafico e nascondiamo anche il grafico Bitcoin/BUSD in modo da avere un quadro completamente nuovo.
Iniziamo definendo la nostra ricerca. Puoi chiamarlo come preferisci, ricorda solo di impostare overlay=true.
studio(titolo="Binance Academy Script", overlay=true)
Ricorda la nostra formula EMA della sezione precedente. Dobbiamo fornire un moltiplicatore con la lunghezza dell'EMA. Rendilo un input che richieda un numero intero (quindi, senza cifre decimali). Imposteremo anche un valore minimo, che può essere (minval) e un valore predefinito (defval).
study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0)
Utilizzando questa nuova variabile, possiamo calcolare il valore EMA per ciascuna candela nel grafico:
study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength)
Grande. Vai alla RSI. Daremo la lunghezza a RSI in modo simile:
study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="Lunghezza RSI", type=input.integer, defval=25, minval=0)
Ora possiamo calcolare il valore:
study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="Lunghezza RSI", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength)
In questa fase combineremo la logica di colorazione delle candele in base ai valori EMA e RSI. Supponiamo una situazione in cui (a) il prezzo di chiusura della candela supera l'EMA e (b) quando l'RSI è superiore a 50.
Perché? Potresti decidere di utilizzare una combinazione di questi indicatori per sapere quando acquistare o vendere Bitcoin. Ad esempio, potresti pensare che soddisfare entrambe queste condizioni significhi che è il momento giusto per aprire una posizione long. Oppure, al contrario, puoi utilizzare questo indicatore per sapere quando non vendere, anche se altri indicatori dicono il contrario.
Pertanto, la riga di codice successiva sarà simile a questa:
study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="Lunghezza RSI", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) colori = close > emaVal e rsiVal > 50 ? colore.verde: colore.rosso
Se traduciamo questa riga di codice, significa semplicemente che se il valore EMA supera il prezzo di chiusura e il punteggio RSI supera 50, la candela sarà colorata di verde. Se è vero il contrario, la candela sarà colorata di rosso.
Quindi, disegna l'EMA:
study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="Lunghezza RSI", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) colori = close > emaVal e rsiVal > 50 ? color.green: trama color.red(emaVal, "EMA")
Infine disegna le candele, ricordati di includere il parametro colore:
study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="Lunghezza RSI", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) colori = close > emaVal e rsiVal > 50 ? color.green : color.red plot(emaVal, "EMA") plotcandle(aperto, alto, basso, chiuso, colore=colori)
Questa è la sceneggiatura! Aggiungiamo questo script al grafico per vedere come apparirà.
Grafico BTC/BUSD con indicatore EMA/RSI.
riepilogo
In questo articolo, ti abbiamo mostrato alcuni esempi di base di cosa puoi fare con Pine Editor su TradingView. Ora puoi creare con sicurezza semplici annotazioni per i grafici dei prezzi per ottenere maggiori informazioni dai tuoi indicatori.
Qui siamo interessati solo ad alcuni indicatori, ma puoi creare facilmente indicatori più complessi, scegliendo uno script integrato dalla sezione Nuovo o scrivendone uno tu stesso.
Ti mancano le idee? I seguenti articoli potrebbero darti alcune idee per il tuo prossimo progetto:
Una breve guida all'indicatore SAR parabolico
Istruzioni per l'utilizzo dell'indicatore di ritracciamento di Fibonacci
Spiegare l'indicatore veloce e l'indicatore lento
Spiegazione dell'indicatore MACD