Description ⋅ 21 sept. 2018 02:29 // Fixed error message "Index should not be negative(-8)" // // @Author lonestar108 // study(title = "3/9/27/9 Zero Lag EMA / EMA / Pivots / Dynamic Support", shorttitle="3/9/27/9 ZLEMA/EMA/Pivots/Support", overlay=true) src=close lengths=input(3, title="Short Period Length") length=input(9, title="Fast Period Length") length2=input(27, title="Slow Period Length") plen=input(9, minval=1, title="Pivot Period Length") // ema, zero lag ema ema1=ema(src, length) ema2=ema(ema1, length) d=ema1-ema2 zlema=ema1+d ema3=ema(src, length2) // ema, zero lag ema ema4=ema(src, length) ema5=ema(ema4, length) d2=ema4-ema5 zlema2=ema4+d ema6=ema(src, length2) // pivot points highest_high = highest(high, plen) highest_dev = dev(highest_high, plen) ? na : highest_high high_pivot = highest_dev[-plen+1] high_series = fixnan(high_pivot) lowest_low = lowest(low, plen) lowest_dev = dev(lowest_low, plen) ? na : lowest_low low_pivot = lowest_dev[-plen + 1] low_series = fixnan(low_pivot) // Sell Setup priceflip = barssince(close<close[4]) sellsetup = close>close[4] and priceflip sell = sellsetup and barssince(priceflip!=9) sell8 = sellsetup and barssince(priceflip!=8) sellovershoot = sellsetup and barssince(priceflip!=13) sellovershoot1 = sellsetup and barssince(priceflip!=14) sellovershoot2 = sellsetup and barssince(priceflip!=15) sellovershoot3 = sellsetup and barssince(priceflip!=16) // Buy setup priceflip1 = barssince(close>close[4]) buysetup = close<close[4] and priceflip1 buy = buysetup and barssince(priceflip1!=9) buy8 = buysetup and barssince(priceflip1!=8) buyovershoot = barssince(priceflip1!=13) and buysetup buyovershoot1 = barssince(priceflip1!=14) and buysetup buyovershoot2 = barssince(priceflip1!=15) and buysetup buyovershoot3 = barssince(priceflip1!=16) and buysetup // TD lines val= buy !=sell[9] TDhigh = valuewhen(val,high[9],0) val1= sell !=buy[9] TDlow = valuewhen(val1,low[9],0) //////////////////////////// // PLOTTING icolor=rising(zlema,1) ? lime : red plot(zlema, color=yellow, linewidth=1) plot(ema3, color=lime, linewidth=1) plot(high_series, style=circles, color=lime, linewidth=1) plot(low_series, style=circles, color=red, linewidth=1) plot(high_pivot + 1, color=red, style=circles, linewidth=3) plot(low_pivot - 1, color=lime, style=circles, linewidth=3) plot(cross(zlema, ema3) ? rising(zlema,1) ? low - 1 : high + 1 : na, color=icolor, style=cross, linewidth=2) plot(cross(zlema2, ema3) ? rising(zlema2,1) ? low - 1.25 : high + 1.25 : na, color=yellow, style=circles, linewidth=2) plot(cross(zlema2, ema6) ? rising(zlema2,1) ? low - 1.35 : high + 1.35 : na, color=orange, style=circles, linewidth=2) plot(cross(close, ema3) ? rising(zlema,1) ? low - 1.15 : high + 1.15 : na, color=fuchsia, style=circles, linewidth=2) plotchar(buy,'9b','9',location.belowbar,color=lime,transp=0) plotchar(sell,'9s','9',location.abovebar,color=red,transp=0) plotchar(buy8,'8b','8',location.belowbar,color=lime,transp=0) plotchar(sell8,'8s','8',location.abovebar,color=red,transp=0) plot(TDhigh ? TDhigh : na ,style=circles, linewidth=1, color=lime,offset=-9) plot(TDlow ? TDlow : na ,style=circles, linewidth=1, color=red, offset=-9) barcolor(sellovershoot? #FF66A3 : sellovershoot1? #FF3385 : sellovershoot2? #FF0066 : sellovershoot3? #CC0052 : buyovershoot? #D6FF5C : buyovershoot1? #D1FF47 : buyovershoot2? #B8E62E : buyovershoot3? #8FB224 : na) // Uncode for line chart with indicators // c = sell? #FF0000 : buy? #00FF00 : sellovershoot? #FF66A3 : sellovershoot1? #FF3385 : sellovershoot2? #FF0066 : sellovershoot3? #CC0052 : buyovershoot? #D6FF5C : buyovershoot1? #D1FF47 : buyovershoot2? #B8E62E : buyovershoot3? #8FB224 : #c0c0c0 plot(close, color=c, linewidth=1)
tradingview.com/script/pHTnSLHJ-3-9-303-9-Zero-Lag-EMA-EMA-Pivots/