ADX_AdvancedX_WA_mtf





//+------------------------------------------------------------------+
//|                                              ADX_Advanced_WA.mq4 |
//|                              Copyright © 2006, Eng. Waddah Attar |
//| mtf 2007forextsd.com keris ki            waddahattar@hotmail.com |
//+------------------------------------------------------------------+
#property copyright "Waddah Attar"
#property link      "waddahattar@hotmail.com"
//----
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_style1    0
#property indicator_width1    2
#property indicator_style2    0
#property indicator_width2    2
#property indicator_level1 20
#property indicator_level2 30
#property indicator_levelcolor  DodgerBlue


//----
extern int ADXPeriod = 14;   //wa13

extern int  MaxBarsToCount  =1500;
extern int TimeFrame = 0;
extern string note_TimeFrames = "M1;5,15,30,60H1;240H4;1440D1;10080W1;43200MN|0-currentTF";

//----
double ExtBuffer1[];
double ExtBuffer2[];
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int init()
  {
   SetIndexBuffer(0, ExtBuffer1);
   SetIndexStyle(0, DRAW_HISTOGRAM);
//----
   SetIndexBuffer(1, ExtBuffer2);
   SetIndexStyle(1, DRAW_HISTOGRAM);
//----     
     switch(TimeFrame)
   {
      case 1: string TimeFrameStr = "M1";   break;
      case 5     :   TimeFrameStr = "M5";   break;
      case 15    :   TimeFrameStr = "M15";  break;
      case 30    :   TimeFrameStr = "M30";  break;
      case 60    :   TimeFrameStr = "H1";   break;
      case 240   :   TimeFrameStr = "H4";   break;
      case 1440  :   TimeFrameStr = "D1";   break;
      case 10080 :   TimeFrameStr = "W1";   break;
      case 43200 :   TimeFrameStr = "MN1";  break;
      default :      TimeFrameStr = "TF 0";
   }

   IndicatorShortName("ADX_Adv ("+ADXPeriod+") ["+TimeFrameStr+"]");


   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
    datetime TimeArray[];
    int    i,limit,y=0,counted_bars=IndicatorCounted();
    double ADX0,ADX1,ADX2;
    if(counted_bars < 0) 
       return(-1);
    if(counted_bars > 0) 
       counted_bars--;
//----   

 
   ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame); 

   limit= Bars-counted_bars;
   limit= MathMax(limit,TimeFrame/Period());
   limit= MathMin(limit,MaxBarsToCount);

//----   
   for(i=0,y=0;i<limit;i++)
     {
 
  if (TimeFrame<Period()) TimeFrame=Period();
  if (Time[i]<TimeArray[y]) y++;
 
       ADX0 = iADX(NULL, TimeFrame, ADXPeriod, PRICE_CLOSE, MODE_MAIN, y);
       ADX1 = iADX(NULL, TimeFrame, ADXPeriod, PRICE_CLOSE, MODE_PLUSDI, y);
       ADX2 = iADX(NULL, TimeFrame, ADXPeriod, PRICE_CLOSE, MODE_MINUSDI, y);

//----
       if(ADX1 >= ADX2)
         {
           ExtBuffer1[i] = ADX0;
           ExtBuffer2[i] = 0;
         }
       else
         {
           ExtBuffer1[i] = 0;
           ExtBuffer2[i] = ADX0;
         }
     }
   return(0);
  }
//+------------------------------------------------------------------+





Sample





Analysis



Market Information Used:

Series array that contains open time of each bar


Indicator Curves created:


Implements a curve of type DRAW_HISTOGRAM

Indicators Used:

Movement directional index


Custom Indicators Used:

Order Management characteristics:

Other Features: