introduzione

Senza strumenti di trading affidabili, è impossibile condurre analisi tecniche di alta qualità. Una forte strategia di trading ti aiuterà a evitare errori comuni, a gestire il rischio in modo più efficace e a trovare ed eseguire più opportunità di trading.

Per la maggior parte dei trader, TradingView è una piattaforma popolare per l'analisi dei grafici. Un'applicazione web HTML5 ricca di funzionalità che offre una varietà di strumenti di analisi tecnica, viene utilizzata da milioni di utenti per tenere traccia dei movimenti nel forex, nelle criptovalute e nei mercati azionari tradizionali.

TradingView offre una gamma di potenti funzionalità che ti consentono di monitorare le risorse su più piattaforme di trading e condividere idee di trading sul social network di TradingView. In questo articolo esamineremo le opzioni per personalizzare TradingView. Utilizzeremo Pine Script, un linguaggio di programmazione TradingView che fornisce un controllo granulare sui layout dei grafici.

Cominciamo!


Cos'è PineScript?

Pine Script è un linguaggio di scripting che ti consente di personalizzare i grafici su TradingView. La piattaforma ti offre già molte funzionalità per questo, ma Pine Script ti consente di espandere le capacità. Sia che tu voglia cambiare i colori delle candele o testare una nuova strategia, puoi personalizzare i tuoi grafici in tempo reale come preferisci con l'editor Pine.

La documentazione dettagliata è disponibile sul sito, quindi puoi sempre fare riferimento al manuale dell'utente per istruzioni dettagliate. In questo articolo vorremmo coprire le basi di Pine Script e mostrare come creare indicatori che possono essere utili quando si fa trading di criptovaluta.


Impostare

Iniziare con Pine Script è molto semplice. Tutto il codice che scriviamo viene eseguito sui server TradingView, abbiamo accesso a un editor di codice e possiamo scrivere script direttamente nel browser, senza bisogno di scaricare applicazioni di terze parti o configurare nulla.

In questo tutorial, tracceremo la coppia di valute Bitcoin/Binance USD (BTCBUSD). Se non sei ancora registrato su TradingView, crea un account gratuito (è disponibile anche un abbonamento professionale, ma non è necessario per questo articolo).

Segui questo link e vedrai un grafico come questo:


график BTCBUSD на tradingview

Il tuo programma deve essere più aggiornato.


Abbiamo bisogno di un programma dettagliato: per accedervi, fare clic sul pulsante indicato. Vedremo grafici più dettagliati, strumenti di disegno e strumenti di linea di tendenza.


Подробный график BTCBUSD на tradingview

Programma dettagliato. Nel pannello sopra le schede selezionate è possibile impostare gli intervalli di tempo desiderati.


Ora non discuteremo dell'uso dei vari strumenti disponibili, ma se prendi sul serio l'analisi tecnica, ti consigliamo vivamente di familiarizzare con loro. In basso a sinistra (evidenziate nell'immagine) ci sono diverse schede: fai clic su Pine Editor.


Redattore di Pino


скриншот редактора pine


Questo editor è il luogo in cui avviene la vera magia. Per vedere il risultato, devi scrivere le istruzioni nell'editor, quindi fare clic sul pulsante "Aggiungi al grafico". Nota: se applichi più indicatori personalizzati contemporaneamente, il grafico può diventare confuso, quindi li rimuoveremo tra un esempio e l'altro (tasto destro del mouse sul grafico > Rimuovi indicatori).

Come puoi vedere, abbiamo già un paio di righe di codice. Facciamo clic sul pulsante "Aggiungi al grafico" e vediamo cosa succede.


Добавление первого скрипта на график tradingview


Un secondo è apparso sotto il grafico originale. Il nuovo grafico presenta gli stessi dati. Per eliminare il secondo grafico, passa con il mouse su My Script e fai clic sulla croce. Ora diamo un'occhiata al codice.

studio("Il mio copione")

La prima riga specifica il nome del grafico. Ciò richiede solo il nome dell'indicatore (in questo caso "My Script"), ma puoi anche impostare parametri aggiuntivi. Uno di questi è la sovrapposizione. Significa posizionare l'indicatore su un grafico esistente (non in un nuovo segmento). Come possiamo vedere dal primo esempio, è impostato su false per impostazione predefinita. Non lo testeremo ora, ma impostando overlay=true si aggiungerà l'indicatore al grafico esistente.

trama (chiudi)

Questa riga è un'istruzione per tracciare il prezzo di chiusura di Bitcoin; plot specifica un grafico a linee, ma possiamo aggiungere candele e barre.

Consideriamo ora il seguente esempio:

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

Aggiungendo questa riga all'editor, dovresti vedere un secondo grafico (che assomiglia all'originale, ma spostato a destra). Abbiamo tracciato il prezzo di apertura e poiché l'apertura del giorno corrente corrisponde alla chiusura del giorno precedente, è logico che i grafici abbiano la stessa forma.

