Corrected generalized DEMA

Corrected generalized DEMA

DEMA average is a double Exponential Moving Average. It was created to reduce the amount of lag time found in traditional moving averages.  It was first released in the February 1994 TASC magazine.

This version embed the corrected function, it measures deviations of the DEMA values, if the changes are not significant, then the value is “flattened”.

It also includes the floating levels functionality (2 levels based on recent highest high and lowest low of the corrected curve).

The DEMA and corrected DEMA change color following these criteria:

  • color change on slope change
  • color change on outer (floating) levels cross
  • color change on middle (floating) level cross
  • color change on average (DEMA) value cross



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. Jan Wind • 240 days ago #


    could you explain why you have used 4 numbers to draw the candle ? First 3 defines the color ? true ?, what does the fourth mean ?

    drawcandle(flup,fldn,flup,fldn) coloured(169,169,169,40) bordercolor(169,169,169,0)

    Thanks in advance, Jan

    • Nicolas • 239 days ago #

      Alpha transparency from 0 to 255.

  2. Jan Wind • 240 days ago #

    I like the principles behind this indicator.
    I prefer to use the TEMA instead of the DEMA. So therefore I adjust the word “DEMA”, used only once at line 20, for “TEMA”. This works only if you also adjust line 18 in the code “if barindex>Period*2 then” to ” if barindex>Period*3 then”, as the TEMA uses a triple moving average instead of double moving average with DEMA.

  3. ehtsham • 237 days ago #

    Hi, Sir can you tell me how to put this code in indicator plz

  4. Jan Wind • 235 days ago #


    all you need to do is change the code in line 18 and line 20 (see the code above from Nicolas)
    18. if barindex>Period*2 then
    20 avg = DEMA[Period](Series)

    ADJUSTED CODE (change 2 to 3 in line 18 and change DEMA to TEMA in line 20)
    18. if barindex>Period*3 then
    20 avg = TEMA[Period](Series)

    KR Jan

Register or


avatar avatar avatar avatar avatar avatar avatar
Related users ' posts
Alberto Aguilera Hi! Thanks for your strategy Anyone can check it with 200 bars?
Jan Wind Good evening Roberto, I do not understand Italian, so I could not read the background. ...
robertogozzi Results, while matching when it's SMA compared to TRSMA, are different in the case of WMA an...
funkystuff Salut Balmora, Ton indicateur est plutôt intéressant :) Penses-tu qu'il soit possible de l'...
sharksteven Hi BALMORA, looks like a good compliment algorithm. I tried to test it on the EUR USD but it...
kompiuter Hello, how did you optimized all these variable? If I try to optimize only two variables it...
rrenaud_ig Great work ! My only concern is about risk management. Your results are based on 10k. Max lo...
Nicolas Si ces variables ne sont pas utiles, il faut tout simplement les supprimer du programme.
souf Bonsoir Nicolas, Je te remercie d'avoir pris le temps de me répondre. J'ai essayé de s...
souf Hi Luxrun, I hope everything is OK for you. Did you succeed turning this indicator int...
Stenozar Thanks Leo!
Madrosat Hi Leo something is missing in the strategy above because it does not work at all as it is
Leo I don't know, I just copy paste the strategy. The optimisation of the values I wrote them in...
osupero Buenisimo Sr Nicolas, seria posible que sólo marcara por encima o por debajo de una media mo...
capgros Bonjour @Nicolas, Thanks a lot for this tool, it is very useful for me. I would like to s...
ottimo Congratulations Nicolas, What should I do for the 2 files I have to add them both in the gr...
Nicolas Only the "//PRC_StepALMA-VHF Hi/Lo band" is required, it uses the second code automatically....
ottimo Thank you Nicolas, great indicator, N. 1
Nicolas Yes, that's how it goes when using loops..
JosephFelix Hi, Could I please have help with adding these indicators 'on price'? Every indicator that I...
Nicolas Just add it on price by clicking the wrench on the left upper side of the price chart.
10 months ago
Tradingrob Hi Nicolas, when i upload this indicator in my list and use it as indicator. I get a totally...
Nicolas Apply it on the price chart. The indicator plot just one single line. There are two in the...
tradingpro salve io faccio spread trading e volevo sapere come impostare un profitto da chiudere in a...
Nicolas Per favore non fare domande generali, non correlate al post. Usa invece il forum.
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.
Nicolas Yes, this could be easily programmed with the assisted creation tool.
Karthick S Hi Nicolas, Can you please share MT4 version of this? Cheers
Nicolas No. This website is only dedicated to ProRealTime programming :)