Watch how to download trading robots for free
Find us on Telegram!
Join our fan page
Interesting script?
So post a link to it -
let others appraise it
You liked the script? Try it in the MetaTrader 5 terminal
Libraries

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

Views:
4648
Rating:
(33)
Published:
2015.02.27 10:43
Updated:
2016.11.22 07:32
TimeControl.mqh (19.99 KB) view
Need a robot or indicator based on this code? Order it on Freelance Go to Freelance

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
}

Indicator Arrows II Indicator Arrows II

Plots up/down buffer arrows in chart window.

CHashArrayStringString CHashArrayStringString

Example of implementation of lines hash array with a string key.

Smoothed_RSI and RSI_of_MA Smoothed_RSI and RSI_of_MA

Smoothed RSI indicator and RSI of Moving Average.

Fractal ZigZag Fractal ZigZag

This indicator is MQL5 version of FractalZigZagNoRepaint, it displays swing highs and lows.