- 显示:
- 1645
- 等级:
- 已发布:
- 2015.07.21 15:48
- 已更新:
- 2016.11.22 07:33
-
需要基于此代码的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

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

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