欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

设置和检查交易时间的类 - MetaTrader 5 库

author emer | 896 人阅读 | 0 人评论 |

CTimeControl 类包含到您的 EA 中,以便轻松设置和检查您自己的交易时间。

使用示例:

#包括 “时间控制.mqh”

默认构造函数:

CTimeControl 时间控制;

或带天数的构造函数:

CTimeControl 时间控制(错误的,真的,真的,错误的,错误的,错误的,错误的);

或者具有天数设置数组和每天交易时间数组的构造函数:

布尔值    arrDaysSetting[7] = {错误的,真的,真的,错误的,错误的,错误的,错误的};
整数      
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);

对于每天的获取/设置参数,您可以使用带有 ENUM_DAY_OF_WEEK 索引的函数来获取您想要设置/获取的日期:

布尔值bMonday = timeControl.GetDay(周一);

timeControl.SetDay(周一,真的);// 周一启用
timeControl.EnableDay(周一);  // 周一启用
timeControl.DisableDay(周一); // disable monday

整数iStartHour、iStopHour;
双倍的
d开始分钟,d停止分钟;

timeControl.GetTradingTime(周一, iStartHour, dStartMinute, iStopHour, dStopMinute);

或者您可以每天使用定义的函数进行检查:

布尔值 bMonday = timeControl.GetMonday();

timeControl.SetMonday(真的); //周一启用
timeControl.EnableMonday(); //禁用星期一
timeControl.DisableMonday(); //禁用星期一

 检查交易时间是否启用的主要功能(使用当前服务器时间)

if ( timeControl.IsTradingTime() ==真的

{
  //做某事
}

{
  //做某事
}

或者你可以检查你自己的日期时间:

日期时间日期=D'24.02.2015 12:30:27'

if ( timeControl.IsTradingTime(日期) ==真的
{
  //做某事
}
别的
{
  //做某事
}


附件下载

📎 timecontrol.mqh (19.99 KB)

Source: MQL5 #12484

🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录