Tradingview sta rapidamente diventando uno degli strumenti grafici più popolari del settore. Con i suoi strumenti di charting facili da usare, gli indicatori e l’integrazione con i social network, gli operatori hanno un set completo di strumenti per eseguire analisi tecniche e condividere idee. Oltre a ciò, Tradingview ha anche sviluppato un proprio linguaggio di scripting che consente agli operatori di creare indicatori personalizzati e sviluppare strategie.

Prima di entrare nel codice, per prima cosa. Se non lo hai già fatto, ti suggerisco di registrarti per un account sul sito Web Tradingview. Una volta che hai un account sarai in grado di salvare i tuoi script.

Quando ho iniziato a dare un’occhiata a Tradingview per effettuare un backtesting, sono rimasto colpito immediatamente dalla semplicità della piattaforma. Questo lo rende una scelta eccellente per i  principianti del backtesting. Non solo il linguaggio Pine Script è abbastanza semplice da capire, ma Tradingview rende molto facile l’accesso alle informazioni e tutorial.

Per esempio:

  • Passa il mouse sopra le funzioni per aiuto. Questo fornisce informazioni di aiuto in forma abbreviata.
  • Controllo della versione integrata. Ogni volta che premi il pulsante Salva, Tradingview salva lo script come una nuova versione. Questo semplifica la vita se accidentalmente vai troppo lontano dal percorso e devi tornare indietro.
  • CTL + Click per visualizzare la documentazione dettagliata (opzione + click per utenti Mac). Una cosa bella della finestra della guida pop-up è che puoi ancora digitare nel riquadro dello script dietro di essa. Non è necessario aprire e chiudere costantemente la schermata della guida mentre si lavora attraverso i parametri di input della una funzione.

Galleria (clicca su un’immagine per ingrandirla)

Un aspetto negativo che ho notato (al momento della scrittura) è non aver a disposizione (o non sono riuscito a trovarla) un’opzione per stampare le stringhe sulla console di output. Questo può rendere il debug un po ‘complicato. Soprattutto nei casi in cui si desidera verificare il valore di una determinata variabile.

La Piattaforma

Se sei completamente nuovo di tradingview, può essere utile esaminare le funzionalità di questa web-application e di come accedere all’editor del codice di pine-script.

Prima carica un grafico:

  • Apri Tradingview.
  • Fai clic su “Chart” nel menu della home page.
  • Se questa è la prima volta che usi la funzione di creazione di grafici, verrai rimandato ad un grafico. In caso contrario, verrà visualizzato un menu a discesa con un modello di grafico “senza nome”.
  • Il pine editor comprare sul fondo della pagina. Clicca sul tab del pine editor.
Quando si crea una strategia, non iniziare dalla pagina di default di pine script. Questo template è utilizzato per gli indicatori. Si può utilizzare uno specifico template per le strategie. Il template indicatore di default è simile a quanto segue:
Come puoi vedere è un po ‘spartano. Per avere un template base per una strategia devi fare clic su “Nuovo -> Script strategia vuoto”. In questo modo si ottiene un template di base per iniziare.
Si ottiene il template di un codice che assomiglia a quanto segue:

Come puoi notare, questo ci fornisce tutto il necessario per eseguire uno script:

  • La strategia è inizializzata
  • Viene fornito un trigger per andare long
  • Viene fornito un trigger per andare short.

Se vuoi, puoi andare avanti e premere il pulsante “Aggiungi al grafico” e avere il tuo primo script. Tuttavia, se vuoi andare un po’ oltre e apportare alcune modifiche, continua a leggere.

La Strategia

La strategia che implementeremo segue le stesse regole descritte nell’articolo “Backtrader: Primo Script“. L’ho fatto per coerenza e in modo che coloro che devono ancora decidere quale piattaforma utilizzare per il backtest possano avere un confronto coerente. È una semplicissima strategia long che ha l’obiettivo di rimanere dalla parte giusta di un mercato rialzista dei titoli azionari

Entry

  • Entrata Long quando RSI < 30

Exit

  • Entrata Long quando RSI > 70

Gestione del Trade e Dimensionamento della Posizione

  • Non è implementata nessuna gestione del trade e nessun ridimensionamento in / out. Solo semplici acquisti e vendite con un’unica posizione aperta alla volta.
  • Per quanto riguarda la posizione, si prevedono cose semplici e si mantiene il default proposto da Tradingview cioè quello di acquistare e vendere 1 contratto.

