请观看如何免费下载自动交易
请在Telegram上找到我们!
加入我们粉丝页
有趣的脚本?
因此发布一个链接 -
让其他人评价
喜欢这个脚本? 在MetaTrader 5客户端尝试它
程序库

用于设置和检查交易时间的类 - MetaTrader 5程序库

显示:
1473
等级:
(33)
已发布:
2015.07.21 15:48
已更新:
2016.11.22 07:33
TimeControl.mqh (19.99 KB) 预览
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务

在您的 EA 中包含 CTimeControl 类可以便利地设置和检查您自己的交易时间。

用法例样:

包含:

#include "TimeControl.mqh"

省缺构造器:

CTimeControl   timeControl;

或是带日线的构造器:

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

或是带有日线设置数组和每日交易时间数组的构造器:

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);

为了取值/赋值每一天的参数,您可以使用 ENUM_DAY_OF_WEEK 日期索引功能来随意赋值/取值:

bool bMonday = timeControl.GetDay(MONDAY);

timeControl.SetDay(MONDAY, true);// 周一启用
timeControl.EnableDay(MONDAY);   // 周一启用
timeControl.DisableDay(MONDAY);  // 周一禁用

int iStartHour, iStopHour;
double
dStartMinute, dStopMinute;

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

或者,您可以用已定义函数来检查每一天:

bool bMonday = timeControl.GetMonday();

timeControl.SetMonday(true); //周一启用
timeControl.EnableMonday();  //周一启用
timeControl.DisableMonday(); //周一禁用

 检查是否为交易时间的主函数已经启用 (使用当前服务器时间)

if ( timeControl.IsTradingTime() == true )

{
   //做点什么
}

else

{
   //做点什么
}

或者您可以检查您自己的 datetime:

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

if ( timeControl.IsTradingTime(date) == true )
{
   //做点什么
}
else
{
   //做点什么
}

由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/12484

Indicator Arrows II Indicator Arrows II

在图表窗口绘制向上/向下箭头。

RSITrend_x10 RSITrend_x10

此 RSITrend_x10 指标显示来自十个不同时间帧的价格走势。

Fractal ZigZag Fractal ZigZag

此指标是 FractalZigZagNoRepaint 的 MQL5 版本, 它显示波段高点和低点。

Smoothed_RSI 和 RSI_of_MA Smoothed_RSI 和 RSI_of_MA

平滑 RSI 指标和移动均线 RSI。