Dynamic Zone Stoch RSI

v10.3
Dynamic Zone Stoch RSI

This indicator make stochastic calculation of a RSI indicator over the last X periods (RSI and stochastic periods can  be modified in the first line of code).

By adding Bollinger bands of 2 standard deviations of the “Stoch RSI” curve, dynamic zones of overbought and oversold areas are displayed.

This code has been translated from LUA programming language, original indicator from fxcodebase.

 

 

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. gregus • 02/17/2017 #

    bonjour a tous
    quelqu un pourait il recodé en prt il sagit  du dynamique zone ma, je n arrive pas a joindre le gif qui correspond mais code tres intéréssant.
    merci pour la communauté prt.
     
    voici le code:
    #property indicator_chart_window#property indicator_buffers 6#property indicator_color1  DeepSkyBlue#property indicator_color2  LimeGreen#property indicator_color3  LimeGreen#property indicator_color4  Red#property indicator_color5  Red#property indicator_color6  Peru#property indicator_style3  STYLE_DOT#property indicator_style4  STYLE_DOT#property indicator_style6  STYLE_DASH#property indicator_width1  3#property indicator_width2  2#property indicator_width5  2
    //////////
    #import “dynamicZone.dll”   double dzBuyP(double& sourceArray[],double probabiltyValue, int lookBack, int bars, int i, double precision);   double dzSellP(double& sourceArray[],double probabiltyValue, int lookBack, int bars, int i, double precision);#import
    //////    ////
    extern int    Length                  = 21;extern int    Price                   = 0;extern bool   ShowMiddleLine          = true;extern int    DzLookBackBars          = 35;extern double DzStartBuyProbability1  = 0.10;extern double DzStartBuyProbability2  = 0.25;extern double DzStartSellProbability1 = 0.10;extern double DzStartSellProbability2 = 0.25;
    //////////
    double MABuffer[];double alpha[];double prices[];double bl1Buffer[];double bl2Buffer[];double sl1Buffer[];double sl2Buffer[];double zliBuffer[];double stored[][7];
    //+——————————————————————+//|                                                                  |//+——————————————————————+//////////
    int init(){   SetIndexBuffer(0,MABuffer);   SetIndexBuffer(1,bl1Buffer);   SetIndexBuffer(2,bl2Buffer);   SetIndexBuffer(3,sl2Buffer);   SetIndexBuffer(4,sl1Buffer);   SetIndexBuffer(5,zliBuffer);              IndicatorShortName(“Jurik filter simple (“+Length+”)”);   return(0);}int deinit() { return(0); }
    //+——————————————————————+//|                                                                  |//+——————————————————————+//////////
    int start(){   double precision = Point*100.0;   int counted_bars=IndicatorCounted();   int i,r,limit;
       if(counted_bars<0) return(-1);   if(counted_bars>0) counted_bars–;         limit = Bars-counted_bars;         if (ArrayRange(prices,0) != Bars) ArrayResize(prices,Bars);
       //   //   //   //   //      for (i=limit, r=Bars-i-1; i>=0; i–,r++)   {      prices[r]   = iMA(NULL,0,1,0,MODE_SMA,Price,i);      MABuffer[i] = iNoLagMa(alpha,prices,1,Length,i,r);      if (DzStartBuyProbability1 >0) bl1Buffer[i] = dzBuyP (MABuffer, DzStartBuyProbability1,  DzLookBackBars, Bars, i, precision);      if (DzStartBuyProbability2 >0) bl2Buffer[i] = dzBuyP (MABuffer, DzStartBuyProbability2,  DzLookBackBars, Bars, i, precision);      if (DzStartSellProbability1>0) sl1Buffer[i] = dzSellP(MABuffer, DzStartSellProbability1, DzLookBackBars, Bars, i, precision);      if (DzStartSellProbability2>0) sl2Buffer[i] = dzSellP(MABuffer, DzStartSellProbability2, DzLookBackBars, Bars, i, precision);      if (ShowMiddleLine)            zliBuffer[i] = dzSellP(MABuffer, 0.5                    , DzLookBackBars, Bars, i, precision);      }   return(0);}
    //+——————————————————————+//|                                                                  |//+——————————————————————+//////////
    #define Pi 3.1415926535
    //////////
    double values[][3];#define _length  0#define _len     1#define _weight  2
    //////////
    double iNoLagMa(double &alpha[], double &price[], int forvalue, int length, int i, int r){   int forValue = forvalue-1;   if (length<3) return(price[r]);      //   //   //   //   //      if (ArrayRange(values,0)<(forValue+1) || values[forValue][_length] != length)   {      double Cycle = 4.0;      double Coeff = 3.0*Pi;      int    Phase = length-1;            if (ArrayRange(values,0)<forValue+1) ArrayResize(values,forValue+1);
             values[forValue][_length] = length;         values[forValue][_len]    = length*4 + Phase;           values[forValue][_weight] = 0;           ArrayResize(alpha,values[forValue][_len]);
             for (int k=0; k<values[forValue][_len]-1; k++)         {            if (k<=Phase-1)                  double t = 1.0 * k/(Phase-1);            else        t = 1.0 + (k-Phase+1)*(2.0*Cycle-1.0)/(Cycle*length-1.0);             double beta = MathCos(Pi*t);            double g = 1.0/(Coeff*t+1); if (t <= 0.5 ) g = 1;                  alpha[k]                   = g * beta;            values[forValue][_weight] += alpha[k];         }   }      //   //   //   //   //      if (values[forValue][_weight]>0)   {      int    len = values[forValue][_len];      double sum = 0;           for (k=0; k < len-1; k++) sum += alpha[k]*price[r-k];                 return( sum / values[forValue][_weight]);   }   else return(0);           }

    • Nicolas • 02/17/2017 #

      Merci de faire une requête spécifique sur le forum. 

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar avatar avatar
Related users ' posts
wtangsiri Bonsoir Qu'appelez vous l'axe vertical et comment le définir ? Merci pour votre aide.
rafadonl2 Pardonnez-moi mais je ne sais pas ce que vous entendez par "axe vertical". Serait-ce la lig...
rafadonl2 Je viens de voir ce que vous voulez dire. Comme pour tout autre indicateur, vous devez défin...
Sofitech Ce code n'est valable que sur la V10.3 ? sur le 10.2 il y a une erreur de syntaxe dans le fi...
Nicolas Oui en effet, c'est un indicateur "10.3" à cause uniquement de la mise en forme des courbes ...
Nicolas
8 years ago
StepRSI
StepRSI
5
Indicators
Nicolas Thanks for this modification, I still do not have tested it, where did you get this idea to ...
rfsteve Trial and error from study of indicators call it coding mad science was trying to find an in...
Maxime Baudin Nice! Thanks :)
Nicolas
8 years ago
GraHal Forked code I mention above is here ... GraHal wrote: So below is the PRC Stochastic RSI v...
GraHal Try again (quite limited what you can do as Comments in the Library) https://www.prorealco...
AutoFlanders Thanks GraHal, that's what i was looking for
Etienne Hi, I'm quite late in this thread. I'd just like to propose an enhancement because this in...
Nicolas Thanks Etienne.
Bard Hi Nicolas, I wanted to make this scaled indicator above between -1 and +1 instead of 0 to +...
Madrosat Bonjour Nicolas Je souhaiterais faire colorier le fond du graphique supérieur en vert lorsq...
Nicolas Merci d'ouvrir un sujet dans le forum approprié.
Nwab Hello Mr Nicolas.. Please how can I set this up as an indicator to work on mt5. Your guidan...
Dimi.A Awesome mate.
mora87 Hi David and Nicola, I'd like to share idea with you guys which is related to David's Idea. ...
Nicolas Please ask for custom coding in forums instead.
jeanphi0034 Hello, I would like to use the QQE indicator which is based on smooth RSI as far as I unders...
ilstefano Bonjour Nicolas, te serait il possible de rajouter la fast ATR manquante dans le code? Merci
Nicolas Désolé je ne comprends pas la question ?
rpreviteri Hi Nicolas, thanks a  loto for sharing your knowliedge, Wasn't the original momentum pinball...
air Thank you!  
elanoa Buonasera sig. Nicolas......sarebbe possibile far in modo che quando l'indicatore raggiunga ...
MikeGC I don't know if you have used the variables a and b to optimise the parameters for the Super...
gianpiero75 I have not optimized, I multiplied the parameters for 6 (5,8), to use them on the 4  hoursTF...
bertrandpinoy bonjour Mike j utilise TrendChaser V2.0 et quand il prend position cela ne programme pas le ...
zilliq The reasons why I think it's time consuming and we loose time to try to do backests and Auto...
filiprb Hello Zilliq, You don't need a system to produce a walk forward test. You can easily create...
Philip Raphael It is incredible! Thanks for sharing, Doctrading!
s00071609 Hi, could you please suggest, what this codes gives, lowest[b](rsi[a]) -- just trying to us...
Nicolas lowest[b](rsi[a]) returns the lowest values of the RSI of "a" periods, over the last "b" per...
s00071609 Hi, what would be the code to get the price for last bullish DTOSC cross over. I am looking ...
Doctrading I forgot to write at the beginning :  a = 50 b = 50 These are intermediate levels Sorry
DerPat Thank you. This one could be an aid in my current research on stochastics.
Pelayo it is possible that in line 12 we should put seuilinf=-b, thaks for all
Doctrading It works on ProRealTime CFD, but backtest begins since May 2014
alex224 Hola Andres, buen trabajo. Algun problema por usar la estrategia con acciones en time frame ...
Andres Hola Alex, no lo he probado en otros timeframes, pero con esta configuración específica no c...
Nicolas RSI is an oscillator made for price centering. This strategy bet on mean reverting phenomena...
air Good start. Works decently during stock runaway bull market. I have tested it over 80 year p...
TheHovisTrader Hi - the way Larry trades it does not work - discovered that over 10 years ago! BUT If you ...
Glen Marquis I wonder how this fairs on 5 or 15 mins. Maybe 21 or 25 instead of 14 .
Doctrading Hello, you can test it. It's not my best strategy... but I think someone can improve it.
Investment Account Wow great thanks ... looks good! Do I set the colour shades up from within the indicator 's...
avatar
Anonymous Thanks for your comments and yes, that is exactly how I set up the colour levels.
Vish Thanks I have added this in my watch list. Has anyone tried it yet ? Does it work on currenc...

Top