专家: 做货币对OnTick (string symbol) 事件句柄 - 页 4

 
nra_:
我知道智能交易系统中的 OnDeinit 不应该调用 OnDeinit,但这是最理想的状态。你确定在 15 个小时的测试中,EA 只调用了一次 OnInit?

是的,为什么不是这样呢?

这是一个 EA,没有用户的参与(图表、参数的更改,重新编译),它不会重新启动。

 

很好,不过我还是要检查一下实际情况是否如此。我现在就在笔记本电脑上进行测试。晚上我们就能看到结果了。我的 EA 也是以类似的方式向外部模块导出刻度线的,我想了解一下 OnChartEvent 解决方案的稳定性如何。

PS.在测试时,您的市场概览中是否有自定义符号

 
nra_:

很好,不过我还是要检查一下实际情况是否如此。我现在就在笔记本电脑上进行测试。晚上我们就能看到结果了。我的 EA 以类似的方式向外部模块导出刻度,我想了解 OnChartEvent 解决方案的稳定性如何。

PS.在测试时,您的市场概览中有自定义符号吗?

没有自定义符号。

但显然不是每个人都能重现这个问题。我暂时放弃了间谍活动。

 
测试过程中连接断开了吗?
 
nra_:
测试过程中连接中断了吗?

没有,连接日志中没有中断。

 

从包含文件 OnTick(stringsymbol).mqh:

//+------------------------------------------------------------------+
//| 专家勾选功能|
//|| 专供测试仪使用。
//+------------------------------------------------------------------+
void OnTick()
  {
   if(_testing_)
     {
      for(int i=0; i<_symbols_total_; i++)
        {
         string __symbol__=_symbol_[i];
         if(MathAbs(GlobalVariableGet(__symbol__+"_flag")-2)<0.1)
           {
            GlobalVariableSet(__symbol__+"_flag",1);
            OnTick(__symbol__);
           }
        }
     }
  }
//+------------------------------------------------------------------+

我的理解是否正确,这并不是一个全面的多货币测试器?只有在主图表上出现 tick 时才会进行检查,它只是检查其他符号是否已发生变化?