Sem MACD+RVI





//+------------------------------------------------------------------+
//|                                  Áîëüøàÿ Êîëëåêöèÿ Ñåìàôîðîâ.mq4 |
//+------------------------------------------------------------------+
#property copyright "Ñåðãååâ Àëåêñåé (ñ) 2007"

#property indicator_separate_window
#property indicator_minimum 0
#property indicator_maximum 1
#property indicator_buffers 4
#property indicator_color1 Crimson
#property indicator_color2 Crimson
#property indicator_color3 LimeGreen
#property indicator_color4 LimeGreen
#property indicator_width1 2
#property indicator_width2 1
#property indicator_width3 2
#property indicator_width4 1
#property indicator_style1 STYLE_SOLID
#property indicator_style2 STYLE_SOLID
#property indicator_style3 STYLE_SOLID
#property indicator_style4 STYLE_SOLID

extern int       FastEMA=8;
extern int       SlowEMA=12;
extern int       SignalMA=3;
extern int       Price=PRICE_CLOSE;//0-close, 1-open, 2-high, 3-low, 4-median, 5-typic, 6-wieight

double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];

int init()
{
  SetIndexStyle(0,DRAW_HISTOGRAM); SetIndexBuffer(0,ExtMapBuffer1);
  SetIndexStyle(1,DRAW_HISTOGRAM); SetIndexBuffer(1,ExtMapBuffer2);
  SetIndexStyle(2,DRAW_HISTOGRAM); SetIndexBuffer(2,ExtMapBuffer3);
  SetIndexStyle(3,DRAW_HISTOGRAM); SetIndexBuffer(3,ExtMapBuffer4);
	IndicatorShortName("MACD+RVI");
	return(0);
}

int deinit(){   return(0);  }

int start()
{
	int i;
	double macdS, macdM, rviM, rviS;
 	for ( i=0; i<=Bars-1; i++ )
	{
   	ExtMapBuffer1[i]=0; ExtMapBuffer2[i]=0; ExtMapBuffer3[i]=0; ExtMapBuffer4[i]=0;
   
		macdM=iMACD(NULL,0, FastEMA, SlowEMA, SignalMA, Price, MODE_MAIN, i);
		macdS=iMACD(NULL,0, FastEMA, SlowEMA, SignalMA, Price, MODE_SIGNAL, i);
   
   	rviM = iRVI(NULL,0,10,MODE_MAIN,i);
   	rviS = iRVI(NULL,0,10,MODE_SIGNAL,i);
   
   	if (macdM<macdS && rviM<rviS) ExtMapBuffer1[i] = 1;
   	if (macdM<macdS && rviM>rviS) ExtMapBuffer2[i] = 1;
   	if (macdM>macdS && rviM>rviS) ExtMapBuffer3[i] = 1;
   	if (macdM>macdS && rviM<rviS) ExtMapBuffer4[i] = 1;
   }
	return(0);
}
//+------------------------------------------------------------------+



Sample





Analysis



Market Information Used:



Indicator Curves created:

Implements a curve of type DRAW_HISTOGRAM


Indicators Used:

MACD Histogram
Relative Vigor index


Custom Indicators Used:

Order Management characteristics:

Other Features: