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
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!
ak5hay2 Works like crazy on bitcoin. Use different timeframes. Thanks a lot Doc!!!
richyowen Hi, great code thanks. Very new to this forum. Is there a way to add a 100point target on an...
lisamitch50 Morning all, Just backtested on quite a few instruments, worked well on backtesting, but tel...
Matriciel
7 years ago
Alai-n Thanks...
Bard Thanks for sharing this Verdi55. More instructions from Larry Williams website (and a fea...
Nicolas
7 years ago
Jurik RSX
v10.3
Jurik RSX
3
Indicators
hartgeld Hallo Nicolas, ein sehr guter Indikator, vielen Dank! Leider rechnet er bei mir nicht die Pe...
rigel Hi Nicolas, have you coded the Jurik alone (as Mov. average)?
Nicolas 2 versions available in this indicator: https://www.prorealcode.com/prorealtime-indicators/a...
AG1 Thanks Nicolas Still a problem in line 29 Please take a look. thanks again Alex
Nicolas code is modified in the above post, use that one.
AG1 Still a problem in line 29 Please take a look. thanks again Alex
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
7 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...
swapping merci gabri, on va le mettre à l'essai ;)
GraHal Is this the Discussion Topic you need @Gregg https://www.prorealcode.com/topic/scalping-i...
bertrandpinoy bonjour Nicolas y a t il une possibilité de signal sonore dès qu une vente ou un achat serai...
Nicolas Oui cela nécessitera une adaptation du code cependant, merci de formuler une demande sur le ...
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.
Edelmiro Un millón... de gracias... me gustaría más, poder ofrecer euros; pero va a ser que no puedo,...
Jessar Hello, could you tell me how to use this indicator? I think the simplest things can still be...
TAC Bolsa This indicator give trading signals depending of the crosses of overbought and oversold area...
Juanjo Hola. El indicador es válido para acciones en periodo diario? Gracias
TAC Bolsa Hola Juanjo la información del indicador y otros la puede encontrar en el BLog. https://w...
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...

Top