如何在 MQL4 源代码中设置一段时间



我正在使用 MQL4

目前,我在MT4中使用[智能交易系统]-s。策略测试器,并通过内置的下拉日历GUI元素设置时间段。

我想做的是在 MQL4 源代码中直接设置一段时间。

例如,如果实现,我可以比较结果

'from 2011/01-to 2011/12' 

'from 2012/01-to 2012/12'

等等。

一个简单的解决方案来满足这一要求,即使在上述MT4中具有全自动,大规模超参数优化的附加值。StrategyTester工具,使用提议的参数对( aStartFromDATEaRunTillDATE (作为可迭代元组,可以利用它在某些扫描/滑动日历时间窗口上对其候选版本的TradingStrategy鲁棒叉验证。

extern datetime aStartFromDATE = D'2010.01.01 00:00';
extern datetime   aRunTillDATE = D'2345.01.01 00:00';
void OnTick(){
     if (  Time < aStartFromDATE
        || Time >   aRunTillDATE
           ){
           IgnoreTicksOutsideTheGivenPeriodOfTime();
           return;
     }
  // SURE TO BE INSIDE THE GIVEN ( MT4.STRATEGY/TESTER ITERABLE ) PERIOD OF TIME
     ...
     ..
     .
}
void IgnoreTicksOutsideTheGivenPeriodOfTime(){
  // Ignore, but still may do execute some utility service during a void run
}

请注意语法支持的不同范围:

人们可能也会对用例持谨慎态度,其中包括一些强大的新语法构造函数的 StrategyTester 限制:

PrintFormat()是策略测试器中超参数优化期间不支持的部分之一。

PrintFormat()函数在策略测试器中的优化期间不起作用。

最新更新