September 9, 2020
Diverse funzioni che ora supportano periodi dinamici

Gli sviluppatori Pine possono ora implementare periodi calcolati in modo dinamico con le seguenti funzioni:

alma()
change()
highest()
highestbars()
linreg()
lowest()
lowestbars()
mom()
sma()
sum()
vwma()
wma()

Poter usufruire di serie di periodi (invece che valori fissi) renderà più facile creare indicatori Pine flessibili e basati su periodi variabili. Ad esempio, guarda come usiamo la volatilità per aumentare o diminuire il periodo dell’ALMA (media mobile Arnaud Legoux) nella linea più spessa rispetto alla versione statica tradizionale raffigurata dalla linea sottile:

//@version=4
study("Adaptive ALMA", "AALMA", true)
i_minLen    = input(10, minval = 1)
i_maxLen    = input(60, minval = 1)
i_adaptPct  = input(3., minval = 0, maxval = 100) / 100.0

startingLen = avg(i_minLen, i_maxLen)
var float dynamicLen = startingLen
highVolatility = atr(10) > atr(40)
if highVolatility
    dynamicLen := max(i_minLen, dynamicLen * (1 - i_adaptPct))
else
    dynamicLen := min(i_maxLen, dynamicLen * (1 + i_adaptPct))
dynamicAlma = alma(close, int(dynamicLen),  0.85, 6)
staticAlma  = alma(close, int(startingLen), 0.85, 6)

maColor(_ma) => close > _ma ? highVolatility ? #40FF00ff : #40FF0060 : highVolatility ? #FF0080ff : #FF008060
plot(dynamicAlma, "Dynamic Alma", maColor(dynamicAlma), 3)
plot(staticAlma,  "Static Alma",  maColor(staticAlma),  1)
// Follow the calculated Length in the Data Window.
plotchar(dynamicLen, "dynamicLength", "")

Anche se può sembrar comodo usare valori float (con cifre decimali) per calcolare i periodi in modo dinamico, ricordate di convertirli prima ad “int” (valori interi, senza decimali), come mostrato nell’esempio qui sopra. Inoltre, tenete a mente che, come sempre, queste funzioni esigono una valutazione per ogni barra, pertanto dovrebbero essere utilizzate al di fuori dei loop `for` e dei blocchi `if` che non sono eseguiti su ogni barra.

Speriamo che questa novità sia gradita e utile. Continuate ad inviarci i vostri suggerimenti, che ci permettono di migliorare di volta in volta. TradingView è vostro e vogliamo che siate parte integrante della sua evoluzione.

The fastest way to follow markets

Launch Chart