Method to draw linear regression lines from average price advance&decline range
study("[RS]AA&DL.V0", overlay=true) // ||--- Inputs: tempname = input("text") risingdecaymultiplier = (syminfo.mintick*input(30.000, type=float)) fallingdecaymultiplier = (syminfo.mintick*input(30.000, type=float)) marginmultiplier = input(10) hidefallingline = input(false) hiderisingline = input(false) hidetopmargin = input(false) hidebottommargin = input(false) // ||--- Get the decay averages for tops and bottoms. topdecay = high >= nz(topdecay[1]) ? high : nz(topdecay[1]) - fallingdecaymultiplier botdecay = n < 10 ? low : low <= nz(botdecay[1]) ? low : nz(botdecay[1]) + risingdecaymultiplier // ||--- Get the margin for entry tmargin = topdecay - (fallingdecaymultiplier*marginmultiplier) bmargin = botdecay + (risingdecaymultiplier*marginmultiplier) // ||--- Detect if price is in challenge zone or outside(trending/breakout) breakoutup = close > bmargin ? true : false breakoutdown = close < tmargin ? true : false // ||--- Color Switchs: topdecaycolor = breakoutdown ? topdecay < topdecay[1] ? maroon : na : topdecay < topdecay[1] ? gray : na botdecaycolor = breakoutup ? botdecay > botdecay[1] ? green : na : botdecay > botdecay[1] ? gray : na // ||--- Outputs: plot(hidefallingline ? na : topdecay, color=topdecaycolor, style=linebr, linewidth=2, join=true) plot(hiderisingline ? na : botdecay, color=botdecaycolor, style=linebr, linewidth=2, join=true) //plot(topdecay+fallingdecaymultiplier, color=topdecaycolor, style=circles, linewidth=2) //plot(botdecay-risingdecaymultiplier, color=botdecaycolor, style=circles, linewidth=2) plot(hidetopmargin ? na : tmargin, color=topdecaycolor, style=linebr, linewidth=1, join=true) plot(hidebottommargin ? na : bmargin, color=botdecaycolor, style=linebr, linewidth=1, join=true)