Gli script realizzati con Pine potranno d’ora in avanti supportare gli array, e di conseguenze dei dataset personalizzati. Grazie a questa novità, le potenzialità di Pine vengono estese in modo significativo, permettendo agli sviluppatori di popolare, gestire e fare calcoli su strutture mono-dimensionali di dati contenenti elementi delle seguenti tipologie: float, int, bool, o color.
Questa riga di codice, ad esempio, crea un array chiamato levels contenente tre elementi float inizializzati con il valore na:
levels = array.new_float(size = 3, initial_value = na)
Gli array supportano il ridimensionamento dinamico. Ci sono varie funzioni apposite che permettono infatti di modificare (copiando, ordinando e tagliando) gli array. Inoltra, sono previste anche funzioni matematiche: array.min(), array.max(), array.stdev(), array.avg(), array.median(), etc.
In questo esempio, viene utilizzato un array per costruire un set di dati con i livelli di prezzo registrati solo dalle candele che hanno un volume rialzista, raffigurando poi la media di tali valori. L’array utilizzato ha una struttura FIFO (first in, first out):
//@version=4
study("Price Avg Of Increasing Volume Bars", "", true)
i_levels = input(20, "Levels")
i_src = input(hlc3, "Source")
// Initialize array of user-selected size with `na` values.
var levels = array.new_float(i_levels)
if rising(volume, 1)
// Remove the oldest level from the beginning of the array.
array.shift(levels)
// Add the new level to the end of the array.
array.push(levels, i_src)
// Calculate the avg of levels in the array, excluding any `na` values.
level = array.avg(levels)
plot(level, "Level", close > level ? color.lime : color.fuchsia)

Il Manuale utente Pine sugli array vi aiuterà ad orientarvi. Qui sotto trovate anche un elenco di script realizzati con l’aiuto degli appassionati Pine che hanno svolto i test necessari per rilasciare la funzionalità al pubblico, che ci teniamo a ringraziare: RicardoSantos e Duyck:
Graph style – 4th Dimension RSI

Function – Multi Dimension Indexer



Function – Polynomial Regression




Questi script aiutano a percepire come gli array possano ridefinire ciò che è possibile con Pine, aprendo la strada ad indicatori/strategie sensibilmente più complessi e potenti per tutti gli utenti TradingView.
Speriamo che questa novità possa essere accolta con favore dalla comunità, e non vediamo l’ora di scoprire come trasformerà il nostro linguaggio di programmazione. Per qualsiasi feedback, sapete che potete scriverci. Ci teniamo ad avere il supporto di tutti.