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
Teddy Coronak Bonjour Nicolas , je voulais simplement te dire merci pour cet indicateur. Très simple et...
€Ȝ Hi Nicolas, Excellent piece of code. I used your concept in one of my own indicators too wh...
Nicolas Thanks a lot for the tip.
ggolfet Thanks Nicolas, I imported the itf file and solved the problem.
Hasardeur Hallo Nicolas, i tried to code the multi period heat map in combination with the Ehler’s ...
Nicolas Please open a new topic with the code in forum.
redactv7 On my charts, the indicator doesnt go on the upper pannel, on prices, but under like an osci...
Nicolas apply in on the chart, look at this how-to video: https://www.prorealcode.com/blog/video-tut...
jonpt88 interesting code thanks!
Bard I've also just noticed that changing the "Bands Deviation" setting from 1.25 to eg 3 doesn't...
bartekz Hi @Nicolas, Really impressed by your work. I am trying to replicate the Wave-PM indicator t...
Nicolas You don't have to replicate it, download the file and import it into your platform.
JOKAMAURICE Thank you but I don't really understand. The values don't fit with what I see on my chart. I...
LucioleLucide Clean view, thanks for sharing
dertopen hi where i can found the window for candle configuration?
paolosab69 Ciao! . I have seen the pictures that explain this metod but i don't understand when is mome...
Thomas
6 years ago
Thomas Como? no intiendo. Can you write in english . It works! Download the itf file.
Thomas New Version comin soon...
CHARLESRACHELLE OLA NAO SERVE PARA MT4?
ed65 hi great indicator how can i adjust time frame for opening rge ie to first 5 min , thanks in...
Thomas The you must use the timeframe 1min and change the code from endtime = 090000 // 09h00 to ...
killerplatuze Dont work anymore with the current version?
Marie-Eve Vergoz lorsque je copie les codes, le système me signale des erreurs à la ligne 12 et suivantes
Marie-Eve Vergoz sorry - tout est ok -
AlgoAlex
6 years ago
Marcot18 Alex ti sei superato
AlexF Esagerato!
Vinks_o_7 Apirine also offers a very interesting update of the OBV...
Wolf I don't know why the indicator does not work for me. It gives me an error about RETURN... ...
sergibilbo Great job thanks!!!
druby I was glancing through the code and noticed that the variable name, Middle' has been used. I...
winnie37 yes. "No ground breaking math here, but I am finding very useful and some algo based on it i...
Jan Wind Also interesting to know what does not work, which set up you use, saves me investigating ! ...
winnie37 i just set the proorder like this: buy when 50/100/200 phase >0 and sell when under 0, go...
Dari when I put the indicator does not put it on the price, sn in a new box like many indicators....
Nicolas by adding it on price instead. Use the wrench on the left upper side of your price chart.
robertogozzi It surely CHANGES even when currently outside time range, as the lookback periods change as ...
SkippyTrader Thanks Roberto, but shouldnt the values in the outside time range not be different? As it sh...
robertogozzi Actually it is a constant (I tested them on a 1-hour TF, 9am to 5pm) and outside that time r...
Vonasi Discussion regarding this indicator can be found here: https://www.prorealcode.com/topic/dis...

Top