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

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

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

votes: 21
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 "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};
arrStartHours[7] = { 0, 15, 14, 0, 0, 0, 0};
arrStartMinutes[7] = { 0, 15, 14, 0, 0, 0, 0};
arrStopHours[7] = { 23, 13, 21, 23, 23, 23, 23};
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;
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


   //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
   //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.

TP-SL_Removing TP-SL_Removing

Immediately deletes the SL/TP of all positions.

Closed_TOTAL Closed_TOTAL

Total closure of all positions (winners/losers). You can also select which are of a single instrument.