Index
Pine Script è un linguaggio di programmazione creato da TradingView per testare le strategie di trading e creare indicatori personalizzati. Pine Script è stato progettato per essere leggero e, nella maggior parte dei casi, puoi raggiungere i tuoi obiettivi con meno righe di codice rispetto ad altri linguaggi di programmazione. Non si basa su un linguaggio particolare, ma se hai usato Python, noterai delle somiglianze. Il codice può essere creato all’interno dell’editor Pine che fa parte della piattaforma di tradingView, puoi ovviamente utilizzare altri editor per l’editing del codice come Visual Studio Code che ha una estensione proprio dedicata a Pine, ovviamente per testare dovrai riportare il codice sul pine editor di TradingView.
Perche usare Pine Script?
Dati già disponibili
Creare strategie da zero ed indicatori in altri linguaggi implica la gestione ed il reperimento di grandi quantità di dati, non solo, dovrai anche formattarli per lo specifico linguaggio ed il processo descritto richiede certamente molto tempo. TrafingView ha già tutto il necessario per procedere, dovrai preoccuparti solo della realizzazione della tua strategia, possiamo dire la stessa cosa per quanto riguarda i test delle strategie, i dati storici sono già disponibili ed una volta pronta la strategia potra essere testata nella tab dedicata, tester strategia.
Facile da imparare
Pine Script come linguaggio, è molto flessibile ed orientativamente più semplice e leggibile rispetto ad altri linguaggi di programmazione, inoltre l’editor integrato assiste lo sviluppatore fornendo suggerimenti e soluzioni agli errori che possono verificarsi in fase di deploy.
Indicatori e strategie già pronte
TradingView ha una community di sviluppatori e trader molto grande e fornisce script con strategie già pronte oltre agli indicatori, avere accesso al codice open source è un ottimo modo per imparare da altri sviluppatori. Inoltre, in alcuni casi, qualcun altro potrebbe aver già scritto in parte o completamente la strategia o l’indicatore che stai cercando di realizzare.
Come iniziare con Pine Script
Iniziare ad imparare Pine Script è piuttosto semplice, non dovrai scaricare o installare niente, TradingView di mette già tutto a disposizione nell’editor Pine, per utilizzarlo, non hai neanche bisogno di un account, questo ti servirà se vorrai salvare le strategie o gli indicatiri che realizzerai.
Primo sguardo all’editor
Nell’Editor Pine, creerai un indicatore o una strategia. Vedremo insieme le differenze nel corso di questa guida a Pine Script. L’immagine rappresenta la prima schermata che si si paleserà davandi dopo aver cliccato su editor Pine.
Vediamo il contenuto
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
Questa prima riga di codice è semplicemente un commento, i commenti in Pine Script iniziano con //
//@Version=4
Questa riga non è come potrebbe sembrare semplicemente un commento, bensi una direttiva per il compilatore, gli indica quale versione deve usare.
Puoi omettere le prime due righe di commento ma la versione è necessaria, se questa è omessa, pine utilizzerà la versione di default, ovvero la 1.
study("My Script")
La riga 5 è una dichiarazione, viene specificato lo scopo dello script, ovvero creare uno studio (study) o una strategia (strategy).
study("My Script")
La riga 6 indica come suggerisce il nome di stampare una specifica variabile sui grafico. Nel caso in argomento, verrà tracciata la variabile close, ovvero un grafico che tiene conto solo delle chiusure delle candele nel timeframe selezionato.
Una volta aggiunto al grafico vedrai qualcosa simile all’immagine sottostrante.
Da notare: la finestra dei dati mostra “Il mio Script” nell’angolo in alto a sinistra. Questo estrae tutto ciò che è stato inserito nella riga 5 del nostro codice in cui abbiamo dichiarato un nome per lo studio.
Ecco dunque visualizzato il risultato dello script di default.
Come recuperare il prezzo di Amazon?
Nello script di default utilizzato per stampare il grafico, come detto, viene riportato l’andamento del prezzo dell’asset selezionato, in questo caso, Bitcoin.
Ma cosa succede desideriamo ottenere dati per un’altro asset? Esaminiamo un esempio in cui prendiamo il prezzo di Amazon anche se non abbiamo il grafico di Amazon aperto.
Ogni script di default inizia con poche righe in cui viene impostata la direttiva per il compilatore, andiamo ad indicare anche se si tratta di uno studio o di una strategia.
//@version=4 study("prezzo Amazon")
Stiamo dunque creando uno studio per analizzare il prezzo di Amazon. A questo punto, dobbiamo dire a Pine script che siamo interessati a un asset diverso da quello attualmente visualizzato sul grafico, lo facciamo con la funzione security().
security()
Una interessante caratteristica dello script Pine è che l’aiuto è sempre facilmente disponibile se stai lavorando con una sintassi con cui non hai mai lavorato prima.
per informazioni più dettagliate, ctrl + click.
L’aiuto chiarisce quella che è la sintassi e ha anche degli utili esempi.
security("AMZN", "D", close)
Abbiamo usato una sintassi simile all’esempio nel frammento di codice sopra. Il primo valore nella funzionesecurity() è il simbolo ticker che è AMZN, quindi impostiamo l’intervallo di tempo su giornaliero. E infine, diciamo a Pine script che siamo interessati al prezzo di chiusura.
Salviamo in una variabile il risultato della funzione.
amazon_price = security("AMZN", "D", close)
amazon_price, conterrà le chiusure giornaliere del tiker, gli studi creati con lo script Pine devono avere almeno un output, altrimenti lo script genererà un errore del compilatore.
plot(amazon_price)
Ecco dunque il risultato
Il codice
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © dariopironi //@version=4 study("Il mio Script") amazon_price = security("AMZ", "D", close) plot(amazon_price)
Conclusione
Studiando Pine potrai realizzare le tue strategie ed i tuoi indicatori personalizzati ed applicarli a bot per il trading automatico, ho scritto un’articolo sull’argomento, Come realizzare un semplice Trading Bot per Coinbase Pro.