Ehler's Stochastic Indicator (Roofing Filter+Universal Oscillator(SuperSmoother)
Forums › ProRealTime English forum › ProBuilder support › Ehler's Stochastic Indicator (Roofing Filter+Universal Oscillator(SuperSmoother)
- This topic has 1 reply, 2 voices, and was last updated 8 years ago by Nicolas.
-
-
11/01/2016 at 1:09 PM #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 BeginIf 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,
Brad11/03/2016 at 4:52 PM #15940I have successfully converted the MESA stochastic for prorealtime. I’m now awaiting for your trading strategy explanation to see how well it would perform 🙂
-
AuthorPosts
Find exclusive trading pro-tools on