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
Henry
9 years ago
SuperTrend
SuperTrend
4
Indicators
Nicolas Exit and relaunch PRT should fix this behavior.
verdi55 Thank you. After a restart, it is somewhat faster; however, it still takes about 3 minutes t...
Nicolas Good! thanks for sharing your own code! Please do so with other ones if you think you can im...
Nicolas
9 years ago
Toto8 Hello, When I use the code above with no change at all, I get an error message stating that...
fabien philipp Hi, I have the same message error by importing the itf file, or by copying and pasting the ...
mcha bonjour, merci pour cet échange mais il me semble que ce twist des SSA  et SSB serait plus ...
Pasq Concernant la remarque précédente, il est possible de remplacer les 2 lignes de code de cett...
Nicolas Merci Pasq. On peut retrouver ce code corrigé sur le forum, je viens d'en retrouver un exemp...
tahar Bonjour, je travaille sur un ecran noir et les bougies sont extremement palotes, on distingu...
Alai-n Voir Echantillons de Couleurs RVB : https://www.prorealcode.com/documentation/category/instr...
Guillaume34 Bonjour, quelqu'un à t'il réalisé ce code à l'identique mais pas dans une fenêtre sous le gr...
Doctrading
9 years ago
Nicolas Use Highs and Lows instead
Doctrading This new code with highs and lows seems to work : boxSize = 20 // On aime bien que...
DonDollar Gentlemen, just a quick question. When I am adding this column to my code, PRT shows an err...
Cavok Bonjour, Comment utiliser cet indicateur comme screener? Merci.
rajiwas Hello Nicolas, With Daily Pivot, it easy for me to show current day pivot e.g. if Date = T...
Nicolas You'll find many other pivots points indicators in the library, just use the search box of t...
rajiwas Thanks for the suggestion.
pepkatapet
9 years ago
supertiti Pour Nicolas Ne peux t'on pas ajouter un bouton  pour illustrer une suggestion par un graph...
Lyny @supertiti, can you translate your code into English version PRT ? I copy and paste your cod...
zen83 The bands 30 and 70 can also be added as supra-sold / super-purchased // RSI with volatile s...
Nicolas
9 years ago
Kase Peak Oscillator
Kase Peak Oscillator
9
Indicators
Bard Hi Nicolas, re-upping the coding request as you suggested for the genuine version of Kase's ...
Nicolas FYI: I found this other code in an old NL forum:  pri=Customcloselen=psmooth=catr = Average...
Bard Thanks very much Nicolas, but I can't post my reply here if I want to add a url link. When I...
Nicolas
9 years ago
Alessio Nicolas Hello, I have recently started using this platform, I would like to test a system th...
Nicolas Please use forums for trading strategies queries. Many thanks. 
PassionTrading Salut Nicolas, Je regarde cette indicateur très intéressant par le fait qu'il est superposé...
sally31120 bonjour Serait il possible de colorier l'histogramme en fonction du cour c'est à dire à dir...
David  Hi Doc! Thanks for sharing. For some reason I'm not getting the histogram, only a ribbon. A...
RAAAMMY Hi David, I have the same problem of a ribbon and not the histogram. Did you get a solution...
komiko 9a marche pas ? le code sur prorealtime "erreur de syntaxe l'instruction retur et autorisée ...
Nicolas En effet, il s'agit bien du code d'un indicateur et non d'un screener ou d'une stratégie de ...
RussJ Hey people Some great screeners on here but I'm pulling up too many stocks when I s...
Doctrading Thanks, man !
rajiwas How is it possible to add currentWeekHigh and currentWeekLow, currentWeekOpen and currentWee...
Takeshi Totally don't match the PRT basic pivots on weekly
cassio amigo você tem esse indicador para mt4 ou mt5.. ?
manchokcity WE NEED THIS IN MQL4 OR EX4
Nicolas We do not provide MT4 indicator in our website, all the codes around are made for Prorealti...
mamio Very nice indicator. Why doesn't it refresh as time passes?
Nicolas It should refresh on each bar.
mamio On my PC it doesn't refresh. I am using intraday tick bars (not minutes). Unfortunately I do...
supertiti
9 years ago
Doctrading Interesting code.I see that you like HKLisse and Sohocool !
Bard Hello Nicolas, thanks for posting this Fisher Transform code. I was reading John Ehler's MES...
Nicolas
9 years ago
Wilko Dear Nicolas, When I apply this code i get marginal differences with the default indicator ...
Nicolas I don't know about the differences from this version and the default platform one. As far as...
Wilko Thanks for the tip about CustomClose! I wasn't aware of this.
Nicolas I would not recommend using this version of the linear regression channel, but this one inst...
Aragorna Hello, Is it possible to updated the indicator to the more updated versione of ProrealTime? ...
Nicolas Use that code instead: https://www.prorealcode.com/prorealtime-indicators/standard-deviation...

Top