Ehlers Cyber Cycle Indicator [LazyBear]

The Cyber Cycle Indicator, developed by John Ehlers , is used for isolating the cycle component of the market from its trend counterpart. Unlike other oscillators like RSI , Cyber Cycle Indicator's wave has a variable amplitude.

Use the osc/signal crossover for entry/exit points. You can enable highlighting the crossovers by using region fills (via options page). I have also added an option to color the bars based on this.

Actually I have lot of Ehlers indicators in my to-publish backlog, will try to prioritize them over the others in the pipeline. Lets have an Ehlers week for indicators :)

More info:
Cybernetic Analysis for Stocks and Futures

List of my public indicators:
List of my app-store indicators:

List of my free indicators:
List of my indicators at Appstore:
Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.

Want to use this script on a chart?
// @author LazyBear 
// List of my public indicators: 
// List of my app-store indicators: 
study("Ehlers Cyber Cycle Indicator [LazyBear]", shorttitle="ECCI_LB", overlay=false, precision=3)
src=input(hl2, title="Source") 
alpha=input(.07, title="Alpha")
t = cycle[1]
plot(0, title="ZeroLine", color=gray) 
fr=input(true, title="Fill Osc/Trigger region")
duml=plot(fr?(cycle>t?cycle:t):na, style=circles, linewidth=0, color=gray, title="Dummy")
cmil=plot(cycle, title="CyberCycle",color=blue)
tl=plot(t, title="Trigger",color=green)
fill(cmil, duml, color=red, transp=50, title="NegativeFill")
fill(tl, duml, color=lime, transp=50, title="PositiveFill")
ebc=input(false, title="Color bars?")
bc=ebc?(cycle>0? (cycle>t?lime:(cycle==t?gray:green)): (cycle<t?red:orange)):na