Text Size
Sunday, July 12, 2020
Area

Gandalf Store

Coding

Formazione

Consulenza

Il modo più veloce e gratuito per testare idee di trading? Pine Script by Trading View

Focus sul Codice: quando si parla di “meta-codici” (linguaggi che girano su piattaforme commerciali e che non sono veri e propri linguaggi di programmazione come Python o Java) non tutte le soluzioni si equivalgono e come professionisti del coding vi diciamo la nostra in questo articolo. 

Nel panorama dei codici per testare idee di trading (che consentono anche la realizzazione di una parte grafica di alto livello), segnalo il linguaggio Pine Script di Trading View. Si tratta degli stessi realizzatori del software Multicharts (forse il miglior software commerciale in circolazione per fare backtest di strategie), che hanno esteso la loro esperienza in ambito interfacciamento tra flusso dati ed API dei vari broker, realizzando una declinazione Cloud e Web Oriented.

In pratica è possibile accedere da browser a migliaia di grafici gratuiti (azionario di tutto il mondo, futures, forex, CDF, cryptovalute, indici e indicatori economici), fruire delle centinaia di indicatori, funzioni e strategie native ed accedere ad una community internazionale in continua crescita. Se oggi dovessi indirizzare un neofita del trading, questa è la soluzione che consiglierei. Un oceano di informazioni a disposizione direttamente da browser, senza dover installare alcuna piattaforma e con una flessibilità notevole. Non abbiamo la profondità di Python ma è un buon inizio (gli studenti della Python Academy riusciranno ad essere padroni del codice sin dalle prime righe).

Come fruire di tutto ciò? Basta registrarsi gratuitamente al sito www.tradingview.com e creare un account personale.

Passiamo al codice Pine Script: è possibile con poche righe scrivere indicatori grafici e strategie più o meno complesse. Una guida in italiano semplifica la vita a chi abbia dei dubbi sulla sintassi o sulle varie funzionalità. Contrariamente a prodotti stand alone come Tradestation o Multicharts, qui possiamo integrare in un unico codice sia gli aspetti grafici che quelli operativi, senza la sgradevole necessità di creare oggetti distinti (come indicators, functions e strategies).

Desidero illustrare le caratteristiche di tale linguaggio codificando qualcosa di un po’ più strutturato di un semplice esempio didattico. Ho messo a disposizione gratuitamente del pubblico un primo script di esempio per intercettare dei grandi movimenti al rialzo sull’azionario, limitandomi alla parte long (rialzista).

In riga 8 diamo un nome alla strategia e definiamo il numero di barre all’indietro su cui effettuare i calcoli sulle serie di dati. Da riga 10 a riga 14 impostiamo cinque input:

Instrument: il tipo di strumento (1 se azione o valuta Forex, 2 se future)
money: il controvalore in dollari per ciascuna operazione.
backtest_start: l’anno di inizio del backtest.
period: il period associato ad un Donchian Channel
monetary_stoploss: il valore monetario dello stop loss per singola operazione.

Si noti la pulizia del codice che ricorda Python, con la mancanza di definizione variabili e di punteggiatura a fine riga. L’editor è pulito e siamo anni luce davanti ad altri linguaggi anche più popolari.

Le sintassi condizionali ricordano ancora una volta Python, con l’indentazione (il rientro) del codice che definisce le gerarchie del codice. Da riga 16 a riga 19 diciamo alla macchina che se siamo in presenza di un future, associamo alla variabile quantity un contratto di default, altrimenti il rapporto intero tra money e la close di barra (per calcolare il numero di azioni).

In riga 20 e 21 calcoliamo il canale di Donchian superiore (massimo dei massimi) ed inferiore (minimo dei minimi) a finestra scorrevole. Associamo due livelli più reattivi (up e down) che utilizzeremo come trailing stop nella strategia.

Da riga 26 a riga 29 codifichiamo in maniera elementare la stampa degli indicatori ottenuti.

In riga 31 definiamo il setup di ingresso con il superamento del Donchian superiore da parte delle chiusure.

In riga 33 e 34 codifichiamo la condizione di ingresso, cui diamo l’etichetta “Long”, imponendo di non essere già in posizione.

In riga 36 imponiamo la condizione di attraversamento delle close sul Donchian veloce “down” e in riga 38 e 39 impostiamo la condizione di chiusura della posizione “Long” con l’etichetta “Trailing”.

Non ci rimane che creare ed impostare uno stop loss monetario. In riga 41 definiamo il livello di stop corrispondente ad una perdita monetaria definita dall’input “monetary_stoploss” e in riga 42 impostiamo un ordine stop su tale livello. In riga 43 disegniamo il prezzo corrispondente per ciascun trade.

Infine, da riga 45 a riga 48 scriviamo una label in corrispondenza dell’ultima candela utile.

Il gioco è fatto!

 

E’ sufficiente salvare lo script ed applicarlo ad un grafico a piacere, avendo cura di specificare lo strumento utilizzato.

A tale scopo invito a fare un doppio click sul nome della strategia sovrapposta al grafico in alto a sinistra sotto il nome dello strumento visualizzato.

Ciascuno degli input codificati è rappresentato nella maschera di lavoro e possiamo divertirci a cambiare i valori associati.

Nel nostro esempio abbiamo applicato la strategia al titolo azionario Apple Inc. (ticker AAPL) dove sembra funzionare piuttosto bene. Possiamo visualizzare con un click il Performance Report (qui chiamato Strategy Tester) dove possiamo apprezzare una percentuale di trade vincenti del 64% ed un Profit Factor di 2.8. Nell’Overview sono presentati l’equity line dei profitti la curva di draw down, mentre nel Performance Summary possiamo analizzare in dettaglio le principali metriche del trading system.

Infine in List of Trades possiamo visionare i singoli trade processati in backtest.

Questo articolo è stato solo un primo avvicinamento alle funzionalità di TradingView. Vi invito a provarlo e credetemi se vi dico che non ricevo alcun compenso per quanto vi ho scritto. Trading View è un nuovo paradigma per il trading online ed è già possibile operare su diversi broker in modo manuale direttamente dai suoi grafici. Come osservatore non posso che prenderne atto e attendere le contromosse dei competitor. 

La strada è segnata...

Questo il link per testare il codice Pine Script presentato in questo articolo!

Buon divertimento!

Giovanni Trombetta

Head of Research & Development Gandalf Project

 

Privacy & Cookies Policy

Questo sito utilizza i Cookies per migliorare la navigazione. Utilizzando questo sito e continuando nella navigazione si intende accettata la Privacy Policy e la Cookies Policy. Puoi bloccare in ogni momento questa raccolta di informazioni seguendo le istruzioni contenute in queste pagine.

 

Topics

Intelligenza Artificiale

L' Intelligenza Artificiale e le più moderne tecnologie di Ingegneria Genetica al servizio del Trading...

Read more...

Consulenza

Gandalf Project è sia un Laboratorio di Finanza Quantitativa che una Società di Consulenza...

Read more...

Python

La scelta di Python come codice elementare per la modellizzazione di ambienti complessi...

Read more...