Grande! Eliminiamo i grafici che abbiamo creato (ricordiamo che per fare ciò è necessario cliccare con il tasto destro sul grafico e selezionare “Elimina indicatori”). Per cancellare il grafico corrente, passa con il mouse sul grafico Bitcoin/BUSD e fai clic sul pulsante Nascondi.

Molti trader utilizzano i grafici a candele perché forniscono più informazioni rispetto ai grafici normali (come quello che abbiamo appena creato). Ora aggiungiamo le candele al grafico.

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

È meglio, ma a causa della mancanza di colori il grafico è inespressivo. Idealmente, dobbiamo disegnare le candele rosse se il prezzo di apertura nel periodo di tempo è maggiore del prezzo di chiusura, e verdi se il prezzo di chiusura è maggiore del prezzo di apertura. Aggiungiamo una riga sopra la funzione plotcandle():

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

In questa riga esaminiamo tutte le candele e controlliamo: il prezzo di apertura è maggiore o uguale al prezzo di chiusura In tal caso, il prezzo è sceso durante il periodo e la candela sarà rossa? Altrimenti – verde. Per aggiungere una combinazione di colori, modifica la funzione plotcandle() come mostrato di seguito:

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

Se non lo hai già fatto, elimina il grafico precedente e aggiungine uno nuovo. Ora dovremmo avere un normale grafico a candele.


Свечной график на tradingview

Meraviglioso!


Costruire medie mobili (MA)

Abbiamo trattato alcune nozioni di base. Passiamo alla creazione del nostro primo indicatore personalizzato, la media mobile esponenziale o EMA. Questo è un indicatore prezioso perché filtra il rumore del mercato e attenua i movimenti dei prezzi.

L'EMA differisce dalla media mobile semplice (SMA) in quanto attribuisce maggiore peso ai dati recenti. L'EMA reagisce più attivamente ai movimenti inaspettati del mercato e viene spesso utilizzata nelle strategie a breve termine (ad esempio, nel trading intraday).


Media mobile semplice (SMA)

Possiamo tracciare la SMA e poi confrontarla con l'EMA. Aggiungi la seguente riga allo script:

trama(sma(chiudi, 10))

Questa riga mostrerà la media dei 10 giorni precedenti. Puoi impostare diversi valori di periodo tra parentesi e vedere come cambia la curva.


Простая 10-дневная скользящая средняя

SMA per i 10 giorni precedenti


Media mobile esponenziale (EMA)

L'EMA è un po' più difficile da capire, ma non preoccuparti. Per prima cosa diamo un'occhiata alla formula:

EMA = (prezzo di chiusura - EMA del giorno precedente) * moltiplicatore - EMA del giorno precedente

Cosa dice questa formula? Per ogni giorno calcoliamo una nuova media mobile basata su quella precedente. Il moltiplicatore è il “peso” del periodo precedente, che si calcola utilizzando la seguente formula:

moltiplicatore = 2 / (periodo EMA + 1)

