Dynamické argumenty délky pro některé Pine funkce
Následující funkce nyní podporují dynamicky vypočítané parametry.
alma() change() highest() highestbars() linreg() lowest() lowestbars() mom() sma() sum() vwma() wma()
Tato aktualizace zjednoduší tvorbu adaptivních Pine indikátorů založených na proměnných intervalech.
Zde je příklad použití volatility k prodloužení / zkrácení periody ALMA (tlustá čára) v porovnání se statickou ALMA (tenká čára):
//@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", "")
Přestože se často hodí počítat s typem float, funkce přijímají pouze int (celá čísla). Také berte na vědomí, že tyto funkce potřebují vyhodnotit každou svíčku, a proto je nepoužívejte mimo cykly které procházejí všechny svíčky.
https://www.tradingview.com/blog/en/pine-functions-support-dynamic-length-arguments-20554/