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
ipbvba idem ne fonctionne pas sur V11 (meme avec real time data), import OK mais aucune courbe dans...
Ciccarelli Franco I'm new to the Market, I imported the code, but I don't see anything, there is an empty box ...
tradermikey Is the available for v12?
Nicolas remplacer les valeurs de coloured(0,255,0) par coloured(r,g,b) et ajouter ces noms de variab...
mohamed merci Nicolas!
sacram14 Merci Nicolas pour ce set-up que je ne connaissais pas ! J'ai tenté de reprendre le code pou...
Vinks_o_7 Thanks Doc !
Maxime Baudin Intresting, thank you!
Nicolas Pour créer des alertes, vous pouvez suivre ce petit tutoriel : https://www.prorealtime.com/f...
thibault76 Bonjour Nicolas, cette stratégie est intéressante. Par contre, en 2022, le code ne fonction...
Nicolas Aucun message d'erreur pour ma part en version 11.1. Tu es certain de créer un code d'indica...
1Randy I would be interested an invite to your blog. I am still learning about the VSA and it looks...
repropel Buenos días TACBOLSA. Yo también estoy interesado en visitar tu blog. Podrías enviarme una i...
mobychix Hi, I just joined Pro Realtime and am very interested in VSA. I have read some books and did...
Stockastiss Can this code be simply transferred into Backtestingcode so one doesnt need to use call ? (i...
Vonasi Sorry for the late reply. Add the code to your strategy and remove line 5 and line 39. Chang...
viktorthunss Hi! How many averages are there? Can I see the somewhere?
carpentier Joffrey Bonjour à tous, Avant tout merci pour ce travail, cependant je suis bloqué quand je l'insta...
carpentier Joffrey Re, C'est ok, j'ai trouvé mon erreur... Cependant sur quel base peut on calculer son CALC...
Aragorna Hi Nicolas, How is it possible to use it in a higher timeframe plotted on a lower timeframe?...
Zigo Normaly it do work in version 11.
bertrandpinoy Hello to all, please does a coder can bring the indication of the price level on the chart o...
Zigo @bertrandpinoy add between line 50 and 51 : drawtext("#dnh#",barindex,low-2.618*AverageTrue...
leofi https://www.prorealcode.com/topic/simple-average-with-visual-color/
leofi Go visit www.prorealcode.com/topic/simple-average-with-visual-color/ and watch 2em post
Dritan Hi,I am new on Prorealtime and coding.I downloaded the indi but I have it on a separate wind...
stephane2.0
5 years ago
stephane2.0 c=exponentialaverage[9](MACDLine[12,26,9](close))
Forexcheckup Hi I down loaded the ITF file, it paints red for a down trend but for all up trends the can...
stephane2.0 line 22: r = 195 by r = 0 line 23: g = 195 by g = 0 line 24: b = 195 by b = 255 ;)
Zigo
5 years ago
fifi743 Good morning, there is no mistake about the shorts c11=SMI[14,3,5](close)>-40
Zigo has to be c11=SMI[14,3,5] < -40 (indeed)
xar3 Thank you ;-) Zigo
Suzu Yuk Regarding line68, //-- with indicator "properties", add coloured fill between euroOFF and...
manual_ice As far as I know, it is not possible to include "fill" inside an indicator. But, since ve...
Morrissey38 Muchísimas gracias Nicolás , muy amable.
Bruno Carnazzi extrèmement pertinent
Bruno Carnazzi Is that beatable ?
Maxime Baudin Very useful! Thanks Mat, and Happy New Year
nicko Great work. Thank you. However I am having trouble getting it to print in the first bar. If ...
Nicolas
5 years ago
Rex Oscillator
Rex Oscillator
2
Indicators
Rollerbob thank you Nicolas !
Guibourse Thanks ! Would it be possible to translate it into a screener ?
Nicolas
5 years ago
KDJ
KDJ
3
Indicators
fireleg79 Bonsoir Nicolas. Merci pour tout ton travail. Quand tu auras le temps pourras-tu jeter un oe...
Sejibi Bonsoir, En remplaçant percentJ = 3 * percentD - 2 * percentK par percentJ = 3 * perc...
JMARTY Bonjour, A la recherche d'un indicateur détectant les divergences sur DMI, je tombe sur ce...
Alps007 Hi Nicolas. Happy New Year. Can you please program me several MACD divergence screeners ...
Arlei Zanin Hello Nicolas, would it be possible to convert the Cloud to Pascal language? Thank you.
ashee i want it in MT4
robertogozzi Like my screener https://www.prorealcode.com/prorealtime-market-screeners/abcd-pattern-scree...
aldtrading Thanks for your work. I'm using V11 and nothing is drawn on the chart, I believe this is ...
robertogozzi It works on v10.3, v11 and v12. You are likely to have added it BELOW your chart (like RSI),...
Denis Hello Nicolas, Thank you and congratulations for your work. The entry signals seem interes...
mia Bonjour j'arrive pas a integrer l'indicateur sur mt4 comment faire svp mercii
Nicolas Il ne s'agit pas d'un indicateur MT4, je vous suggère d'utiliser ProRealTime qui est une mei...
Vonasi
5 years ago
Maxime Baudin Very interesting for monthly stock market strategies, thank you Vonasi! :)

Top