Come nel caso di una media mobile semplice, è necessario specificare il periodo per la costruzione dell'EMA. La sintassi della funzione EMA è simile alla funzione SMA. Per chiarezza, tracciamo un grafico EMA accanto alla SMA:

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


EMA и SMA на одном графике tradingview

Differenza tra SMA ed EMA


➟ Stai pensando da dove iniziare a lavorare con le criptovalute? Acquista Bitcoin su Binance!


Script incorporati

Fino ad ora, abbiamo scritto il codice manualmente per capirlo più in dettaglio. Ma esploriamo uno strumento che ci farà risparmiare tempo, soprattutto se scriviamo script più complessi e non vogliamo farlo da zero.

Nell'angolo in alto a destra dell'editor, fai clic sul pulsante "Nuovo". Apparirà un menu a tendina con vari indicatori tecnici. Per vedere il codice sorgente dell'indicatore EMA, fare clic sulla voce "Media mobile esponenziale".



Экспоненциальная скользящая средняя в pine script

Aggiungi il codice al grafico


Il codice del template sarà diverso da quello che abbiamo scritto: presta attenzione alle funzioni input(). Sono convenienti perché puoi fare clic nell'angolo in alto a sinistra del grafico...


Изменение графика в интерфейсе tradingview


...e nella finestra pop-up è facile modificare alcuni valori premendo la rotella delle impostazioni.


изменение входных параметров EMA


Per dimostrarlo, aggiungeremo due funzioni input() allo script seguente.


Costruzione dell'indicatore Relative Strength Index (RSI).

Il Relative Strength Index (RSI) è un altro indicatore chiave dell’analisi tecnica. È noto come indicatore di momentum. Ciò significa che mostra la velocità con cui le attività vengono acquistate e vendute. L'indice RSI, che varia da 0 a 100, indica ai trader se un asset è ipercomprato o ipervenduto. Generalmente, un asset è considerato ipervenduto se l'RSI è inferiore o uguale a 30, e ipercomprato se l'RSI è maggiore o uguale a 70.

Puoi verificarlo tu stesso: vai al menu Nuovo > Strategia RSI. L'RSI viene solitamente misurato su periodi di 14 unità (ovvero 14 ore o 14 giorni), ma puoi personalizzare questo parametro per adattarlo alla tua strategia.

Aggiungilo al grafico. Dovresti vedere alcune frecce (definite nel codice dalla funzione strategic.entry()). RsiLE indica il potenziale per una posizione lunga su un asset in quanto potrebbe essere rivenduto. RsiSE indica anche la possibilità di vendere allo scoperto un asset in quanto potrebbe essere ipercomprato. Nota: come per tutti gli indicatori, non dovresti fare affidamento su di essi come garanzia che i prezzi scenderanno/alzeranno.


Strategie di test

Possiamo testare i nostri indicatori. Sebbene le prestazioni sui dati storici non siano garanzia di risultati futuri, testare gli script sui dati storici può darti un'idea di quanto siano efficaci nel tracciare i segnali.

Prendiamo come esempio un semplice script. Creiamo una strategia semplice in cui inseriremo una posizione long quando il prezzo di BTC scende sotto gli 11.000 $ e chiuderemo la posizione quando il prezzo supera gli 11.300 $. Possiamo vedere quanto sia redditizia questa strategia se applicata alla storia del mercato.

//@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 abbiamo definito i livelli di entrata e di uscita come variabili: entrambi sono input, il che significa che possiamo quindi modificarli sul grafico. Abbiamo anche creato una variabile di prezzo che prende il valore di chiusura per ciascun periodo. La logica è presentata sotto forma di istruzioni if. Se la parte tra parentesi è vera, verrà eseguito il blocco con il rientro sottostante. Altrimenti verrà ignorato.

Quindi, se il prezzo è inferiore o uguale al valore di entrata desiderato, la prima espressione risulta vera e andiamo long. Quando il prezzo è pari o superiore al valore di uscita desiderato, verrà attivato il secondo blocco, chiudendo tutte le posizioni aperte.

