// Downloaded From https://www.WiseStockTrader.com
_SECTION_BEGIN("RSI Divergence");
//------------------------------------------------------------------------------
//
//  Formula Name:    RSI Divergence
//  Level:           medium
//  Flags:           indicator
//  Formula URL:     
//  Details URL:     
//
//------------------------------------------------------------------------------
//
//  + scanner
//
//------------------------------------------------------------------------------
 
/*---------------------------------------------------
    RSI Divergence
--------------------------------------------------------*/
 
GraphXSpace=7;
n=Param("% Reverse ",20,0,100,1);
 
Buy=Sell=0;
Var = Zig(RSI(), n); 
t= Trough(RSI(), n, 1); 
p= Peak(RSI(), n, 1); 
x[0] =Var[0];
price[0] = C[0];
j=0;
 
// bearish divergence
for ( i=0; i<BarCount; i++) 
{
if(Var[i] == p[i])
{
 
j++;
x[j] =Var[i];
price[j] =C[i];
if(x[j] <x[j-1] && price[j-1]< price[j]) 
Sell[i] =1;
}
}
 
// bullish divergence
for ( i=0; i<BarCount; i++) 
{
if(Var[i] == t[i])
{
j++;
x[j] =Var[i];
price[j] =C[i];
if(x[j] >x[j-1] && price[j]<price[j-1]) 
Buy[i] =1;
}
}
 
Plot(Var, "", 29); 
PlotShapes ( IIf(Sell, shapeSmallCircle, shapeNone), colorRed, 0 , Var,0);
PlotShapes( IIf(Buy, shapeSmallCircle, shapeNone),  colorBrightGreen, 0, Var,0);
 
Title ="RSI Divergence" ;
_SECTION_END();

_SECTION_BEGIN("RSIa");
P = ParamField( "Price field" );
periods = Param("Periods", 14, 1, 200, 1 );
Plot( RSIa( P, periods), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style")  );
_SECTION_END();