Tushar Chande’s DMI (with RSX)

v10.3
Tushar Chande’s DMI (with RSX)

An indicator used in technical analysis that determines the overbought and oversold conditions of a particular asset. This indicator is very similar to the Relative Strength Index (RSI). The main difference between the two is that the RSI uses a fixed number of time periods (usually 14), while the Dynamic Momentum Index uses different time periods as volatility changes.

This indicator is interpreted in the same manner as the RSI where the readings below 30 are deemed to be oversold and more than 70 levels are deemed to be overbought. The number of time periods used in the dynamic momentum index decreases as the volatility of the underlying asset increases, making this indicator more sensitive to price changes than the RSI. This version has an additional smoothing in an RSX usage form for calculating the original RSI pitch. It has been added to make it a little more readable. The DMI Chande is less smooth than this original version and can raise more false signals. Using the RSX instead of RSI not add any lag at all, so we can say that using an RSX instead of RSI could be classified as “1% improvement” rule – which is sure it not be worse than the original Chande’s DMI.

(description found on internet). Indicator translated from Metatrader5 version by a request in forum.

Settings explanation:

_ MAStdDevMode : moving average type for smoothing the ATR value used to get the volatility of the current instrument

_ DmiLowerLimit & DmiUpperLimit : bounds for DMI periods (DMI calculated period can’t be less or more than these 2 limits)

 

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. macbartin • 01/31/2018 #

    Bonjour, merci pour l’indicateur, j’utilise un RSI de 7 période, sur du 1 min, est’il possible de changer sa base de période ? si oui comment faire ? merci encore j’avais pas pensé que le RSI pouvait avoir du retard !

    • Nicolas • 01/31/2018 #

      Changer la base de périodes du RSI original ? Le RSI a du “retard” puisqu’il est toujours nécessaire d’évaluer le terrain (et donc de regarder le passé) pour donner l’information sur la bougie courante.

    • macbartin • 01/31/2018 #

      merci, je voulais savoir quel paramètre il faut modifier sur votre indicateur pour le modifier sur la période 7 de votre indicateur

    • Nicolas • 01/31/2018 #

      Cet indicateur est dynamique, il n’utilise pas de période fixe

  2. falco44 • 01/31/2018 #

    Bonjour Nicolas,
    Lorsque j’importe l’indicateur via l’itf et que je l’attache au graphique, il apparait ce message “Erreur dans l’indicateur : PRC_DMI of RSX (5 8 0 15 10 50 60 40) — Un parametre de type entier positif est attendu avec SUMMATION”.
    Pourrais-tu m’eclairer à ce sujet stp ?
    Je suis sur la v11 de prt.
    Merci à toi,
    Cordialement,
    Romain

    • Nicolas • 01/31/2018 #

      Dans ce cas, il faut changer les lignes qui comportent l’instruction SUMMATION comme ceci: summation[max(1,RSIterm)]

  3. falco44 • 01/31/2018 #

    Bonjour Nicolas, je suis desolé mais cela ne fonctionne toujours pas …
    Merci de ton retour

  4. AG1 • 01/31/2018 #

    Hello Nicholas
    Is it possible to attach a revised code?
    I tried to change according to your instructions but the indicator is not working yet.
    Thanks in advance for your help
    Alex

    • Nicolas • 01/31/2018 #

      PFA below a revised version:
      //PRC_DMI of RSX | indicator
      //31.01.18
      //Nicolas @ http://www.prorealcode.com
      //Sharing ProRealTime knowledge
      //translated from MT5 code
      //https://www.prorealcode.com/topic/tushar-chandes-dmi-conversion-code-mq5-to-prorealtime/

      // — settings
      StdDevPeriod = 5 // Period of Standard Deviation
      MAStdDevPeriod = 8 // Period of smoothing
      MAStdDevMode = 0 // Mode of smoothing MA
      DMIPeriod = 15 // Dynamic Momentum Index Period
      DmiLowerLimit = 10 // Dynamic Periods Lower Bound
      DmiUpperLimit = 50 // Dynamic Periods Upper Bound
      LevelUp = 60 // Lower level
      LevelDown = 40 // Upper level
      // — end of settings

      if barindex>DMIperiod then
      SD = STD[StdDevPeriod](customclose)
      ASD = Average[MAStdDevPeriod,MAStdDevMode](SD)

      RSIterm = max(1,ROUND(DMIPeriod / (SD/ASD)))
      RSIterm = Max(Min(RSIterm,DmiUpperLimit),DmiLowerLimit)

      //RSI calculation
      plus = summation[max(1,round(RSIterm))](customclose-customclose[1]>0)
      minus = summation[max(1,round(RSIterm))](customclose-customclose[1]per then
      beta = 0.45*(per-1)/(0.45*(per-1)+2)
      if pow=1 then
      alpha = beta
      elsif pow=2 then
      alpha = beta*beta
      elsif pow=3 then
      alpha = beta*beta*beta
      elsif pow=4 then
      alpha = beta*beta*beta*beta
      elsif pow=5 then
      alpha = beta*beta*beta*beta*beta
      else
      alpha = beta
      endif

      tmp0 = (1-alpha)*plus + alpha*tmp0[1]
      tmp1 = (plus – tmp0[0])*(1-beta) + beta*tmp1[1]
      tmp2 = tmp0[0] + tmp1[0]
      tmp3 = (tmp2[0] – tmp4[1])*((1-alpha)*(1-alpha)) + (alpha*alpha)*tmp3[1]
      tmp4 = tmp4[1] + tmp3[0]
      avgplus = tmp4

      ftmp0 = (1-alpha)*minus + alpha*ftmp0[1]
      ftmp1 = (minus – ftmp0[0])*(1-beta) + beta*ftmp1[1]
      ftmp2 = ftmp0[0] + ftmp1[0]
      ftmp3 = (ftmp2[0] – ftmp4[1])*((1-alpha)*(1-alpha)) + (alpha*alpha)*ftmp3[1]
      ftmp4 = ftmp4[1] + ftmp3[0]
      avgminus = ftmp4

      endif

      RS = avgplus/avgminus
      DMIRSX = 100 – 100 / ( 1 + RS )

      r=100
      g=100
      b=100
      if DMIRSX>LevelUp then
      r=0
      g=255
      b=0
      elsif DMIRSX<LevelDown then
      r=255
      g=185
      b=15
      endif
      endif

      return DMIRSX coloured(r,g,b) style(line,3) as "Dynamic Momentum Index", levelup coloured(100,100,100) style(dottedline) as "level up", leveldown coloured(100,100,100) style(dottedline) as "level down"

  5. AG1 • 01/31/2018 #

    Thanks Nicolas
    Still a problem in line 29
    Please take a look.
    thanks again
    Alex

    • Nicolas • 01/31/2018 #

      code is modified in the above post, use that one.

    • AG1 • 01/31/2018 #

      Still a problem in line 29
      Please take a look.
      thanks again
      Alex

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar
Related users ' posts
styrke Hello Nicolas, Nice screener, I appreciate the way you always try to condense at maximum th...
Nicolas There's no particular reason. RSI is widely use with its default period and results seems re...
MaoRai54 Hi, first of all Happy New Year. Well, I've inserted your indicator in DAX 1h but I cann...
Vinks_o_7 Hi Mao Happy New Year ! This is just an improved RSI where you plot a standard price momen...
Angel Perez Ciao Francesco. First of all thanks for the indicator and also fro the screener. I do have a...
PSIDIO Ciao to you all, I also have a question and would be very happy for a helpful comment. I a...
SpreadBetMH Hi there, I have V11.1. I get the Indicator but no Arrows on the price. Kind Regards...
Alai-n Ciao Francesco, sei ancora in giro?
Metodi97 This indicator is great but can someone create strategy based on the same indicator it will ...
Nicolas
6 years ago
TradeNavigator RSI
TradeNavigator RSI
10
Indicators
Nicolas Tutte le impostazioni che hanno la parola "period" sono quelle dedicate ai periodi di cambio...
GianfrancoCeck Le chiedo una ultima cosa, ossia se è possibile personalizzare l'indicatore con una scritta ...
Nicolas Spiacente che non sia possibile, le coordinate grafiche non sono in pixel ma nel prezzo e ne...
Marc Boliart dear nicolas, tyvm for your indicators and strategies, i have this following error when i ch...
Nicolas Your picture is too small, but for sure the problem is about the fact you are still using v1...
Rory Dryden Thanks. This looks useful.
Jessar Hello, could you tell me how to use this indicator? I think the simplest things can still be...
Vinks_o_7 I looked at your page: It's written: Method 2: Current High less the previous Close (absolu...
gabri You are right, I will change it, Thank you!!
Vinks_o_7 Nope...I THANK YOU FOR ALL THE GOOD WORK YOU DID ;-)
gabri Agree. Many of those indicators are using very similar ideas. ADX is a very powerful and und...
Marcel But still it is a (lagging) derivation of price itself.
gabri All the indicators are lagging because they are all based on historical data.
Mirko Vaglio Interesting idea to bypass the limit of PRT about multiple timeframe, and I am just trying t...
Mirko Vaglio Looking a little bit more, now I understand what had to be absolutely obvious from the first...
Seb nice code! I'm trying to use your method to do a higher timeframe EMA, without success yet. ...
Francesco78 @snucke the results are not the same because the pictures refers to a few years ago. I am no...
snucke @Francesco78 i mean the results differ when i test on my own. so im curious of what the p...
sfl still working, using with filters like : trendFilterUp=close>average[190](close) tren...
alex Im looking for a entry when EpicMA crosses over/under trigger. Then look for exits when Epic...
rejo007 hello david, i'll try it could you tell me wich strategy do you use in real? thanks
David Somogyi Hello, I have a couple of DAX strategies of breakout and mean reversion. I'll try to post...
Roberto Blázquez Hi David, I just saw your strategy and it's good!!! I'm going to try it from today in real a...
juanj To follow new developments or get the latest version of this strategy please visit the forum...
tahar Hello Juan, I wanted to test Universal Strategy via a demo account on PRT but nothing happen...
BravoDelta @juanj wondering if you may help me please. I am looking for a simply strategy to use on the...
Wilko I am not familiar with the screener function, but I am quite certain it should be quite simp...
Gubben @Wilko have you had a look at this again since MTF support? Heard you talk on Börssnack btw..
Wilko @Gubben not really. It was something I posted to show that simpler is usually better. Hope y...
GraHal Yes sorry, I set up a link to a screen shot on my google drive and then I got locked into th...
gabri Here's the thread https://www.prorealcode.com/topic/multiframe-rsi-of-rsi/
Bernard13 Bonjour Nicolas, Pourriez-vous m'indiquer si cet indicateur fonctionne avec la V11 ? Le di...
nwesterhuijs Thanks, only saw it just now.
juanj For the latest version and discussions see the Ichimoku thread here: https://www.prorealcod...
Louwrens Hi Juanj. Thanks for this. I am tying it as we speak. It does not trade that often, which is...
ALE
7 years ago
CSR strategy DAX 1 D
CSR strategy DAX 1 D
17
Strategies
Jesper I tried it on dax 1D and I did not get any trades. Shifted to 10H and it started working. Wo...
rgrgrgr I have the same problem
avatar
crazytrader Is this working?
Maz
7 years ago
Francesco78 very nice, thanks!
Wilko Interesting! Thanks for sharing!
BjornH Extremely nice, thanks!

Top