Author: Copyright (c) 2006, Charles W. Van Dien III
MarketHour
Miscellaneous
Implements a curve of type %1
1 Views
0 Downloads
0 Favorites
MarketHour
//+------------------------------------------------------------------+
//|                                                  MarketHours.mq4 |
//|                        Copyright (c) 2006, Charles W. Van Dien III |
//|                                    mailto: vandien@bellsouth.net |
//+------------------------------------------------------------------+
#property copyright "Copyright (c) 2006, Charles W. Van Dien III"
#property link      "mailto: vandien@bellsouth.net"

#property indicator_separate_window
#property indicator_buffers 3
#property indicator_minimum 0
#property indicator_maximum 4
#property indicator_color1 Goldenrod
#property indicator_color2 Red
#property indicator_color3 DodgerBlue

extern int     ServerGMT   =2;     // future Daylight Savings value

int EuropeanMarketOpen=6;     //06:00 GMT
int EuropeanMarketClose=15;   //15:00 GMT

int AsianMarketOpen=23;       //23:00 GMT
int AsianMarketClose=7;       //7:00 GMT

int USMarketOpen=12;          //12:00 GMT
int USMarketClose=20;         //20:00 GMT

double USMarket[];
double EuropeanMarket[];
double AsianMarket[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()  {
//---- indicators
SetIndexStyle(0,DRAW_ARROW,STYLE_SOLID,1);
SetIndexShift(0,0);
SetIndexDrawBegin(0,0);
SetIndexEmptyValue(0,0.0);
SetIndexLabel(0,NULL);
SetIndexArrow(0,110);
SetIndexBuffer(0,AsianMarket);

SetIndexStyle(1,DRAW_ARROW,STYLE_SOLID,1);
SetIndexShift(1,0);
SetIndexDrawBegin(1,0);
SetIndexEmptyValue(1,0.0);
SetIndexLabel(1,NULL);
SetIndexArrow(1,110);
SetIndexBuffer(1,EuropeanMarket);

SetIndexStyle(2,DRAW_ARROW,STYLE_SOLID,1);
SetIndexShift(2,0);
SetIndexDrawBegin(2,0);
SetIndexEmptyValue(2,0.0);
SetIndexLabel(2,NULL);
SetIndexArrow(2,110);
SetIndexBuffer(2,USMarket);

//----
   return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()   {
//----
   
//----
   return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start() {
IndicatorShortName("Market Hours");
int limit;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//limit=Bars;
for(int x=0; x<limit; x++) {
   AsianMarket[x]=0.0;
   EuropeanMarket[x]=0.0;
   USMarket[x]=0.0;
   if(TimeHour(Time[x])>=AsianMarketOpen+ServerGMT  || (TimeHour(Time[x])<=AsianMarketClose+ServerGMT-1 )) {
      AsianMarket[x]=1.0;
   }
   if(TimeHour(Time[x])>=EuropeanMarketOpen+ServerGMT && TimeHour(Time[x])<=EuropeanMarketClose+ServerGMT-1) {   
      EuropeanMarket[x]=2.0;
   }
   if(TimeHour(Time[x])>=USMarketOpen+ServerGMT && TimeHour(Time[x])<=USMarketClose+ServerGMT-1) {
      USMarket[x]=3.0;
   }
}
return(0);
}
//+------------------------------------------------------------------+

Comments