introduzione

Non è possibile eseguire un’analisi tecnica efficace senza i giusti strumenti di trading. Una potente strategia di trading può aiutare a evitare errori comuni, migliorare la gestione del rischio e aumentare la capacità di identificare e sfruttare le opportunità.

Per molti, TradingView è la piattaforma grafica di riferimento. Questa potente applicazione web HTML5 fornisce un centro di strumenti di analisi tecnica, aiutando milioni di utenti a monitorare Forex, criptovalute e movimenti del mercato azionario tradizionale.

TradingView ha molte funzionalità potenti: consente agli utenti di monitorare le risorse su più piattaforme di trading e pubblicare le proprie opinioni di trading sui propri siti di social network. Questo articolo si concentrerà sulle sue capacità di personalizzazione. Utilizzeremo Pine Script, il linguaggio di programmazione proprietario di TradingView, che ci consente di avere un controllo più granulare sul layout del grafico.

Iniziamo!


Cos'è PineScript?

Pine Script è un linguaggio di scripting che può essere utilizzato per modificare i grafici TradingView. La piattaforma TradingView offre già molte funzionalità simili, ma Pine Script va ancora oltre. Sia che tu voglia cambiare il colore del grafico a candele o desideri testare una nuova strategia, Pine Editor ti consente di personalizzare i grafici in tempo reale in base alle tue esigenze.

Il codice stesso è ben documentato, quindi assicurati di controllare il manuale dell'utente per i dettagli. Questo articolo mira a discutere alcune nozioni di base e a introdurre indicatori che possono tornare utili nel trading di criptovalute.


creare

Pine Script è semplice e facile da usare. Qualsiasi codice che scriviamo viene eseguito sui server di TradingView, quindi possiamo accedere all'editor tramite un browser e sviluppare i nostri script senza ulteriori download o configurazioni richieste.

In questo tutorial, tracceremo la coppia di valute Bitcoin/Binance USD (BTCBUSD). Se non hai ancora un conto Binance, crea un conto gratuito (è possibile anche un conto Pro, ma non è necessario per questa guida).

Apri il collegamento e vedrai un grafico simile al seguente:


Tradingview上的BTCBUSD图表

I dati della tua carta potrebbero essere aggiornati.


Ora, vogliamo ottenere un grafico con funzioni avanzate, fai clic sul pulsante per accedere. Possiamo quindi vedere viste più dettagliate, strumenti di disegno, opzioni per disegnare linee di tendenza e altre funzionalità.


BTCBUSD在tradingview上的全功能图表

Grafici perfettamente funzionanti. Puoi modificare la pianificazione facendo clic su Visualizza sopra la scheda evidenziata.


