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
robertogozzi Vous ne pouvez pas, car ProBuilder ne prend actuellement pas en charge MTF (Multiple Time Fr...
jeanguy Merci pour ce travail En quoi cette MM est elle différente d’une MM courte ?
Bern latest version pro real time not accepting code, same with Ehler's MAMA indicator. any idea...
Lotech123 This Indicator is very useful if the Risk number is altered to suit the time frame, volume o...
Bern error displaying, code must end with RETURN. Any idea hot to fix it?
j102491 how are you applying it to asc trend
Nicolas
10 years ago
Acceleration Bands
Acceleration Bands
0
Indicators
cepamoi Unfortunately, this still does not work: ONCE haOpen = medianprice haOpen = ((Open[1]+High...
Nicolas Force calculation to wait 1 bar of history already loaded: ONCE haOpen = medianprice if b...
cepamoi Now it works. Thanks a lot Nicolas! Here is the full code: // variables : // period ...
Nicolas
10 years ago
JosephFelix Hi Nicolas. Thank you for your excellent work. I am new to the platform. I have just import...
Alai-n Tout fonctionne bien dans cet indicateur? Quelle est la variable "Seuil" dans le code? Pourq...
Nicolas Oui il fonctionne, il faut que l'instrument analysé possède des Volumes. La variable "seuil"...
PeterClothier Hi, I downloaded this indicator and imported it. I tried adding it to a chart , and it hasn'...
Nicolas Don't add it on the price, so just don't use the price setting to add the indicator.
Nicolas
10 years ago
Nicolas
10 years ago
U Trend Sensor
U Trend Sensor
4
Indicators
Nicolas Hi Stef, thanks again for contributing to my near perfect english :)
Salocin Hi Nicolas, seems to be a pretty cool one as an indicator. can you define "plotsingal". Syst...
Nicolas Download the itf file attached to the post, there's everything needed in it. Just import thi...
Nicolas
10 years ago
Kurtosis Oscillator
Kurtosis Oscillator
0
Indicators
Nicolas
10 years ago
Disparity Index
Disparity Index
0
Indicators
fabriziomerlo How to use KAMA averages [10 2 30] and [10 5 30] in order to have a screener going long or s...
Nicolas This moving average is the same as the Adaptive Moving Average available in the platform.
Nicolas
10 years ago
kmilo20000 Thank you!
Nicolas
10 years ago
ZeroLag MACD
ZeroLag MACD
13
Indicators
sam00075 Hi Nicolas, can you please upload a version with TEMA, so those who don't know how to code c...
Nicolas Use the MACD code here: https://www.prorealcode.com/topic/standard-prt-code-for-macd/#post-1...
Alai-n Afin d'avoir l'Histogramme Macd il faut rajouter ligne18 : HistogrammeMacd = ZeroLagMACD - S...
Nicolas
10 years ago
True Strength Index TSI
True Strength Index TSI
6
Indicators
gelex911 I confirm too that the formula given above differs from the predefined TSI. Why this missmatch?
Bateson Bonjour. L'indicateur fonctionne remarquablement. Je n'arrive cependant pas à l'intégrer d...
Fernando Hi I had same problem, so I translated from NinjaTrader TSI's formula to PRT code, seems the...
Nicolas
10 years ago
cosmicsurfer I actually live up the road from Daryl Guppy. On the first day of my training i walked aroun...
Pleidian Hi, I'm trying to add the guppy indicator to my charts but i keep getting a box that's says ...
Nicolas Wrong copy/paste? Always a better idea to download the ITF file and import it into the platf...

Top