//+------------------------------------------------------------------+
//|                                                  MA_2_Colors.mq4 |
//|                                              wiedstone@yahoo.com |
//+------------------------------------------------------------------+
#property copyright "wiedstone@yahoo.com"
#property link "wiedstone@yahoo.com"

#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 White
#property indicator_color2 Blue
#property indicator_color3 Red

extern int    MA_Period     = 24;
extern int    Applied_Price = PRICE_CLOSE;
extern int    shift         =  0;

double MA_0[], MA_1[], MA_2[];

int init()
{
   getPeriod();
   SetIndexStyle(0, DRAW_LINE, EMPTY, 2, indicator_color1);
   SetIndexStyle(1, DRAW_LINE, EMPTY, 2, indicator_color2);
   SetIndexStyle(2, DRAW_LINE, EMPTY, 2, indicator_color3);
   SetIndexBuffer(0,MA_0);
   SetIndexBuffer(1,MA_1);
   SetIndexBuffer(2,MA_2);
   return(0);
}

int start()
{ 
   int      counted_bars=IndicatorCounted();
   int      limit,i;

   if(counted_bars < 0) return(-1);
   if(counted_bars>0) counted_bars--;
   limit = MathMin(Bars-counted_bars,Bars-1);
   for(i = limit; i >= 0; i--)
   {
      MA_0[i]   = 3.0*iMA(NULL,0,MA_Period,0,MODE_LWMA,Applied_Price,i)-2.0*iMA(NULL,0,MA_Period,0,MODE_SMA,Applied_Price,i);
           if (MA_0[i] > MA_0[i+1]) {MA_1[i]=MA_0[i];MA_2[i]=EMPTY_VALUE;}
      else if (MA_0[i] < MA_0[i+1]) {MA_2[i]=MA_0[i];MA_1[i]=EMPTY_VALUE;}
   }   
   return(0);
}
void getPeriod()
{
   switch(Period()) 
      {  case 1:     MA_Period=1440;    break;
         case 5:     MA_Period=288;     break;
         case 15:    MA_Period=96;      break;
         case 30:    MA_Period=48;      break;
         case 60:    MA_Period=24;      break;
         case 240:   MA_Period=6;       break;
         case 1440:  MA_Period=1;       break;
         case 10080: MA_Period=0;       break;
         case 43200: MA_Period=0;       break;
      }
 }

