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
lolo
10 years ago
JD 52 Week HighLowBand
JD 52 Week HighLowBand
0
Indicators
lolo
10 years ago
Powerplay
Powerplay
0
Indicators
lolo
10 years ago
PD WoodiesCCI
PD WoodiesCCI
0
Indicators
lolo
10 years ago
Woodies CCI
Woodies CCI
0
Indicators
lolo
10 years ago
HA count
HA count
0
Indicators
lolo
10 years ago
Keltner Channel
Keltner Channel
4
Indicators
torkelab Sorry, cant seem to submit an image..?? The link contains one however..
ed65 hi is it possible to duplicate 2 different keltners on same price ie one at 34 2nd at 17 , ...
lolo
10 years ago
Directional Volume
Directional Volume
1
Indicators
Rory Dryden Initial viewing of this on SPY shows promise.
lolo
10 years ago
KST
KST
1
Indicators
Alai-n Bonjour. Que cela soit cette formulation du KST ou celle par défaut de la plateforme PRT, au...
lolo
10 years ago
SafeZone Stop - Elder
SafeZone Stop – Elder
0
Indicators
lolo
10 years ago
Hull moving average
Hull moving average
8
Indicators
Hynesjp Hi Nicolas, I followed your suggestion to be able to change the colour but I cannot get the ...
Nicolas Remove the COLOURED instruction from the last line of the code.
Jozo Hi Guys, could you help? When I attach this Hull MA it goes to subwindow! It should attach o...
lolo
10 years ago
Swing Hilo
Swing Hilo
0
Indicators
lolo
10 years ago
Projection Oscillator
Projection Oscillator
0
Indicators
lolo
10 years ago
Projection Bands
Projection Bands
0
Indicators
lolo
10 years ago
Hammer
Hammer
0
Indicators
lolo
10 years ago
Thermometer
Thermometer
0
Indicators
lolo
10 years ago
%B Bollinger
%B Bollinger
7
Indicators
Laurent Thanks a lot
oraclus Bonjour le %bollinger est protégé sur Prorealtime. Le code ci-dessus est paramétré par défau...
Nicolas Le code dans ce post répond à cette demande d'adaptation de la période du %Bollinger: https:...
lolo
10 years ago
Trend Force
Trend Force
3
Indicators
Petrus Hi Lolo.   If you put on the graph only the difference between both values, the resul...
swapping Trend Force with Background Color
swapping // --- property setting //Alpha = 40 // Transparency backgroundcolor // --- end // Dete...
lolo
10 years ago
TD REI
TD REI
0
Indicators
lolo
10 years ago
ZIGZAG TREND
ZIGZAG TREND
4
Indicators
Vonasi I'm interested in this indicator but it does not appear to work on 10.3. Could it be possibl...
Nicolas You need to change the 'amnt' variable to a percentage, so if you set it to 10 it represents...
Vonasi Thanks for your reply - I had tried that - I set the amnt to 1 on a 15 min GBPUSD chart and ...
lolo
10 years ago
Demarker
Demarker
0
Indicators

Top