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.