glaz

Ehlers Early Onset Trend

In his article in this issue, “The Quotient Transform,” author John Ehlers introduces the quotient transform (QT), a zero-lag filter that can be used for the purpose of timely trend detection. The QT is an advancement of the technique he presented in his January 2014 S&C article, “Predictive And Successful Indicators.” This time, the output of a roofing filter (which includes applying a high-pass filter and SuperSmoother filter) is normalized.
Code and other platforms www.traders.com/docu.../08/TradersTips.html
Pinescript code Glaz and LazyBear
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.

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this script on a chart?
//By Glaz and LazyBear
study(title="Ehlers Early Onset Trend",shorttitle="EOT")
Period=input(20)
Q1=input(0.8)
Q2=input(0.4)

Quotient(LPPeriod, K)=>
    PI = 3.1415926
    angle = 0.707 * 2 * PI / 100
    alpha1 = ( cos( angle ) + sin( angle ) - 1 ) / cos( angle )

    a1 = exp( -1.414 * PI / LPPeriod )
    b1 = 2 * a1 * cos( 1.414 * PI / LPPeriod )
    c2 = b1
    c3 = -a1 * a1
    c1 = 1 - c2 - c3

    HP= pow((1-alpha1/2),2)*(close - (2*close[1]) + close[2]) + 2*(1-alpha1)*nz(HP[1]) - pow((1-alpha1),2)* nz(HP[2])
    Filt= c1 * (HP + nz(HP[1]))/2 + c2*nz(Filt[1]) + c3*nz(Filt[2])
    Pk= iff(abs(Filt) >  0.991 *nz(Pk[1]), abs(Filt), 0.991 * nz(Pk[1]))
    X = nz(Filt / Pk)
   
    q=( X + K ) / ( K * X + 1 ) 

plot(Quotient( Period, Q1 ),color=red) 
plot(Quotient( Period, Q2 ),color=aqua)
hline(0)