The Universal indicator by John Ehlers plotted directly on the chart, for an immediate understanding of its state. It has been implemented with the moving average of the oscillator, the overbought and oversold areas, and the colors indicating the direction of the trend. Suitable for any chart and time frame.

Indicator interface

  • OVERBOUGHT = change the level of the Overbough line;
  • OVERSOLD = change the level of the Oversold line;
  • UNIAVG = enables or disables the moving average applied to the value of the Universal oscillator;
  • UNIAVGPERIOD = changes the period of the moving average applied to the Universal oscillator;
  • UNIVERSALPERIOD = changes the oscillator period;
  • UNIVERSALFILTER = change the indicator filter period;
  • TIGHTENCHANNEL = change the channel width;
  • ATRPERIOD = changes the calculation period of the ATR used for the formation of the channel, serves to optimize the channel size;
  • AVERAGEPERIOD = changes the value of the moving average used for the formation of the channel;
  • AVERAGEMETHOD = is used to select the type of moving media used for the formation of the channel.

How it can be used:

  1. As a trend indicator;
  2. For inversion strategies;
  3. As a channel, to identify the range of market movement;
  4. As an entry and exit signal, when the Universal value crosses the level 0, or crosses the overbought and oversold levels, or its moving average;
  5. Within automatic trading strategies, such as entry, exit or as a filter.

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?

New! PRC is also now on YouTube, subscribe to our channel for exclusive content and tutorials

  1. HeikinAshi • 88 days ago #

    Hi ALE,
    Do you have an overview of which colour zones need to be added?
    When I add the indicator to the price I have by default only the 0 level as a dashed line.
    Thank you very much.

    • ALE • 88 days ago #

      Hi I answered you, in this post, if you have other questions do not hesitate
      Thank you

  2. Pasquale Fracicone • 88 days ago #

    What is the Uniavg variable equal to?

    • ALE • 88 days ago #

      UNIAVGPERIOD = changes the period of the moving average applied to the Universal oscillator;

  3. Pasquale Fracicone • 87 days ago #


    • ALE • 86 days ago #

      UNIAVG = enables or disables the moving average applied to the value of the Universal oscillator;

  4. ludo6977 • 73 days ago #

    this incateur is genial, to leave by default. It gives excellent indications. I am a fan. Good job

    • ALE • 70 days ago #

      🙂 thanks

Register or


avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar

+3 more likes

Related users ' posts
swapping Excellent Nicolas ;)
Violet Hi Nicolas, There seems to be a small error in the code, which causes the channel not to...
Nicolas Hmm, I don't think so, otherwise the channel will have a moving start and not anchored anymo...
Nicolas I don't know, that code is a 1:1 translation from another platform.
jm1111enator Hello Nicolas, Is this a conversion from Tradestation Easy Language? If so, do you have a ...
Nicolas Sorry I do not provide assistance for Tradestation code.
Nicolas Just add a linear regression moving average of 200 periods on the chart and you'll get the s...
Partha Banerjee Hello Nicolas, this is great, however the actual PRT standard error and standard deviation c...
Nicolas If you want to anchor the channel to a specific candlestick, that would be possible but with...
sir_i Bonjour à tous, Je suis nouveau sur le forum et sur la plateforme, pourriez-vous me dire com...
Nicolas Il faut simplement l'appliquer sur le prix.
sir_i Merci pour la réponse, je ne suis pas familier avec l'application de cette procédure simple,...
Choliver Bonjour et merci pour cet indicateur. Toutefois, il me semble qu'il est unidirectionnel. P...
Louis Winthorp III Hi Choliver, you are right, there is a problem with the drawing instruction when the slope i...
Nicolas File and code are updated.
carlvan Thank you for posting this, useful
Manuel9z MUCHAS Gracias por este indicador. Lo estoy integrando en un sistema Probuilder SP500 1h. El...
Juanjo Me alegro que haya sido de utilidad.
Nicolas Thanks again for all your valuable posts... and well formatted code! :)
Abdelkrim Maksour hi sir is this indicator for mt4 and how i can get one .
Nicolas Thanks a lot for this new valuable addition to our library. I changed line 76 with "barindex...
Horance Thanks. I've noticed this leftover after submission, but it was too late for editing. BTW, I...
Etienne Thanks Horance for porting this code to PRT. I would like to bring some speedup to your cod...
Horance This is a good question. John Ehlers explains it in Rocket Science for Traders. You have to ...
cbeukes Much appreciated, I will give that a try. Also, is there any criteria that one could use to ...
firemyst Thanks for the code! I'm trying to understand how it works, and have a few questions... line...
Bebbo Grazie del prezioso contributo Nicolas, scusa la mia inesperienza, sono alle prime armi e s...
Nicolas To avoid recalculation, you should use the one from this post.
Bebbo Ok Grazie Nicolas.
Canale di Fill By Filippo si si... farò un video a breve
AngelPujalt ok. Gracias.
Stenozar Hi Filippo, any news about your video to explain how to use this indicator? thanks
Appsoluxions Hi Nicolas, do you have the MT4 version of the indicator? I am not sure if these kind of que...
Nicolas Hi, don't have one sorry. But you can still ask for private coding through our programming s...
Appsoluxions Cool. Thanks for the response.
Stenozar Hi I can't visualize the indicator on the chart? can anybody help me, please?
Nicolas Add it on price using the wrench on the left upper side of the price chart.
Stenozar thanks Nicolas, I' ll try again!
Steven Hi im looking for some help to put a automated code together BUY ORDER If EMA 10/25 is...
Juanjo Hola?. Exactamente cuál es su utilización?.
bolsatrilera Hola Juanjo, su principio esparecido a las bandas de Bollinguer.Las lineas de las bandas son...
Etienne Hi, thanks for proving this code. I would like to contribute by adding a computation speed...
Etienne //Compute Super Smoother coefficients once if barindex = 1 then a1 = exp( -1.414 * 3.14159...
Nicolas Thanks a lot!