Hi there
Can you make this indicator ?
What do you think ?
Any one who can help with this ? Please se below for code.
https://www.tradingview.com/script/P...re-True-Range/
Jaggedsofts version.
//@version=2
//Original by DonovanWall: https://www.tradingview.com/script/J...lti-Filter-DW/
study("Laguerre True Range", shorttitle="LTR", overlay=true)
src = input(defval=hl2, title="Source")
drawRibbon = input(false, "Draw Ribbon?")
showcross = input(true, "Show cross over/under")
//Gamma Inputs
gamma1 = input(defval=0.1, step=0.001, title="Gamma 1")
gamma2 = input(defval=0.15, step=0.001, title="Gamma 2")
gamma3 = input(defval=0.2, step=0.001, title="Gamma 3")
gamma4 = input(defval=0.25, step=0.001, title="Gamma 4")
gamma5 = input(defval=0.3, step=0.001, title="Gamma 5")
gamma6 = input(defval=0.35, step=0.001, title="Gamma 6")
gamma7 = input(defval=0.4, step=0.001, title="Gamma 7")
gamma8 = input(defval=0.45, step=0.001, title="Gamma 8")
gamma9 = input(defval=0.5, step=0.001, title="Gamma 9")
gamma10 = input(defval=0.55, step=0.001, title="Gamma 10")
gamma11 = input(defval=0.6, step=0.001, title="Gamma 11")
gamma12 = input(defval=0.65, step=0.001, title="Gamma 12")
gamma13 = input(defval=0.7, step=0.001, title="Gamma 13")
gamma14 = input(defval=0.75, step=0.001, title="Gamma 14")
gamma15 = input(defval=0.8, step=0.001, title="Gamma 15")
gamma16 = input(defval=0.85, step=0.001, title="Gamma 16")
gamma17 = input(defval=0.9, step=0.001, title="Gamma 17")
gamma18 = input(defval=0.95, step=0.001, title="Gamma 18")
//Laguerre Filter
laguerre(a, b) =>
l0 = (1 - b)*a+b*nz(l0[1])
l1 = -b*l0+nz(l0[1])+b*nz(l1[1])
l2 = -b*l1+nz(l1[1])+b*nz(l2[1])
l3 = -b*l2+nz(l2[1])+b*nz(l3[1])
laguerre = (l0 + 2*l1 + 2*l2 + l3)/6
//Filter Values
lag1 = laguerre(src, gamma1)
lag2 = laguerre(src, gamma2)
lag3 = laguerre(src, gamma3)
lag4 = laguerre(src, gamma4)
lag5 = laguerre(src, gamma5)
lag6 = laguerre(src, gamma6)
lag7 = laguerre(src, gamma7)
lag8 = laguerre(src, gamma8)
lag9 = laguerre(src, gamma9)
lag10 = laguerre(src, gamma10)
lag11 = laguerre(src, gamma11)
lag12 = laguerre(src, gamma12)
lag13 = laguerre(src, gamma13)
lag14 = laguerre(src, gamma14)
lag15 = laguerre(src, gamma15)
lag16 = laguerre(src, gamma16)
lag17 = laguerre(src, gamma17)
lag18 = laguerre(src, gamma18)
//Average Laguerre True Range
altr = (laguerre(tr, gamma1) + laguerre(tr, gamma2) + laguerre(tr, gamma3) + laguerre(tr, gamma4) + laguerre(tr, gamma5) + laguerre(tr, gamma6) + laguerre(tr, gamma7) + laguerre(tr, gamma8) + laguerre(tr, gamma9) + laguerre(tr, gamma10) + laguerre(tr, gamma11) + laguerre(tr, gamma12) + laguerre(tr, gamma13) + laguerre(tr, gamma14) + laguerre(tr, gamma15) + laguerre(tr, gamma16) + laguerre(tr, gamma17) + laguerre(tr, gamma18))/18
amlag = (lag1 + lag2 + lag3 + lag4 + lag5 + lag6 + lag7 + lag8 + lag9 + lag10 + lag11 + lag12 + lag13 + lag14 + lag15 + lag16 + lag17 + lag18)/18
//Bands
hb1 = amlag + altr*1.618
hb2 = amlag + 2*altr*1.618
lb1 = amlag - altr*1.618
lb2 = amlag - 2*altr*1.618
fcolor = amlag >= amlag[1] ? lime : red
bcolor = #651FFF
//Band Plots
hplot2 = plot(hb2, color=bcolor, linewidth=2, title="High Band 2", transp=60)
hplot1 = plot(hb1, color=bcolor, linewidth=2, title="High Band 1", transp=60)
alplot = plot(amlag, color=bcolor, linewidth=1, title="Average Laguerre Filter", transp=80)
lplot1 = plot(lb1, color=bcolor, linewidth=2, title="Low Band 1", transp=60)
lplot2 = plot(lb2, color=bcolor, linewidth=2, title="Low Band 2", transp=60)
//Band Fills
fill(hplot1, hplot2, color=bcolor, title="High Band Fill", transp=80)
fill(lplot1, lplot2, color=bcolor, title="Low Band Fill", transp=80)
//Ribbon Plots
plot(drawRibbon ? lag18 : na, color=lag18 >= lag18[1] ? lime : red, linewidth=1, title="Laguerre Filter 18")
plot(drawRibbon ? lag17 : na, color=lag17 >= lag17[1] ? lime : red, linewidth=1, title="Laguerre Filter 17")
plot(drawRibbon ? lag16 : na, color=lag16 >= lag16[1] ? lime : red, linewidth=1, title="Laguerre Filter 16")
plot(drawRibbon ? lag15 : na, color=lag15 >= lag15[1] ? lime : red, linewidth=1, title="Laguerre Filter 15")
plot(drawRibbon ? lag14 : na, color=lag14 >= lag14[1] ? lime : red, linewidth=1, title="Laguerre Filter 14")
plot(drawRibbon ? lag13 : na, color=lag13 >= lag13[1] ? lime : red, linewidth=1, title="Laguerre Filter 13")
plot(drawRibbon ? lag12 : na, color=lag12 >= lag12[1] ? lime : red, linewidth=1, title="Laguerre Filter 12")
plot(drawRibbon ? lag11 : na, color=lag11 >= lag11[1] ? lime : red, linewidth=1, title="Laguerre Filter 11")
plot(drawRibbon ? lag10 : na, color=lag10 >= lag10[1] ? lime : red, linewidth=1, title="Laguerre Filter 10")
plot(drawRibbon ? lag9 : na, color=lag9 >= lag9[1] ? lime : red, linewidth=1, title="Laguerre Filter 9")
plot(drawRibbon ? lag8 : na, color=lag8 >= lag8[1] ? lime : red, linewidth=1, title="Laguerre Filter 8")
plot(drawRibbon ? lag7 : na, color=lag7 >= lag7[1] ? lime : red, linewidth=1, title="Laguerre Filter 7")
plot(drawRibbon ? lag6 : na, color=lag6 >= lag6[1] ? lime : red, linewidth=1, title="Laguerre Filter 6")
plot(drawRibbon ? lag5 : na, color=lag5 >= lag5[1] ? lime : red, linewidth=1, title="Laguerre Filter 5")
plot(drawRibbon ? lag4 : na, color=lag4 >= lag4[1] ? lime : red, linewidth=1, title="Laguerre Filter 4")
plot(drawRibbon ? lag3 : na, color=lag3 >= lag3[1] ? lime : red, linewidth=1, title="Laguerre Filter 3")
plot(drawRibbon ? lag2 : na, color=lag2 >= lag2[1] ? lime : red, linewidth=1, title="Laguerre Filter 2")
plot(drawRibbon ? lag1 : na, color=lag1 >= lag1[1] ? lime : red, linewidth=1, title="Laguerre Filter 1")
crossdn = high < hb2[1] and high[1] >= hb2[1] //and src < src[1]
crossup = low > lb2[1] and low[1] <= lb2[1] //and src > src[1]
plotshape(showcross and crossdn ? hb2 : na, location=location.absolute, style=shape.labeldown, color=red, size=size.tiny, text="Sell", textcolor=white, transp=0, offset=-1)
plotshape(showcross and crossup ? lb2 : na, location=location.absolute, style=shape.labelup, color=green, size=size.tiny, text="Buy", textcolor=white, transp=0, offset=-1)
barcolor(fcolor)
Can you make this indicator ?
What do you think ?
Any one who can help with this ? Please se below for code.
https://www.tradingview.com/script/P...re-True-Range/
Jaggedsofts version.
//@version=2
//Original by DonovanWall: https://www.tradingview.com/script/J...lti-Filter-DW/
study("Laguerre True Range", shorttitle="LTR", overlay=true)
src = input(defval=hl2, title="Source")
drawRibbon = input(false, "Draw Ribbon?")
showcross = input(true, "Show cross over/under")
//Gamma Inputs
gamma1 = input(defval=0.1, step=0.001, title="Gamma 1")
gamma2 = input(defval=0.15, step=0.001, title="Gamma 2")
gamma3 = input(defval=0.2, step=0.001, title="Gamma 3")
gamma4 = input(defval=0.25, step=0.001, title="Gamma 4")
gamma5 = input(defval=0.3, step=0.001, title="Gamma 5")
gamma6 = input(defval=0.35, step=0.001, title="Gamma 6")
gamma7 = input(defval=0.4, step=0.001, title="Gamma 7")
gamma8 = input(defval=0.45, step=0.001, title="Gamma 8")
gamma9 = input(defval=0.5, step=0.001, title="Gamma 9")
gamma10 = input(defval=0.55, step=0.001, title="Gamma 10")
gamma11 = input(defval=0.6, step=0.001, title="Gamma 11")
gamma12 = input(defval=0.65, step=0.001, title="Gamma 12")
gamma13 = input(defval=0.7, step=0.001, title="Gamma 13")
gamma14 = input(defval=0.75, step=0.001, title="Gamma 14")
gamma15 = input(defval=0.8, step=0.001, title="Gamma 15")
gamma16 = input(defval=0.85, step=0.001, title="Gamma 16")
gamma17 = input(defval=0.9, step=0.001, title="Gamma 17")
gamma18 = input(defval=0.95, step=0.001, title="Gamma 18")
//Laguerre Filter
laguerre(a, b) =>
l0 = (1 - b)*a+b*nz(l0[1])
l1 = -b*l0+nz(l0[1])+b*nz(l1[1])
l2 = -b*l1+nz(l1[1])+b*nz(l2[1])
l3 = -b*l2+nz(l2[1])+b*nz(l3[1])
laguerre = (l0 + 2*l1 + 2*l2 + l3)/6
//Filter Values
lag1 = laguerre(src, gamma1)
lag2 = laguerre(src, gamma2)
lag3 = laguerre(src, gamma3)
lag4 = laguerre(src, gamma4)
lag5 = laguerre(src, gamma5)
lag6 = laguerre(src, gamma6)
lag7 = laguerre(src, gamma7)
lag8 = laguerre(src, gamma8)
lag9 = laguerre(src, gamma9)
lag10 = laguerre(src, gamma10)
lag11 = laguerre(src, gamma11)
lag12 = laguerre(src, gamma12)
lag13 = laguerre(src, gamma13)
lag14 = laguerre(src, gamma14)
lag15 = laguerre(src, gamma15)
lag16 = laguerre(src, gamma16)
lag17 = laguerre(src, gamma17)
lag18 = laguerre(src, gamma18)
//Average Laguerre True Range
altr = (laguerre(tr, gamma1) + laguerre(tr, gamma2) + laguerre(tr, gamma3) + laguerre(tr, gamma4) + laguerre(tr, gamma5) + laguerre(tr, gamma6) + laguerre(tr, gamma7) + laguerre(tr, gamma8) + laguerre(tr, gamma9) + laguerre(tr, gamma10) + laguerre(tr, gamma11) + laguerre(tr, gamma12) + laguerre(tr, gamma13) + laguerre(tr, gamma14) + laguerre(tr, gamma15) + laguerre(tr, gamma16) + laguerre(tr, gamma17) + laguerre(tr, gamma18))/18
amlag = (lag1 + lag2 + lag3 + lag4 + lag5 + lag6 + lag7 + lag8 + lag9 + lag10 + lag11 + lag12 + lag13 + lag14 + lag15 + lag16 + lag17 + lag18)/18
//Bands
hb1 = amlag + altr*1.618
hb2 = amlag + 2*altr*1.618
lb1 = amlag - altr*1.618
lb2 = amlag - 2*altr*1.618
fcolor = amlag >= amlag[1] ? lime : red
bcolor = #651FFF
//Band Plots
hplot2 = plot(hb2, color=bcolor, linewidth=2, title="High Band 2", transp=60)
hplot1 = plot(hb1, color=bcolor, linewidth=2, title="High Band 1", transp=60)
alplot = plot(amlag, color=bcolor, linewidth=1, title="Average Laguerre Filter", transp=80)
lplot1 = plot(lb1, color=bcolor, linewidth=2, title="Low Band 1", transp=60)
lplot2 = plot(lb2, color=bcolor, linewidth=2, title="Low Band 2", transp=60)
//Band Fills
fill(hplot1, hplot2, color=bcolor, title="High Band Fill", transp=80)
fill(lplot1, lplot2, color=bcolor, title="Low Band Fill", transp=80)
//Ribbon Plots
plot(drawRibbon ? lag18 : na, color=lag18 >= lag18[1] ? lime : red, linewidth=1, title="Laguerre Filter 18")
plot(drawRibbon ? lag17 : na, color=lag17 >= lag17[1] ? lime : red, linewidth=1, title="Laguerre Filter 17")
plot(drawRibbon ? lag16 : na, color=lag16 >= lag16[1] ? lime : red, linewidth=1, title="Laguerre Filter 16")
plot(drawRibbon ? lag15 : na, color=lag15 >= lag15[1] ? lime : red, linewidth=1, title="Laguerre Filter 15")
plot(drawRibbon ? lag14 : na, color=lag14 >= lag14[1] ? lime : red, linewidth=1, title="Laguerre Filter 14")
plot(drawRibbon ? lag13 : na, color=lag13 >= lag13[1] ? lime : red, linewidth=1, title="Laguerre Filter 13")
plot(drawRibbon ? lag12 : na, color=lag12 >= lag12[1] ? lime : red, linewidth=1, title="Laguerre Filter 12")
plot(drawRibbon ? lag11 : na, color=lag11 >= lag11[1] ? lime : red, linewidth=1, title="Laguerre Filter 11")
plot(drawRibbon ? lag10 : na, color=lag10 >= lag10[1] ? lime : red, linewidth=1, title="Laguerre Filter 10")
plot(drawRibbon ? lag9 : na, color=lag9 >= lag9[1] ? lime : red, linewidth=1, title="Laguerre Filter 9")
plot(drawRibbon ? lag8 : na, color=lag8 >= lag8[1] ? lime : red, linewidth=1, title="Laguerre Filter 8")
plot(drawRibbon ? lag7 : na, color=lag7 >= lag7[1] ? lime : red, linewidth=1, title="Laguerre Filter 7")
plot(drawRibbon ? lag6 : na, color=lag6 >= lag6[1] ? lime : red, linewidth=1, title="Laguerre Filter 6")
plot(drawRibbon ? lag5 : na, color=lag5 >= lag5[1] ? lime : red, linewidth=1, title="Laguerre Filter 5")
plot(drawRibbon ? lag4 : na, color=lag4 >= lag4[1] ? lime : red, linewidth=1, title="Laguerre Filter 4")
plot(drawRibbon ? lag3 : na, color=lag3 >= lag3[1] ? lime : red, linewidth=1, title="Laguerre Filter 3")
plot(drawRibbon ? lag2 : na, color=lag2 >= lag2[1] ? lime : red, linewidth=1, title="Laguerre Filter 2")
plot(drawRibbon ? lag1 : na, color=lag1 >= lag1[1] ? lime : red, linewidth=1, title="Laguerre Filter 1")
crossdn = high < hb2[1] and high[1] >= hb2[1] //and src < src[1]
crossup = low > lb2[1] and low[1] <= lb2[1] //and src > src[1]
plotshape(showcross and crossdn ? hb2 : na, location=location.absolute, style=shape.labeldown, color=red, size=size.tiny, text="Sell", textcolor=white, transp=0, offset=-1)
plotshape(showcross and crossup ? lb2 : na, location=location.absolute, style=shape.labelup, color=green, size=size.tiny, text="Buy", textcolor=white, transp=0, offset=-1)
barcolor(fcolor)
Attached File(s)
LTR Ribbon.pdf
36 KB
|
262 downloads