Non discuteremo di come utilizzare i vari strumenti disponibili, ma se vuoi davvero eseguire analisi tecniche, ti consigliamo vivamente di familiarizzare prima con loro. In basso a sinistra (come indicato nell'immagine) vedrai alcune schede diverse: fai clic su Pine Editor.


L'editore del pino


screenshot截屏


Questo editor è fantastico. Gli diremo cosa vogliamo fare e poi faremo clic su Aggiungi al grafico e vedremo l'annotazione che abbiamo aggiunto apparire nel grafico. Tieni presente che se aggiungiamo più annotazioni contemporaneamente, queste verranno confuse, quindi le elimineremo nell'esempio (fai clic con il pulsante destro del mouse nel grafico > Elimina indicatore).

Come puoi vedere, abbiamo già alcune righe di codice. Facciamo clic su Aggiungi al grafico e vediamo cosa succede.


将第一个脚本添加到tradingview图表中


Aggiungi un secondo grafico sotto il grafico originale. Il nuovo grafico mostra esattamente gli stessi dati. Posiziona il mouse sul mio script e fai clic su × per eliminare. Ora esploriamo il codice.

ricerca("myscript")

La prima riga imposta semplicemente la nostra annotazione. Tutto ciò che serve è il nome dell'indicatore che vuoi chiamare (in questo caso "My Script"), ma possiamo anche aggiungere alcuni parametri opzionali. Uno di questi è l'override, questo parametro indica a TradingView di inserire l'indicatore nel grafico esistente (invece che in un nuovo grafico). Come puoi vedere dal primo esempio che abbiamo elencato, il valore predefinito è false. Anche se non puoi ancora vedere come funziona, overlay=true aggiungerà l'indicatore al grafico esistente.

Disegnare un grafico (Chiudi)

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

Ora, proviamo quanto segue:

//@version=4 study("My Script", overlay=true) plot(open, color=color.purple)

Una volta aggiunto, dovresti vedere un secondo grafico (sembrerà che il grafico originale sia stato spostato a destra). Ciò che facciamo è tracciare i prezzi di apertura e, poiché il prezzo di apertura del giorno è il prezzo di chiusura del giorno precedente, è logico che questi grafici si muovano esattamente nello stesso modo.

Bene! Eliminiamo l'annotazione corrente (ricorda, questo viene fatto facendo clic con il pulsante destro del mouse e facendo clic su Elimina indicatore). Posiziona il mouse su Bitcoin/BUSD e fai clic sul pulsante Nascondi per eliminare il grafico corrente.

Molti trader preferiscono utilizzare i grafici K-line, che possono fornirci maggiori informazioni rispetto al semplice grafico che abbiamo appena creato. Successivamente aggiungiamo il grafico che abbiamo disegnato.

//@version=4 study("My Script", overlay=true) plotcandle(aperto, alto, basso, chiuso)

Tutto era iniziato bene, ma i colori scialbi lo facevano sembrare un po' insipido. Idealmente, il grafico della linea K dovrebbe essere rosso quando il prezzo di apertura è inferiore al prezzo di chiusura e verde se il prezzo di chiusura è superiore al prezzo di apertura. Aggiungiamo una riga sopra la funzione plotcandle():

//@version=4 study("My Script", overlay=true) colori = aperto >= chiuso?color.red: color.green plotcandle(aperto, alto, basso, chiuso)

Ciò richiede l'esame di ciascun grafico della linea K per verificare se il prezzo di apertura è superiore o uguale al prezzo di chiusura. Se questo è il caso, significa che il prezzo è sceso durante questo periodo e il grafico a candele diventerà rosso. Altrimenti diventerà verde. Modifica la funzione plotcandle() e aggiungi questa combinazione di colori:

//@version=4 study("My Script", overlay=true) colori = aperto >= chiuso?color.red: color.green plotcandle(aperto, alto, basso, chiuso, colore=colori)

Se non l'hai già fatto, elimina la metrica esistente e aggiungi questa metrica al grafico. Ora dovremmo disegnare un grafico simile a un grafico a linee K.


Tradingview上的K线图

Ben fatto!


Disegna una media mobile (MA)

Abbiamo completato alcune operazioni di base. Diamo un'occhiata al nostro primo indicatore personalizzato: la media mobile esponenziale, o EMA. Questo strumento è utile 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 pone maggiore enfasi sui dati recenti. Tende a reagire maggiormente ai cambiamenti improvvisi e viene spesso utilizzato per operazioni a breve termine (ad esempio nel day trading).


Media mobile semplice (SMA)

Possiamo anche tracciare la SMA in modo da poter confrontare i due in seguito. Aggiungi questa riga al tuo script.

trama(sma(chiudi, 10))

Questo traccia la media dei dieci giorni precedenti. Regola i numeri tra parentesi per vedere come cambia la curva al variare della lunghezza.


基于前10天的简单移动平均数

La SMA si basa sui dati dei dieci giorni precedenti.


Media mobile esponenziale (EMA)

L'EMA è più complicato da capire, ma non preoccuparti. Analizziamo innanzitutto questa formula:

EMA = (prezzo di chiusura – EMA del giorno precedente) * multiplo – EMA del giorno precedente

Cosa indica questo? Ogni giorno calcoliamo un nuovo valore di media mobile basato sul valore del giorno precedente. Il multiplo viene "ponderato" per il numero dei giorni recenti e si calcola utilizzando la seguente formula:

Multiplo = 2/(lunghezza EMA + 1)

Come con la media mobile semplice, dobbiamo assegnare un valore alla lunghezza dell'EMA. Dal punto di vista sintattico, tracciare la funzione EMA è simile a tracciare la funzione SMA. Traccia questo insieme alla SMA e puoi confrontare i due.

//@version=4 study("My Script", overlay=true) plot(sma(close, 10)) plot(ema(close, 10))


EMA和SMA在同一个tradingview图表上

Vedrai che questi due tipi di MA sono leggermente diversi.


➟ Vuoi iniziare il tuo viaggio nella criptovaluta? Benvenuto nell'acquisto di Bitcoin su Binance!


Scritta incorporata

Finora abbiamo scritto il nostro codice manualmente in modo che tu possa avere un'idea intuitiva. Ora introdurremo alcune funzionalità che possono farci risparmiare tempo, soprattutto se vogliamo scrivere script più complessi ma non vogliamo iniziare da zero.

Nell'angolo in alto a destra dell'editor, fai clic su Nuovo. Otterrai un menu a discesa che mostra una varietà di diversi indicatori tecnici. Fare clic sull'indice della media mobile per visualizzare il codice sorgente dell'indicatore EMA.



Pine script中的移动平均指数

Fare clic e aggiungerlo al grafico.


Questo indice è diverso dal nostro, noterai la funzione input(). Sono ottimi dal punto di vista dell'usabilità perché puoi fare clic su questa casella...


在tradingview界面上修改图表


...e fai clic sull'icona dell'ingranaggio delle impostazioni per modificare facilmente alcuni valori nella finestra pop-up.


改变EMA的输入内容


Aggiungeremo alcune funzioni input() allo script successivo per dimostrarlo.


Grafico dell'indicatore Relative Strength Index (RSI).

Il Relative Strength Index (RSI) è un altro indicatore importante nell’analisi tecnica. Conosciuto come indicatore di momentum, misura il prezzo al quale un asset viene acquistato e venduto. Su una scala da 0 a 100, il punteggio RSI tenta di indicare agli investitori se un asset è ipercomprato o ipervenduto. In genere, se un asset ha un punteggio pari o inferiore a 30, può essere considerato ipervenduto, mentre un punteggio pari o superiore a 70 può essere considerato ipercomprato.

Vai su Nuovo>Strategia RSI per vederlo tu stesso. L'RSI viene generalmente misurato su un periodo di 14 (ovvero 14 ore o 14 giorni), ma sei libero di modificare questa impostazione in base alla tua strategia.

Aggiungi RSI al grafico. Dovresti vedere diverse frecce ora visualizzate (definite dalla funzione strategic.entry() in questo codice). RsiLE rappresenta una potenziale opportunità per estendere un asset in quanto potrebbe essere ipervenduto. RsiSE evidenzia i possibili punti di vendita allo scoperto quando un asset è ipercomprato. Tieni presente che, come per tutti gli indicatori, non è necessario necessariamente considerarli come una prova conclusiva 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 del nostro script può darci un’idea della sua efficacia nel catturare i segnali.

Di seguito forniremo un semplice esempio di script. Pianifichiamo una strategia semplice e chiara per entrare in una posizione lunga quando il prezzo del Bitcoin scende a 11.000 dollari e uscire dalla posizione lunga quando il prezzo supera gli 11.300 dollari. Possiamo quindi vedere quanto questa strategia sia stata storicamente redditizia.

//@versione=4 strategia("ToDaMoon", overlay=true) entra = input(11000) uscita = input(11300) prezzo = chiudi se (prezzo <= entra) strategia.entry("BuyTheDip",strategy.long ,comment="BuyTheDip") if (prezzo >= uscita) strategia.close_all(comment="SellTheNews")

Qui definiamo l'entrata e l'uscita come variabili: entrambi sono input, il che significa che possiamo apportare modifiche a entrambi più avanti nel grafico. Impostiamo anche una variabile di prezzo per prendere il prezzo di chiusura di ciascun periodo. Quindi, abbiamo una logica che segue il modello dell'istruzione 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 al prezzo di ingresso desiderato e la prima espressione risulta vera, apriremo una posizione long. Una volta che il prezzo sarà pari o superiore al prezzo di uscita richiesto, verrà attivato un secondo blocco, chiudendo tutte le posizioni aperte.

Annotiamo il grafico con frecce che mostrano dove entriamo/usciamo, quindi utilizziamo parametri di valutazione per specificare cosa segna quei punti (in questo caso "BuyTheDip" e "SellTheNews"). Copia il codice e aggiungilo al grafico.


指标在tradingview图表中处于活跃状态

Ora puoi vedere questi indicatori nel grafico. Potrebbe essere necessaria un'amplificazione.


TradingView applica automaticamente le tue regole ai dati più vecchi. Noterai inoltre che TradingView passa dall'editor Pine alla scheda Strategy Tester. Ciò ti consente di vedere una panoramica dei potenziali profitti, un elenco di operazioni e la performance di ciascun indicatore.


交易观点策略测试器

Posizioni in cui siamo entrati e usciti.


Combinato

Ora possiamo scrivere il nostro script utilizzando alcuni dei concetti visti finora. Combineremo EMA e RSI e utilizzeremo i loro valori per influenzare il colore del grafico della linea K in modo da poterlo comprendere facilmente.

Ma ciò non costituisce una consulenza finanziaria e non esiste un modo oggettivamente corretto per utilizzare questi indicatori. Come tutti gli altri strumenti, dovrebbe essere combinato con altri strumenti per sviluppare la propria strategia di investimento.

Ora esploriamo il nuovo script. Rimuovi tutti gli indicatori dal grafico e nascondi il grafico Bitcoin/BUSD in modo da avere un background operativo pulito.

Diamo un'occhiata prima alla definizione. Chiamalo come preferisci, assicurati solo di impostare overlay=true.

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

Ricorda la nostra precedente formula EMA. Dobbiamo utilizzare la lunghezza EMA per calcolare il multiplo. Trasformiamolo in un input che richiede un numero intero di cifre, quindi nessuna cifra decimale. Imposteremo anche il valore minimo (minval) e il valore predefinito (defval).

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer,defval=25, minval=0)


