【问题标题】:How can I get data from a time frame other than period setting in strategy tester (MT4)如何从策略测试器 (MT4) 中的周期设置以外的时间范围获取数据
【发布时间】:2020-11-02 06:33:43
【问题描述】:

我想知道如何从 Strategy Tester(MetaTrader4 交易终端的一部分)中设置的时间范围以外的时间范围获取数据,使用下面的示例代码,我得到 op2EMA2 的零结果每当我在策略测试器中选择M5 以外的周期设置时。

我该如何解决?

  void OnTick()
  {  
       string print = "\n\n\n\n\n\n" +
                      "\n op1= "   + iOpen(NULL,PERIOD_CURRENT,0) +
                      "\n op2= "   + iOpen(NULL,PERIOD_M5,0) +
                      "\n EMA1 : " +   iMA(NULL,PERIOD_CURRENT,21,0,MODE_EMA,PRICE_CLOSE,0) +
                      "\n EMA2 : " +   iMA(NULL,PERIOD_M5,21,0,MODE_EMA,PRICE_CLOSE,0);
    
       Comment(print);        
  }

【问题讨论】:

    标签: mql4 algorithmic-trading metatrader4 forex mt4


    【解决方案1】:

    “我该如何解决?”

    嗯,

    在过去 12 年多的时间里,这个(否则精心设计的语法)从未在 MetaTrader 终端 4 策略测试器中正常工作。

    如果这里有疑问,可以尝试在 EA 交易或脚本类型的 MQL4 代码中重新运行相同的一段代码,您不会看到任何问题(当然,仅在外汇市场的情况下) QUOTE-message-feed 已上线并提供 QUOTE-tick 触发 EA-OnTick()-方法的外汇市场事件...原因很明显这对于 MQL4 代码的脚本类型没有问题)

    【讨论】:

    • 感谢您的评论,所以您是说它的策略测试器问题和代码在智能交易系统中可以正常工作?我想在图表历史中测试多时间框架交易策略,并将其用作基于回测结果的交易策略。为此,我需要在我的脚本中使用不同的时间范围数据,以确保一切正常,而我知道的唯一方法是逐步在 MT4 中使用策略测试器!
    • 欢迎。这不是评论,这是答案。我使用相同的原则绕过(规避)策略测试器的问题大约 7 年(通过附加的、基于脚本的、自己的回测/验证引擎来补充内置的策略测试器引擎)
    • 老实说,我在这个领域工作的时间不超过两个月,您能否以更简单的步骤或举例说明您的答案,提前谢谢您。
    • 没问题。简而言之 - 这在 Strategy Tester 中永远不会起作用(自 2020 年第四季度以来一直如此)。理解和接受这一事实并不复杂。
    【解决方案2】:

    实际上,这可以解决,但有一个限制 - 您只能在较短时间范围内运行回测时请求较高时间范围数据。例如,如果您要在 M5 上运行回测,这将返回非零值:

      void OnTick()
      {  
           string print = "\n\n\n\n\n\n" +
                          "\n op1= "   + iOpen(NULL,PERIOD_CURRENT,0) +
                          "\n op2= "   + iOpen(NULL,PERIOD_M15,0) +
                          "\n EMA1 : " +   iMA(NULL,PERIOD_CURRENT,21,0,MODE_EMA,PRICE_CLOSE,0) +
                          "\n EMA2 : " +   iMA(NULL,PERIOD_M15,21,0,MODE_EMA,PRICE_CLOSE,0);
        
           Comment(print);        
      }
    

    幸运的是,出于回测目的,通常可以重写 EA 的逻辑,以便从较短的时间范围和较高的时间范围内工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-12
      • 1970-01-01
      • 1970-01-01
      • 2021-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多