Metodi su Pine Script®: ecco la sintassi

Mar 7, 2023

La notazione a punti (in gergo “dot notation”) usata per estendere metodi su altri linguaggi di programmazione, è ora disponibile anche su Pine Script®. I programmatori possono utilizzarla in due modi:

  • Con metodi definiti dall’utente, ovvero funzioni speciali definite con la nuova keyword method.
  • Con funzioni integrate, come quelle di tipologia array, box, label, line, linefill, matrix, e table, nel momento in cui il primo parametro è l’ID di un oggetto di quel tipo.

Vediamo questo semplice esempio in cui si calcola la media del minimo per una finestra mobile di barre crescenti:

//@version=5
indicator("Long stop", "", true)
int lengthInput = input(20)
var pricesArray = array.new<float>(lengthInput)

method maintainQueue(array<float> srcArray, float value) =>
    // Append a new value to the end of the array.
    srcArray.push(value)
    // Remove the oldest value from the beginning of the array.
    srcArray.shift()

if close > open
    // Track the `low` values of up bars.
    pricesArray.maintainQueue(low)

plot(pricesArray.avg(), "Stop")

Il metodo maintainQueue() è molto simile ad una normale funzione e può essere usato come tale, mentre la parola chiave method permette l’uso anche con la dot notation dopo una variabile della stessa tipologia del primo parametro. Quando lo facciamo, omettiamo il primo argomento dalla chiamata del metodo, come in pricesArray.maintainQueue(low).

Si noti anche l’uso della notazione con le funzioni del gruppo array in chiamate come srcArray.push() e srcArray.shift() all’interno del codice del metodo, è pricesArray.avg() nell’ultima riga dell’esempio.

Per ulteriori informazioni su questa nuova funzione, consultate la pagina del Manuale utente dedicata ai metodi.

Per vedere i metodi in azione, è possibile visualizzare il codice aggiornato del nostro indicatore integrato Gaps, che utilizza metodi integrati e definiti dall’utente per evidenziare i gap del grafico con dei riquadri:

Inoltre, abbiamo aggiornato il codice della nostra libreria ZigZag per utilizzare metodi integrati e definiti dall’utente:

ZigZag di TradingView

Osservate gli oggetti e i metodi utilizzati nei seguenti script da alcuni dei nostri PineCoders:

Flare di Fikira

Recursive Zigzag [Trendoscope] di HeWhoMustNotBeNamed

Recursive Auto-Pitchfork [Trendoscope] di HeWhoMustNotBeNamed

Per rimanere informati sulle nuove funzionalità di Pine Script®, tenete d’occhio le Note di rilascio del Manuale utente. Anche l’account PineCoders trasmette gli aggiornamenti dalla sua Squawk Box su Telegram, dal suo account su Twitter e dalla chat pubblica Pine Script® Q&A.

Ci auguriamo che questa funzione, fortemente richiesta, vi sia utile. Continuate a inviarci il vostro feedback e i vostri suggerimenti per eventuali miglioramenti. Noi cerchiamo di sviluppare TradingView per voi e siamo sempre desiderosi di ascoltarvi.

Look first Then leap

TradingView è realizzato per te. Assicurati di sfruttare al massimo tutte le sue funzionalità
Apri grafico