Sulla base di 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)


Molto bene. Successivamente diamo un’occhiata all’RSI. Gli assegneremo un valore di lunghezza 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 (titolo="Lunghezza RSI", tipo=input.integer, valore def=25, valore min=0)

Ora possiamo calcolare:

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)

A questo punto, mettiamo insieme la logica che determina i colori delle candele in base ai valori di EMA e RSI. Supponiamo che (a) la candela chiuda sopra l'EMA e (b) l'RSI sia superiore a 50.

Perché dovremmo supporre questo? Perché potresti decidere di utilizzare una combinazione di questi indicatori per sapere quando andare long o short su Bitcoin. Ad esempio, potresti pensare che soddisfare queste due condizioni significhi che ora è il momento giusto per andare long. Oppure, al contrario, puoi usarlo per ricordarti quando non andare short, anche se altri indicatori dicono il contrario.

Pertanto, la nostra prossima riga di codice 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 frase in parole povere, stiamo in realtà dicendo che se il valore EMA supera il prezzo di chiusura e il punteggio RSI supera 50, il grafico a candele diventerà verde. Altrimenti diventerà rosso.

Successivamente, traccia il grafico 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 il grafico della linea K, assicurati di includere i parametri del 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, valmin=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)

Quindi, la sceneggiatura è scritta! Aggiungilo al grafico e guarda come funziona.


Tradingview脚本在运行

Un grafico Bitcoin/BUSD con indicatori EMA/RSI.


Riassumere

In questo articolo ti mostriamo le funzionalità del Pine Editor su TradingView attraverso alcuni esempi di base. Ora dovresti sentirti sicuro nel fare semplici annotazioni sui grafici dei prezzi per ottenere maggiori informazioni dai tuoi indicatori.

In questo articolo abbiamo trattato solo alcuni di questi indicatori, ma non è difficile creare indicatori più complessi: puoi scegliere di creare un nuovo script integrato o scriverne uno tuo.

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

  • Una breve guida all'indicatore parabolico

  • "Guida allo studio del ritracciamento di Fibonacci"

  • "Spiegazione dettagliata degli indicatori anticipatori e ritardati"

  • Spiegazione dettagliata dell'indicatore della media mobile esponenziale (MACD).