Universal Oscillator John Ehlers

Universal Oscillator John Ehlers

The Universal Oscillator made by John Ehlers is based on article “Whiter is Brighter” wrote in TASC magazine in January 2015.

This oscillator is an evolution of John Ehlers previous indicator “SuperSmoother filter” which was introduced in his January 2014 article “Pedictive and Succeful indicators”.

This indicator reflects short term variations of price within the “bandedge” parameter as a  frequency. Of course, the lesser this parameter is, the less lag is the oscillator, it is setted at 20 periods by default. Returned values oscillate between -1 and 1.

Basic rules would be to sell short when the curve crosses below 0 and go long when it crosses above 0.

 

Share this

Risk disclosure:

No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.

ProRealTime ITF files and other attachments : How to import ITF files into ProRealTime platform?

PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials

  1. Wing • 04/21/2016 #

    I really like this indicator. It has had good edge in recent market.

  2. Brad • 04/21/2016 #

    Hi Nicholas, hope you are well,
    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.” Now that both those indicators have been converted here at prorealcode. I was wondering how to combine the two PRT indicators code together and add the bold part of Ehler’s code below to get it to work?:
    Ehler’s Stochastic Indicator = Roofing Filter+Universal Oscillator (SuperSmoother)
    The EasyLanguage Code to Compute My Stochastic 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,Cheers,BestBrad

    • Nicolas • 04/21/2016 #

      I’m currently on leave, please add your request in forums. I’ll take a look later. Thanks

  3. nglpx1 • 04/21/2016 #

    Hi.
    someone may explain to me, please, how expressions like:
    filt= c1 * (whitenoise + whitenoise[1])/2 + c2*filt[1] + c3*filt[1]
    or
    if ABS(filt1)>pk[1] then …
    are calculated? I am attempting to replicate the filter in different language but I don’t understand those recursive terms:
    in the first expression filt[1] is not defined, so in the second expression pk[1]. How can the platform calculate them?

  4. Bard • 04/21/2016 #

    This is a such a great filter, but you know what happens when the bandedge value is incorrect…
    What if it was coded to self optimise much in the same way that Cynthia Kase’s Peak Oscillator did — https://www.prorealcode.com/prorealtime-indicators/kase-peak-oscillator-v2/
    — is that even possible @nicolas?

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar
Related users ' posts
geroniman Merci Ivan, super indicateur. Question: comment modifier la transparence des rectangles?
roccafragius Hi Ivan sorry another question, in order to create a bot that open the trade, I'm tryng to c...
roccafragius ////////////////////////////////////////// 0825-liquidity-test //--------------------------...
Iván no it wasn't
xpe74 could be interesting to do so as visually it works well ....
xpe74 Hi ivan, still working on your indicator. Is there a way (as i'm not a coder) to integrate i...
Chrisinobi Hallo Iván Ein sehr schöner guter Indikator, nach meinen ersten Tests ist er sehr Effektiv ...
Iván Danke, ich werde es berücksichtigen.
hartgeld Hallo Ivan, das ich das noch erleben darf....QQE in dieser Qualität bei ProRealTime...vielen...
bertrandpinoy thank you for the work, can you improve by displaying the price level and the time of the si...
Iván Hi! you can do it adding below current signal lines. c=close // define price to show in gra...
Alessandro Furlani
1 month ago
Delphic Combo 1.0
Delphic Combo 1.0
2
Indicators
Alessandro Furlani I want to add the setup for Spot Gold and Spot Silver with 1H timeframe. Spot Gold 1H Per...
Alessandro Furlani I have just upload the ProOrder robot in the Strategies section. Enjoy
ThibauldR_Weekenday
2 months ago
HULL MA + SIGNALS
HULL MA + SIGNALS
1
Indicators
Indicolite Hi, there appears to be errors in lines 90 & 91, I can't run it on ProRealTime.
BaderBader Hello Iván, I wanted to take a look at your indicator. Thank you very much for making it av...
Iván Hello, I just copied and pasted the indicator and I don’t have any problem...
Marc Boliart Hi! i do not know why _v.1.1"] was on 1st line, remember to remove it!
Iván
2 months ago
roccafragius Hi Ivan, unfortunatelly I still hace some problem using timeframe 3 minutes in 1 minutes, th...
Dron No se puede importar a la PRTV12 porque formato es incorrecto, intente copiar codigo que has...
Iván Hola. No puedo arreglarlo. Puedes copiar/pegar (2 segundos) y tienes el indicador... La V...
Iván
2 months ago
Violet Ivan, it looks as if something is really wrong with this indicator. When I import and apply ...
Iván Hello! For proper visualization, it is recommended to have more than 1k bars loaded.
Violet Thanks Ivan. Though it does not remove the 'tapering at the beginning' phenomenon, it does m...
2 Fast Two things stand out to me: I see a lot of horizontal blocks in the chart instead of vertica...
lkiklkik thanks for the hard work and sharing
adeelq79 Great work Ivan. Thanks

Top