MATimeAuto





//+------------------------------------------------------------------+
//|                                                  MATimeAuto.mq4 |
//|                                        Copyright ?2007 , Dxdcn. |
//|                                 http://blog.sina.com.cn/FXTrade |
//+------------------------------------------------------------------+
#property  copyright "Copyright 2007 , Dxd, China."
#property  link      "http://blog.sina.com.cn/FXTrade ,  http://www.mql4.com/users/DxdCn"
#property  link      "http://www.waihui.com/bbs/profile.php?action=show&uid=5273"
//---- indicator settings
#property  indicator_chart_window
//#property  indicator_separate_window
#property  indicator_buffers 3
#property  indicator_color1  Silver
#property  indicator_color2  Red
#property  indicator_color3  Lime
#property  indicator_width1  2
//---- indicator parameters
extern int SlowEMA = 24;
extern int SlowEMA1 = 408;
//---- indicator buffers
double DxdnBuffer[];
double DxdcnSlowBuffer[];
double DxdcnFastBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   SetIndexStyle(0, DRAW_LINE); // DRAW_HISTOGRAM);
   SetIndexStyle(1, DRAW_LINE);
   SetIndexBuffer(0, DxdnBuffer);
   SetIndexBuffer(1, DxdcnSlowBuffer);
   SetIndexStyle(2, DRAW_ARROW, STYLE_SOLID, 4);
   SetIndexDrawBegin(1, SlowEMA1);
   SetIndexBuffer(2, DxdcnFastBuffer);
   return(0);
  }
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence                           |
//+------------------------------------------------------------------+
int start()
  {
   SetIndexStyle(2, DRAW_ARROW, STYLE_SOLID, 4);
   int limit;
   limit = Bars - 50;
   int SlowEMAA = SlowEMA;
   int SlowEMAB = SlowEMA1;
   double opD, opD1;
   //---- macd counted in the 1-st buffer
   double hhh, lll;
   for(int i = limit; i >= 0; i--)
     {
       //Ñ°ÕÒij·¶Î§Äڸߵ͵IJîÖµµãÊý
       SlowEMAA = (High[iHighest(NULL, 0, MODE_HIGH, SlowEMA, i)] - 
                   Low[iLowest(NULL, 0, MODE_HIGH, SlowEMA, i)]) / Point;
       SlowEMAB = (High[iHighest(NULL, 0, MODE_HIGH, SlowEMA1, i)] - 
                   Low[iLowest(NULL, 0, MODE_HIGH, SlowEMA1, i)]) / Point;
       //Óô˵ãÊý×öMA
       DxdnBuffer[i] = iMA(NULL, 0, SlowEMAA, 0, MODE_SMA, PRICE_CLOSE, i);
       DxdcnSlowBuffer[i] = iMA(NULL, 0, SlowEMAB, 0, MODE_SMA, PRICE_CLOSE, i);
     }
   //ÅжϽ»²æ
   for(i = limit; i >= 0; i--)
     {
       if(((DxdnBuffer[i] - DxdcnSlowBuffer[i]) > 0) && 
          ((DxdnBuffer[i+2] - DxdcnSlowBuffer[i+2]) < 0) && 
          ((DxdnBuffer[i] - DxdnBuffer[i+2]) > 0))
           DxdcnFastBuffer[i]=DxdnBuffer[i];
       if(((DxdnBuffer[i] - DxdcnSlowBuffer[i]) < 0) && 
          ((DxdnBuffer[i+2] - DxdcnSlowBuffer[i+2]) > 0) && 
          ((DxdnBuffer[i] - DxdnBuffer[i+2]) < 0))
           DxdcnFastBuffer[i] = DxdnBuffer[i];
     }
  }
//+------------------------------------------------------------------+



Sample





Analysis



Market Information Used:

Series array that contains the highest prices of each bar
Series array that contains the lowest prices of each bar


Indicator Curves created:

Implements a curve of type DRAW_LINE

Implements a curve of type DRAW_ARROW

Indicators Used:

Moving average indicator


Custom Indicators Used:

Order Management characteristics:

Other Features: