February 4, 2021
Nuove funzioni Pine con il supporto dei periodi dinamici

Lo scorso Settembre abbiamo per la prima volta annunciato il supporto dei periodi dinamici per alcune funzioni su Pine. Oggi siamo felici di estendere la lista con le seguenti funzioni:

bb()
bbw()
cci()
cmo()
cog()
correlation()
dev()
falling()
mfi()
percentile_linear_interpolation()
percentile_nearest_rank()
percentrank()
rising()
roc()
stdev()
stoch()
variance()
wpr()

L’utilizzo di serie come periodi rende più facile esprimere la propria fantasia con Pine, grazie alla possibilità di calcolare questi valori sulla base di intervalli di tempo variabili. Ad esempio, il seguente script usa la funzione integrata stdev() per calcolare le bande di deviazione standard per l’indicatore VWAP. Il calcolo del periodo assegnato a stdev() aumenta di 1 per ogni barra fino a quando il periodo di VWAP si resetta:

//@version=4
study(title="VWAP", shorttitle="VWAP", overlay=true)
src = input(title = "Source", type = input.source, defval = hlc3)
t = time("D")
start = na(t[1]) or t > t[1]
sumSrc = src * volume
sumVol = volume
sumSrc := start ? sumSrc : sumSrc + sumSrc[1]
sumVol := start ? sumVol : sumVol + sumVol[1]
vwapValue = sumSrc / sumVol
var barsSinceStart = 0
if start
    barsSinceStart := 0
barsSinceStart := barsSinceStart + 1
stdevLen = bar_index == 0 ? 3000 : barsSinceStart // max_bars_back workaround
vwapStdev = stdev(vwapValue, stdevLen)
plot(vwapValue, title="VWAP", color=color.blue)
upperBand = plot(vwapValue+vwapStdev, title="Upper Band", color=color.green)
lowerBand = plot(vwapValue-vwapStdev, title="Lower Band", color=color.green)
upperBand2 = plot(vwapValue+vwapStdev*2, title="Upper Band 2", color=color.yellow)
lowerBand2 = plot(vwapValue-vwapStdev*2, title="Lower Band 2", color=color.yellow)
fill(upperBand2, lowerBand2, color=color.yellow, transp=95)

Tenete a mente che queste funzioni richiedono l’elaborazione ad ogni barra, quindi dovrebbero essere tenute fuori da loop ‘for’ o blocchi ‘if’ non eseguiti ad ogni barra. Inoltre, usare una serie come periodo per una funzione integrata potrebbe causare l’errore ‘Pine cannot determine the referencing length of a series’. Per maggiori informazioni e per sapere come girarci attorno, visitate il nostro Centro di supporto.

Tutti gli aggiornamenti su Pine sono disponibili nelle Note di rilascio disponibili all’interno del Manuale utente.

Speriamo che questa novità possa far piacere ai programmatori all’ascolto. TradingView è vostra, quindi non esitate a contattarci nel caso abbiate suggerimenti utili.

La strada più veloce per i mercati

Apri grafico