RicardoSantos

[RS]Average Advance and Decline Curved Lines V0

477 3 68
exponential curve linear regression , use falloff multiplier to control curve falloff strength.
Remove from Favorite Scripts Add to Favorite Scripts
study("[RS]AA&DCL.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]) - nz(fallingdecay[1])
botdecay = n < 10 ? low : low <= nz(botdecay[1]) ? low : nz(botdecay[1]) + nz(risingdecay[1])
//  ||---   Counters for decay
falloffmultiplier = input(1.1)

fallingdecaycounter = topdecay < topdecay[1] ? nz(fallingdecaycounter[1]) * sqrt(falloffmultiplier) : falloffmultiplier
risingdecaycounter = botdecay > botdecay[1] ? nz(risingdecaycounter[1]) * sqrt(falloffmultiplier) : falloffmultiplier

fallingdecay = (fallingdecaymultiplier * fallingdecaycounter)// * avgdecaymultiplier
risingdecay = (risingdecaymultiplier * risingdecaycounter)// * avgdecaymultiplier

//topdecay2 = topdecay - fallingdecay
//botdecay2 = botdecay + risingdecay
//  ||---   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] and topdecay >= high ? maroon : na : topdecay < topdecay[1] and topdecay >= high ? gray : na
botdecaycolor = breakoutup ? botdecay > botdecay[1] and botdecay <= low ? green : na : botdecay > botdecay[1] and botdecay <= low ? 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)
Just have to give you kudos -- really clever programming here! Well done :D
Reply
RicardoSantos PRO SPYderCrusher
2 years ago
thx :)
Reply
JayRogers
10 months ago
Absolutely fantastic work here Ricardo. Will be studying this in detail - thankyou for sharing!
Reply
Ideas Scripts Chart
United States
United Kingdom
India
España
France
Italia
Brasil
Россия
Türkiye
日本
한국
Home Stock Screener Forex Screener Economic Calendar How It Works Chart Features House Rules Moderators For the WEB Widgets Stock Charting Library Priority Support Feature Request Blog & News FAQ Help & Wiki Twitter
Private Messages Chat Ideas Published Followers Following Priority Support Public Profile Profile Settings Account and Billing Sign Out