有一个有趣的交易想法。帮助我找到代码中的错误(mql4)。 - 页 7

 
Sergey Gritsay:
如果你有一个单一货币的EA,这个变体是合适的,如果你做一个多货币的EA,那么你应该为Iniq中的所有货币对创建指标。
我明白了--我错过了这一点,这是否意味着对所有在终端开放的货币?
 
MT5的版本需要更多的工作,我发布的版本是相当小毛病的。
 
Сергей Криушин:
我明白了--我错过了这一点,这是否意味着对所有在终端开放的货币?

 

大家好,我已经用标准类重写了我的MT5的EA。到目前为止,飞行没有问题,让我们测试一下并报告任何错误。为了在测试器的可视化模式下测试EA,我应该规定所需的符号,函数看起来像这样的

bool symbol_tester(string symbol)
  {
   if(!MQLInfoInteger(MQL_VISUAL_MODE))return(true);
//if(!MQLInfoInteger(MQL_TESTER))return(true);
//if(!MQLInfoInteger(MQL_OPTIMIZATION))return(true);

   if(symbol=="EURUSD")return(true);
   if(symbol=="AUDUSD")return(true);
   if(symbol=="GBPUSD")return(true);
   if(symbol=="USDCAD")return(true);
   if(symbol=="USDCHF")return(true);
   if(symbol=="USDJPY")return(true);
   if(symbol=="NZDUSD")return(true);
   if(symbol=="GBPCAD")return(true);

   return(false);
  }
附加的文件:
 

指标类有问题,或者它们真的很重,测试员在我眼前失去了速度。总的来说,我重做了没有标准类的 指标处理。还增加了信号的选择。

signal_01 - 如果cci(13)小于-100表示买入,超过100表示卖出。

signal_02 - 如果cci(13)从上往下穿过-100为买入,如果cci(13)从下往上穿过100为卖出。

signal_03 - 如果cci(13)从下方穿过-100为卖出,如果cci(13)从上方穿过100为卖出。

signal_04 - 如果cci(13)从底部到顶部越过100,如果cci(13)从顶部到底部越过-100为卖出。

signal_05 - 如果cci(13)交叉在100以上为买入,低于-100为卖出。

删除了面板中的一些故障,修复了EA重新启动时的趋势搜索。

附加的文件:
 
在mt4版本中增加了信号的选择
附加的文件:
 

纠正了弄错站的错误。我还注意到,在MT5测试器中,专家顾问在OnTick()函数中的运行速度比OnTimer()快。因此,我建议在测试器上运行时在代码中替换它们。

附加的文件:
 
Sergey Gritsay:

纠正了弄错站的错误。我还注意到,在MT5测试器中,专家顾问在OnTick()函数中的运行速度比OnTimer()快。因此,我建议在测试器上运行时在代码中替换它们。

在策略测试器中,它完全不工作......不清楚它是如何在MT5中不停地做手,并将头寸放在终端中不存在的货币对上:USDSEK;USD ZAR;USDMXM,但它们在市场观察中......也许这就是为什么测试器的速度变慢了......

 
表格变成了2列全屏--一列
 

固定的错误。在输入参数中做出的测试仪器,用逗号书写。在演示的期货上进行了检查,也是如此。

附加的文件:
原因: