Ehler's Stochastic Indicator (Roofing Filter+Universal Oscillator(SuperSmoother)

Forums ProRealTime English forum ProBuilder support Ehler's Stochastic Indicator (Roofing Filter+Universal Oscillator(SuperSmoother)

Viewing 2 posts - 1 through 2 (of 2 total)
  • #15815

    Thanks very much for posting this Ehler’s code and also the MESA indicators. It has been quite a revelation learning about his custom filters/oscillators and how superior they are to normal filters like the EMA and Stochastic Oscillator.

    I found a pdf called Ehler’s Predictive Indicator: http://www.stockspotter.com/files/PredictiveIndicators.pdf

    It combines the Optimal Tacking Filter and the Universal Oscillator (Supersmoother) which he simply calls “My Oscillator.” Both those indicators have been converted here at prorealcode:
    http://www.prorealcode.com/prorealtime-indicators/john-ehlers-optimal-tracking-filter/ &
    http://www.prorealcode.com/prorealtime-indicators/universal-oscillator-john-ehlers/

    I was wondering how to combine the above two PRT indicators code together and how to add the bold part of Ehler’s code below to get it to create his oscillator?:

    Ehler’s “My Stochastic Indicator” = Roofing Filter+Universal Oscillator (SuperSmoother)

    The original EasyLanguage Code to Compute “My Stochastic Indicator” is:

    //My Stochastic Indicator © 2013 John F. Ehlers//

    Inputs: Length(20);

    Vars: alpha1(0),HP(0),a1(0),b1(0),c1(0),c2(0),c3(0),Filt(0), HighestC(0), LowestC(0), count(0), Stoc(0), MyStochastic(0);

    //Highpass Filter cyclic components whose periods are shorter than 48 bars

    alpha1 = (Cosine(.707*360 / 48) + Sine (.707*360 / 48) – 1) / Cosine(.707*360 / 48); HP = (1 – alpha1 / 2)*(1 – alpha1 / 2)*(Close – 2*Close[1] + Close[2]) + 2*(1 – alpha1)*HP[1] – (1 – alpha1)*(1 – alpha1)*HP[2];

    //Smooth with a Super Smoother Filter

    a1 = expvalue(-1.414*3.14159 / 10); b1 = 2*a1*Cosine(1.414*180 / 10); c2 = b1;

    c3 = -a1*a1;

    c1 = 1 – c2 – c3;

    Filt = c1*(HP + HP[1]) / 2 + c2*Filt[1] + c3*Filt[2];

    HighestC = Filt;
    LowestC = Filt;
    For count = 0 to Length – 1 Begin

    If Filt[count] > HighestC then HighestC = Filt[count];

    If Filt[count] < LowestC then LowestC = Filt[count]; End;

    Stoc = (Filt – LowestC) / (HighestC – LowestC);
    MyStochastic = c1*(Stoc + Stoc[1]) / 2 + c2*MyStochastic[1] + c3*MyStochastic[2];

    Plot1(MyStochastic); Plot2(.8);
    Plot6(.2);

    Any help would be greatly appreciated, some of the early back tests using just his indicators (with a trend filter to determine trade direction) have shown high percentage winners and high gain/loss ratios without any optimisation. I will post a system here after they have been bug checked by PRT/IG Index (currently a work in progress). If I don’t please remind me. (-;

    Cheers,
    Brad

    #15940

    I have successfully converted the MESA stochastic for prorealtime. I’m now awaiting for your trading strategy explanation to see how well it would perform 🙂

Viewing 2 posts - 1 through 2 (of 2 total)
Similar topics:

Create your free account now and post your request to benefit from the help of the community
Register or Login