Parametri dell’Indicatore

  • Periodo = 21
  • Si utilizza un periodo di ricerca più grande rispetto a quello predefinito a 14. In teoria ciò si traduce in meno falsi segnali e il prezzo dovrebbe dimunuire / aumentare di più prima di essere considerato ipercomprato / ipervenduto.

Il Codice

//@version=3
strategy("Simple RSI", overlay=true, initial_capital=10000, currency='USD')
 
fromYear = year > 2014
toYear = year < 2016
 
longCondition = rsi(close, 21) < 30 
if (longCondition and fromYear and toYear) 
     strategy.entry("Long 1", strategy.long) 

closeCondition = rsi(close, 21) > 70
if (closeCondition)
    strategy.close("Long 1")

Da notare la semplicità e la brevità di questo codice rispetto a quello descritto nell’articolo “Backtrader: primo Script“, si apprezza sicuramente quanto sia più facile iniziare a lavorare! Quello che si rinuncia in termini di funzionalità e di controllo, torna indietro in termini di semplicità e di tempo.

Se lo si confronta con il template vuoto della strategia vuoto mostrato in precedenza, si può notare le seguenti modifiche:

  • L’entrata short è stata convertita in una funzione di chiusura in modo da non andare short (in conformità con le regole della strategia)
  • Le funzioni del crossover SMA sono state modificate per verificare se l’indicatore RSI è sopra o sotto un certo livello.
  • L’istruzione if per la condizione long è stata estesa.

Per prima cosa diamo un’occhiata all’inizializzazione della strategia e parliamo di un’altra caratteristica davvero interessante. Ci sono pochissimi parametri obbligatori necessari durante l’impostazione della strategia. In realtà, è richiesto solo il titolo e corrisponde al nome con cui la strategia può essere salvata. Tutti i parametri della strategia possono essere modificati visivamente tramite un modulo nella scheda “strategie”. Abbastanza carino vero? Ma c’è di più, i parametri possono essere regolati qui in qualsiasi momento e i risultati presenti nel riepilogo delle prestazioni si aggiornano automaticamente quando si apportano talile modifiche.

Inoltre durante l’inizializzazione della strategia, ho aggiunto alcuni parametri opzionali:

strategy("Simple RSI", overlay=true, initial_capital=10000, currency='USD')
Questi parametri (initial_capital and currency) impostano i valori predefiniti che si vedono nel pannello del tester della strategia, quando si preme il pulsante di configurazione:
Un’altra modifica che ho apportato è stata quella di creare alcune variabili che vengono utilizzate per valutare se l’anno è superiore o inferiore a un determinato numero. L’ho fatto in quanto preferisco concentrarmi su particolari periodi di tempo durante il backtesting, in modo che un lungo periodo non mascherasse brevi periodi di prestazioni scadenti. È una scelta personale.
fromYear = year > 2014
toYear = year < 2016

Cosa succede qui?

Ogni volta che viene prodotta una nuova candela, viene eseguito un controllo per vedere se l’anno è maggiore del 2014 o inferiore al 2016. In caso affermativo, il valore booleano “true” viene salvato nelle variabili fromYear e toYear. Questo può quindi essere usato nell’istruzione IF per verificare se possiamo aprire un nuovo trade:

longCondition = rsi(close, 21) < 30
if (longCondition and fromYear and toYear) 
      strategy.entry("Long 1", strategy.long) 
Stiamo verificando se l’RSI è inferiore a 30 e la data sia successiva al 2014 e precedente al 2016. La chiusura della strategia è più semplice. Chiude la posizione quando l’RSI supera il valore 70.

Utilizzare questo codice su Tradingview

Copia il codice e fai clic qui per aprire una finestra del grafico su Tradingview. Incolla il codice nell’editor di Pine Script, ora puoi fare clic sul pulsante “Aggiungi al grafico” per avviare il test e vedere visivamente dove la strategia ha acquistato e venduto.

Non dimenticare di fare clic su Salva, in modo da poter tornare alla strategia in un secondo momento! Puoi applicare questa strategia a qualsiasi strumento. Tutte le strategie caricate vengono visualizzate nella scheda “Strategie” nel riquadro inferiore dell’area grafica. Per caricare le strategie, è possibile selezionare “Apri” dalla scheda del pine editor.

I risultati

Tempo di i grandi risultati … Un utile netto di $10,56! Non così impressionante, ma non è questo il punto. In questo momento stiamo solo configurando il backtesting su Tradingview!

Prova a giocare con questo codice, cambia gli indicatori, cambia i parametri della strategia e abituati alla piattaforma.

Spero che questo post ti aiuti a iniziare!