【问题标题】:How to setup a period of time in an MQL4 source code?如何在 MQL4 源代码中设置时间段?
【发布时间】:2016-11-10 09:45:16
【问题描述】:

我正在使用 MQL4

目前,我在 MT4.StrategyTester 中使用 [Expert Advisor]-s,并通过内置的下拉日历 GUI 元素设置一个时间段。

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

如果实现了,比如我可以比较一下结果

'from 2011/01-to 2011/12' 

'from 2012/01-to 2012/12'

等等。

【问题讨论】:

    标签: algorithmic-trading mql4 metatrader4 mt4


    【解决方案1】:

    这个需求有一个简单的解决方案,即使在上述 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() 是超参数优化期间 StrategyTester 中此类不受支持的部分之一。

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

    【讨论】:

    • 非常感谢!!将 datetime 设置为 extern 是一个很好的提示。它现在有效。但是,我怎样才能扫描周期并优化?在“专家属性”中,aStartFromDATE 和 aRunTillDATE 不可选择。我想设置2012/04/01-2012/04/31,2012/05/01-2012/05-31,2012/06/01-2012/06/30,,,,等等看结果每个时期。并感谢您对 MQL4 WIld World 的警告。我太激动了。
    • 谢谢,我放了Anser按钮,但是无法点击向上箭头,这是因为我的名声太短了。抱歉,对于stackoverflow,我可能太新手了。但是,即使我单击优化,选择也不会激活img。在这种情况下,如果我想按月扫描日历。我还需要做什么??
    • 我找到了在源代码中设置数据的方法。为时间数据集制作数组。 datetime StartFromDate[0] = D'2345.01.01 00:00'; datetime StartFromDate[1] = D'2345.02.01 00:00'; datetime StartFromDate[2] = D'2345.03.01 00:00'; 然后我可以像 StartFromDate[i] 这样使用时间并更改优化属性中的 i 变量。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多