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
Nicolas
7 years ago
Juan Salas Hi FULVIO09, Nice piece of work. It seems to work very well. Does only work for INDEXES??...
Johann Hi @FULVI09, I understand the instructions however I'm not too sure how to determine the "p...
Player8520 Hello, It doesn't work with me either. However, I changed AA to 180 on line 15, added th...
Kosuda76 Thanks for your reply! But I do not really understand what the opposite of them the values ​...
AdriTrade Good job Louis!! How could do this for the Williams indicator? Thank you very much.
imorandin Hi!, Nice code. I'm tryng to port it to another language, but I don't understand this part:...
luxrun Thanks, bolsatrilera, for a very good and solid screener!
luxrun sorry... indicator!
Lily Rios Gracias por el indicador, tengo una pregunta necesito programar un screener de valores que e...
Nicolas Apply it on the price chart. The indicator plot just one single line. There are two in the...
jamesoc Hi Nicolas, do you happen to know if there is an indicator that can be applied to charts, to...
gustavobp Buenos dias Nicolas, al agregar tu indicador no me reconoce la variable Price ni en la linea...
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.
bolsatrilera
7 years ago
jissey Bonjour Bolsatrilera, je trouve le cm rsi interessant, merci de l'avoir mis à disposition ! ...
bolsatrilera bonjour jissey, je n'ai aucune information sur ce que tu dis, je suis désolé.
ALE Hi the color is given by a numerical value derived from the oscillator in use. If you comp...
efahmy Thanks mate
Jo-01-R Hello, it is possible to have this indicator but instead of colors rather have numbers rangi...
bharatjai Script 'Adaptive ATR' has been saved line 24: no viable alternative at input 'lr' Gettin...
Nicolas download the itf file and import it into your platform.
Francis3332 Bonjour à tous, J'aime beaucoup cet indicateur et j'aimerais pouvoir l'utiliser sur la dern...
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
7 years ago
enricot Scusa nn riesco.
SoloContado If you smooth the signal using a "summation" function, you get a nice "crossing of 0" graph....
ShaunG Greatly appreciated Nicolas!
Nicolas Add it on price using the wrench on the left upper side of the price chart.
Stenozar thanks Nicolas, I' ll try again!
Radetzky Buongiono e grazie : l'immagine sopra ritrae l'indicatore sul TF 15 min ma a me funzio...
Steven Hi im looking for some help to put a automated code together BUY ORDER If EMA 10/25 is...
Dwell Thank you! Great tool!

Top