Download MetaTrader 5

Watch how to download trading robots for free

Interesting script?
So post a link to it -
let others appraise it

You liked the script? Try it in the MetaTrader 5 terminal

2015.02.27 10:43
Libraries

Class for set and check your trading time - library for MetaTrader 5

| English Русский 中文 Español Deutsch 日本語 Português

Views:
1909
Rating:
votes: 24
TimeControl.mqh (19.99 KB)view

CTimeControl class for include to your EA for easy setting and checking your own trading time.

An example of usage:

Include:

#include "TimeControl.mqh"

Default constructor:

CTimeControl   timeControl;

Or constructor with days:

CTimeControl timeControl(false, true, true, false, false, false, false);

Or constructor with array of days settings and arrays for trading times in every day:

bool     arrDaysSetting[7] = { false, true, true, false, false, false, false};
int      
arrStartHours[7] = { 0, 15, 14, 0, 0, 0, 0};
double  
arrStartMinutes[7] = { 0, 15, 14, 0, 0, 0, 0};
int      
arrStopHours[7] = { 23, 13, 21, 23, 23, 23, 23};
double  
arrStopMinutes[7] = { 0, 15, 14, 0, 0, 0, 0};

CTimeControl timeControl2( arrDaysSetting, arrStartHours, arrStartMinutes, arrStopHours, arrStopMinutes);

For get/set parameter of every day u can use functions with ENUM_DAY_OF_WEEK index for day what u want to set/get:

bool bMonday = timeControl.GetDay(MONDAY);

timeControl.SetDay(MONDAY, true);// enable monday
timeControl.EnableDay(MONDAY);   // enable monday
timeControl.DisableDay(MONDAY);  // disable monday

int iStartHour, iStopHour;
double
dStartMinute, dStopMinute;

timeControl.GetTradingTime(MONDAY, iStartHour, dStartMinute, iStopHour, dStopMinute);

or you can check every day with defined functions:

bool bMonday = timeControl.GetMonday();

timeControl.SetMonday(true); //enable monday
timeControl.EnableMonday();  //disable monday
timeControl.DisableMonday(); //disable monday

 Main function for check if trading time is enabled (use current server time)

if ( timeControl.IsTradingTime() == true )

{
   //do something
}

else

{
   //do something
}

or you can check your own datetime:

datetime date = D'24.02.2015 12:30:27'

if ( timeControl.IsTradingTime(date) == true )
{
   //do something
}
else
{
   //do something
}

Accelerator Oscillator (AC) Accelerator Oscillator (AC)

The Acceleration/Deceleration Indicator (AC) measures acceleration and deceleration of the current driving force.

Average Directional Movement Index (ADX) Average Directional Movement Index (ADX)

The Average Directional Movement Index Indicator (ADX) helps to determine if there is a price trend.

Yen Trader Yen Trader

Expert Advisor to trade Yen Crosses based on Major Pairs and USDJPY divergence/convergence.

Example of MACD Automated Example of MACD Automated

Code example of MACD automated with advanced money management function.