ma_2MA_Slope_SigMA_roc





//+------------------------------------------------------------------+
//|                                        ma_2MA_Slope_smz_roc.mq4  |
//|                                                                  |
//+------------------------------------------------------------------+
// 2mas roc sig ma

#property copyright ""
#property link      ""

#property indicator_separate_window
#property indicator_buffers    4
#property indicator_color1     Blue
#property indicator_color2     DodgerBlue //
#property indicator_color3     Maroon
#property indicator_color4     Red

//#property indicator_width1     2
//#property indicator_width2     2

//#property indicator_minimum    -350
//#property indicator_maximum     350

//#property indicator_level1     100
//#property indicator_level2     -100
//#property indicator_levelcolor DarkSlateGray



extern int MA1_Period      = 21;
extern int MA1_Mode        = 1;
extern int MA1_Price       = 0;


extern int MA2_Period      = 34;
extern int MA2_Mode        = 1;
extern int MA2_Price       = 0;

extern int roc_length      = 1;


extern int      SigMA_Period  = 11;
extern int      SigMA_Mode    = 1;


double buffer1[];
double buffer2[];

double buffer11[];
double buffer21[];

double buffer12[];
double buffer22[];

//+------------------------------------------------------------------+


int init()
{
   IndicatorBuffers(6);

   SetIndexBuffer(4,buffer1);
   SetIndexBuffer(0,buffer11);
   SetIndexBuffer(1,buffer12);
  
   SetIndexBuffer(5,buffer2);  
   SetIndexBuffer(2,buffer21);
   SetIndexBuffer(3,buffer22);

   SetIndexLabel(0,"MA1 "+MA1_Period+" roc");
   SetIndexLabel(1,"MA1rocSigMA "+SigMA_Period+"");
   SetIndexLabel(2,"MA2 "+MA2_Period+" roc");
   SetIndexLabel(3,"MA2rocSigMA "+SigMA_Period+"");

   IndicatorShortName("MA roc ("+MA1_Period+","+MA2_Period+") SigMA ("+SigMA_Period+") ");


   return(0);
}

//---

int deinit()
{
   return(0);
}

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+


int start()
{
   int counted_bars=IndicatorCounted();
   int limit,i;
   
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
           limit=Bars-counted_bars;
//limit=MathMax(limit,SigMA_Period);


   for(i=limit; i>=0; i--)
   {
   buffer1[i] =iMA(NULL,0,MA1_Period,0,MA1_Mode,MA1_Price,i);
   buffer2[i] =iMA(NULL,0,MA2_Period,0,MA2_Mode,MA2_Price,i);
   }
     for(i=limit; i>=0; i--)
      {
  
      if (buffer1[i]!=0)
      buffer11[i] =   (buffer1[i]-buffer1[i+roc_length])/(buffer1[i]);

      if (buffer2[i]!=0)
      buffer21[i] =   (buffer2[i]-buffer2[i+roc_length])/buffer2[i];
      
      }  

   
   for(i=limit; i>=0; i--)
  
      buffer12[i] = iMAOnArray(buffer11,0,SigMA_Period,0,SigMA_Mode,i);
     
    
   for(i=limit; i>=0; i--)
         
      buffer22[i] = iMAOnArray(buffer21,0,SigMA_Period,0,SigMA_Mode,i);
  
   


   return(0);
}





Sample





Analysis



Market Information Used:



Indicator Curves created:



Indicators Used:

Moving average indicator


Custom Indicators Used:

Order Management characteristics:

Other Features: