如何从策略测试器MT4中的时段设置以外的其他时间帧获取数据

问题描述

我想知道如何使用以下示例代码从Strategy Tester(MetaTrader4交易终端的一部分)中的时段设置以外的时间段中获取数据,我得到的op2和{每当我在策略测试器中选择EMA2以外的时间段设置时,就会使用{1}}。

我该如何解决?

M5

enter image description here

解决方法

Q “我该如何解决?”

嗯,

在过去的12多年中,这种语法(否则是经过精心设计的)在MetaTrader Terminal 4 Strategy Tester中从未正常工作。

如果对此有疑问,可以尝试在Expert Advisor或Script-of-MQL4代码中重新运行相同的代码段,并且在那里您将看不到任何麻烦(当然,只有在外汇市场的情况下, QUOTE -消息传递实时进行并提供 QUOTE 标记的外汇市场事件,触发EA-OnTick()方法...出于显而易见的原因,对于Script-of-MQL4代码而言,这没问题

,

实际上,这是可以解决的,但有一个限制-在较低时间范围内进行回溯测试时,您只能请求较高时间范围数据。例如,如果要在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,21,MODE_EMA,PRICE_CLOSE,0) +
                      "\n EMA2 : " +   iMA(NULL,0);
    
       Comment(print);        
  }

幸运的是,通常可以用一种方式重写EA的逻辑,以便从较低的时间范围到较高的时间范围进行工作以进行回测。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...