Inoltre, sul grafico abbiamo indicato con le frecce i luoghi di entrata e di uscita dalle posizioni. Abbiamo contrassegnato questi punti con un parametro di commento (in questo esempio "BuyTheDip" e "SellTheNews"). Copia il codice e aggiungilo al grafico.


активный индикатор на графике tradingview

Indicatori sul grafico. Puoi rimpicciolire


TradingView applica automaticamente le tue regole ai dati più vecchi. Tieni presente che sei passato da Pine Editor alla scheda Strategy Tester. Qui puoi analizzare il potenziale profitto, visualizzare l'elenco delle operazioni e l'andamento di ciascuna operazione.


Тестирование стратегии на Tradingview

Posizioni aperte e chiuse


Riassumiamo

Ora possiamo scrivere il nostro script utilizzando strumenti familiari. Combineremo l'EMA e l'RSI sullo stesso grafico, quindi utilizzeremo i loro valori per colorare le candele per creare informazioni che possano essere facilmente visualizzate.

I risultati del grafico non costituiscono una consulenza finanziaria: non esiste un modo oggettivamente corretto per utilizzarla. Come altri indicatori, dovrebbe essere utilizzato insieme ad altri strumenti per sviluppare la propria strategia.

Scriviamo il nostro nuovo script. Per avere uno spazio libero su cui lavorare, rimuovi gli indicatori precedenti dal grafico e nascondi il grafico Bitcoin/BUSD.

Iniziamo definendo il nostro studio. Chiamalo come desideri, assicurandoti solo che overlay=true.

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

Ricordiamo la formula EMA che abbiamo descritto sopra. Dobbiamo determinare il moltiplicatore per il periodo EMA. Rendiamola una variabile (input) che sia un numero intero (ovvero, senza cifre decimali). Imposteremo anche il 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)


Utilizzando questa nuova variabile, possiamo calcolare il valore EMA per ciascuna candela:

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


Bene. Passiamo ora all'RSI. Impostiamo il suo periodo 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 calcolarlo:

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 impostiamo la logica che colora le candele in base ai valori EMA e RSI. Considera la situazione in cui il prezzo di chiusura della candela supera l'EMA (a) e quando l'RSI è superiore a 50 (b).

Perché proprio queste condizioni? Questi indicatori possono essere utilizzati insieme per dirti quando andare long o short su Bitcoin. Ad esempio, se entrambe le condizioni sono soddisfatte, potrebbe significare che è il momento giusto per aprire una posizione long. Oppure, al contrario, puoi utilizzare questo indicatore per capire quando non andare short, anche se altri indicatori dicono il contrario.

La riga successiva del nostro script 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 il codice in linguaggio normale, risulta che se il valore EMA supera il prezzo di chiusura e il valore RSI supera 50, coloriamo la candela verde. Altrimenti il ​​colore sarà rosso.

Aggiungi 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 disegniamo le candele aggiungendo un 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)

Ecco la nostra intera sceneggiatura! Per vederlo in azione, aggiungilo al tuo grafico.


Скрипт Tradingview в действии

Grafico BTC/BUSD con indicatore EMA/RSI.


In questo articolo, abbiamo esaminato alcuni semplici esempi di utilizzo del Pine Editor di TradingView. A questo punto, se hai completato i nostri esempi, puoi già creare semplici didascalie per i grafici dei prezzi e ottenere informazioni aggiuntive dai tuoi indicatori.

In questo articolo, abbiamo toccato solo un paio di indicatori, ma puoi analizzare tu stesso quelli più complessi, selezionando gli script integrati dall'elenco Nuovo o scrivendoli tu stesso.

Cerchi ispirazione? Puoi ottenere idee per il tuo prossimo progetto dagli articoli seguenti:

  • Una guida rapida all'utilizzo di un sistema SAR parabolico

  • Una guida all'uso delle linee di Fibonacci

  • Indicatori anticipatori e ritardati

  • Cos'è l'indicatore MACD