// Downloaded From https://www.WiseStockTrader.com
_SECTION_BEGIN("ADX");
range = Param("Periods", 14, 2, 200, 1 );
Plot( ADX(range), _DEFAULT_NAME(), ParamColor( "ADX color", colorBlue ), ParamStyle("ADX style", styleThick ) );
Plot( PDI(range), "+DI", ParamColor( "+DI color", colorGreen ), ParamStyle("+DI style") );
Plot( MDI(range), "-DI", ParamColor( "-DI color", colorRed ), ParamStyle("-DI style") );
_SECTION_END();


_SECTION_BEGIN("MACD");
r1 = Param( "Fast avg", 10, 2, 200, 1 );
r2 = Param( "Slow avg", 15, 2, 200, 1 );
r3 = Param( "Signal avg", 1, 1, 200, 1 );
Plot( ml = MACD(r1, r2), StrFormat(_SECTION_NAME()+"(%g,%g)", r1, r2), ParamColor("MACD color", colorRed ), ParamStyle("MACD style") );
Plot( sl = Signal(r1,r2,r3), "Signal" + _PARAM_VALUES(), ParamColor("Signal color", colorBlue ), ParamStyle("Signal style") );
Plot( ml-sl, "MACD Histogram", ParamColor("Histogram color", colorDefault ), styleNoTitle | ParamStyle("Histogram style", styleHistogram | styleNoLabel, maskHistogram ) );
 Plot(0, "", colorBlue, 1);
 Plot(0.25, "", colorLightGrey, styleLine | styleNoLabel);
Plot(-0.25, "", colorLightGrey, styleLine | styleNoLabel);
SetGradientFill( colorGreen, colorRed, 0, GetChartBkColor() ); 
Plot(ml, "Sterngth" + _PARAM_VALUES(), colorDefault, styleLine | styleGradient );
_SECTION_END();
 
_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();