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:
2094
Rating:
votes: 26
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
}

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.