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
luxrun grazie Ivàn!
lee Thank you. Is it possible to convert this to a screener that displays instruments when bulli...
Iván //---------------------------------------------------------------// //PRC_Pollan Indicator /...
Faisalx ChatGPT Hola Iván. Gracias por tu excelente trabajo. Te agradecería si pudieras echarle un...
Iván ok, perfecto! me pongo con ello
DeathMetal C'est un modèle assez rare, essayez-le sur un petit laps de temps, par exemple 5 minutes et ...
BEBERD serait-il possible d avoir le code pour en daily et weekly ? merci bien
DeathMetal Use the same code, it's universal
kats Bonjour, J'ai une question etes vous trader? Je m'explique , j'ai téléchargé tous les indi...
Faisalx Hola Ivan. Thanks for your great job. I would appreciate if you have look at my request http...
roccafragius Thank you for all these useful information!! Very great job Ivan! THank you so much
geroniman Merci Ivan, super travail. On peut toujours compter sur toi pour apporter des innovations su...
okeus Ciao, il tuo lavoro è incredibile, ti chiedo una cortesia è possibile veder un grafico con ...
Razz Hello, thank you for your indicator. Can you please tell me how I can change the text size,...
Iván Hi! you have all information about it here (https://www.prorealcode.com/documentation/drawte...
Miro Mis felicitaciones por este indicador. Funciona muy bien en el corto plazo. Gracias gracias ...
Stenozar Ciao IVAN , mi da errore per la riga 49 "print tema low"; puoi suggerirmi la modifica da met...
Iván Avete provato a scaricare il file .itf?
AndyB72 Caricato ora sulla V12, nessun errore.
luxrun Grazie Ivàn, è possibile realizzare uno screener con questo indicatore?
Stenozar Ciao Ivan, ti è possibile tradurre l'indicatore che avevo segnalato qui? https://www.prorea...
oliTR Very good Iván ! However what would be the modification to add to the code in order to dis...
MARTINALA CARTINA grazie mille magnifico,si in effetti se ci fosse la possibilta di impostare orai predefiniti...
effegi Very good! A nice job
marcov66 Holá Ivan! Complimenti per l´indicatore! Secondo te con la nuova V12 avendo ora a disposizio...
Iván Grazie! In realtà, anche se gli indicatori di cui parli sono presenti nella nuova versione, ...
marcov66 Infatti, il Volume profile, il POC, le VA il CVD sono finalmente disponibili su PRT V12. Sec...
Iván Allora crei un nuovo post. Lo aspetterò.
Stenozar Ciao Ivan, ho inserito il post con la richiesta di traduzione. Se puoi vedere, grazie!
Iván perfect!
kats BONSOIR c bon merci j ai trouve ce weekend merci de votre reponse cdlt
the_giorgio Hi, nice work I would like to understand something about prorealtime code. With your ...
Iván Hello. When you use the drawcandle() instruction then in the configuration window you add ...
Iván Hi, Sorry, but what do you mean?
luiskohnen Hola, queria saber si el indicador repinta, porque a mi me parecio que si. Saludos y gracias...
Diamant Bonsoir, L'un d'entre vous peut-il me donner les définissions de LL-HH-LH et HL. Merci d'av...
kats BONJOUR je lai mis sur du renko , il est complexe car toujours a l'envers??? Peut être ne ...
RTR Great tool again and great job, thank you! So from what I see everytime Z-Score is over 0 m...
yas hi ivan I have logged this last week if when you get a chance if this can be converted ple...
Gaspare Ciao Ivan si puo' inserire una strategia su questo indicatore per ottimizzare le variabil...
Regisnew Bonjour Ivan serait il possible de proposer un screener pour détecter les zones de support v...
bembel242 Hello Ivan ! A belated HNY ! I know late ! Quick question on theis great indicator plse. I u...
gp38super Wow! This is GOLD! Great job!
larouedegann TIMEFRAME(15minutes) apparemment ne fonctionne pas
Iván Bonjour Je ne comprends pas bien le problème. L'indicateur fonctionne dans n'importe quelle...
larouedegann OUI je le sais, il fonctionne dans toutes les unités de temps. Mais je souhaite utiliser l'i...

Top