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
Nicolas
9 years ago
lokbuscas Or in weekly??
Nicolas I don't know, you should make your own studies.
lokbuscas Ok thanks Nico
dominike
9 years ago
Darvas Boxes
Darvas Boxes
6
Indicators
Philip Raphael PRT says, that "the instruction "DPO" can not be used in the automated trading mode. What do...
Dudu Hi - I find the Darvas box repaints, making the call to buy/sell unreliable. How can repaint...
Bard https://www.prorealcode.com/topic/dpo/ Results: http://thepatternsite.com/Darvas.html
Philip Raphael Thank you so much for your work here! It works fantastically!
Tarquin Hi, Thanks for posting this, I downloaded your first version of Better Volume and it works ...
El Chupacabra Hi Tony, just seen your message. TBH I haven't made a version 2!, maybe the moderator has do...
Nicolas Dans l'onglet prix, choisir d'appliquer l'échelle qu'au prix uniquement.
Eloi MERCI
TradingDeckard
9 years ago
camarilla pivot points
camarilla pivot points
9
Indicators
Choliver Merci Nicolas pour cette réponse rapide et cette information. J'ai regardé et testé et cela...
carlo__ Sorry, but this indicator doesn't update the levels in real time. They are draw and stucked ...
carlo__ I leave an update. The indicator works as it plots in a progressive way the Cama levels on t...
Nicolas
9 years ago
Adaptive Stochastic
Adaptive Stochastic
1
Indicators
AngelPujalt falta poner bandas por la parte de arriba: 80 y por la parte de abajo: 20
Nicolas
9 years ago
Adaptive CCI
Adaptive CCI
4
Indicators
Stef Thanks @Saud. Enjoyed the article.
Newbie I've tried to modify this so I can display on 1min chart with the 5 min chart variant as a s...
Nicolas No, just create 2 different indicators in this case, one with the timeframe(5 minutes) and o...
GraHal Hi Nicolas I like this and would like to understand it fully so please forgive the (maybe) d...
Nicolas Hi GraHal, the Factor parameter is only a multiplier of the ATR that is added or subtracted ...
GraHal Nicolas, thank you for your useful and informative response. Yes I optimise using ProBackte...
Denis Hello, Congratulations and thank you for this work. I do not understand one thing, however...
Nicolas
9 years ago
GraHal Hi Nicolas Britains .itf file didn't work for me ... I had to change h to hh at line 13 and...
Nicolas Thank you GraHal for pointing this error, i have corrected the code in the file. The code in...
sr021 Hi I tried to copy and paste the code, but recieve the message  : Syntax error:The followi...
Nicolas Hello, of course. You have 3 options : 1/ you download the file and import it into your plat...
Nicolas
9 years ago
Nicolas
9 years ago
Nicolas
9 years ago
trabucaire Hello, what does it mean the 20 and 40 number on this code ? Thank you !
robertogozzi I modified it to make parameters customizable and to Draw a Grey candlestick when a range is...
Nicolas
9 years ago
Blai5 CazaGaps
Blai5 CazaGaps
0
Indicators
Nicolas
9 years ago
Blai5 BB double
Blai5 BB double
0
Indicators
Nicolas
9 years ago
Blai5 ATLAS Mini
Blai5 ATLAS Mini
0
Indicators
Nicolas
9 years ago
Blai5 Astro indicator
Blai5 Astro indicator
0
Indicators

Top