错误、漏洞、问题 - 页 1943

 
Anton Ohmat:

2个问题。

1.如何在MT5中像在MT4中那样显示止损值。这变得非常不舒服。因为我甚至不能看到交易的历史停顿。它们只在订单中单独显示,我可以通过某种方式检查吗?

2.代理商在测试时使用什么报价--我的终端或我自己的符号下载的报价?我问这个问题是因为我经常注意到代理人的测试结果和我的电脑上的测试结果之间的差异。

1.没有修改TakeProfit和StopLoss的历史。始终显示TakeProfit和StopLoss的当前值。如果你想看看TakeProfit和StopLoss是如何移动的,自己去做吧。感谢POSITION_REASONDEAL_REASONORDER_REASON 属性的出现。

策略测试器使用你登录到终端的交易服务器的交易历史。


Anton Ohmat:
还有一个问题。有没有可能在测试过程中在EA中指定一些东西,以便回测时一次性选择,例如,默认的订单和交易的输出。在调试过程中,每小时要点击100-200次,这并不方便。

不,你不能。

Anton Ohmat:

似乎故障在于,在一次测试中根本不显示物体,只有在可视化过程中物体才会显示在屏幕上。终端今天自行更新了((((((

也许你可以在更新软件之前多测试一下。我花了几个小时才想到这是终端的一个故障。


在称某事为 "故障 "之前,你应该阅读文件(测试的特点 - 算法交易,交易机器人) - 阅读整个部分。

AntonOhmat:

一个常见的问题。当1-2个代理人挂了,不计较什么。我已经对这个问题感到厌烦了--整个测试挂起,这意味着测试的时间和金钱的损失(。

我真的很讨厌这个问题--有没有办法解决这个问题,比如说,如果一个代理的计数比其他200-300个代理慢,那么要么不等它,要么完全排除它。测试在500-600次运行时失败。

作为摆脱困境的方法--手动关闭,然后再打开,一切都能正常工作,直到一些减速剂,然后全部重新开始。

与你的代码一起工作--99.9%--你有一个充满错误的日志,如 "没有钱开仓"。

Anton Ohmat:

请告知如何从优化结果 中筛选出具有较大跌幅的数值,就像在mt4中那样。


策略测试器->标签 "优化"->双击行标题 "缩减,%"将通过增加/减少缩减对测试结果进行排序。

 
Anton Ohmat:

一个常见的问题。当1-2个代理人挂断电话,不计较什么。结果是整个测试都挂了,分别在测试上损失了时间和金钱(。

真的很讨厌这个问题--有没有办法解决,比如说,如果一个代理人的计数比其他200-300个代理人慢,那么它要么不等待,要么完全排除。测试在500-600次运行时崩溃。

作为一种出路--手动关闭,然后再打开,一切都能正常工作,直到一些滞后的代理,然后一切又恢复了。

试着在成功的OrderCheck 之后才进行OrderSend。如果没有帮助,就去找SR。

 

专家顾问是在1641年下编制的,它有一个快速的交易历史。

在优化过程中,是否有可能到了Build 1596的代理处,历史工作非常缓慢,因此优化的速度也慢了很多倍?

 

关于交易、自动交易系统和策略测试的论坛

图书馆:TesterBenchmark

fxsaber, 2017.07.24 14:13

我们从交付的EA中取出,并在测试器中运行,得到以下性能数据

------
OnTesterInit
i = 0 Pass = 0 OnTester = 2.231 s.: Count = 3387955, 1518581.4 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
i = 1 Pass = 1 OnTester = 2.214 s.: Count = 3387955, 1530241.6 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
iMin = 1 Results[iMin] = 2.214 s.
iMax = 0 Results[iMax] = 2.231 s.
Amount = 2 Mean = 2.223 s. - 79.08%
OnTesterDeinit
------
Interval = 5.621 s., Count = 0, 0.0 unit/sec

现在让我们运行同一个EA,但使用Trade.mqh

------
OnTesterInit
i = 0 Pass = 0 OnTester = 3.330 s.: Count = 3387955, 1017403.9 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
i = 1 Pass = 1 OnTester = 3.475 s.: Count = 3387955, 974951.1 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
iMin = 0 Results[iMin] = 3.330 s.
iMax = 1 Results[iMax] = 3.475 s.
Amount = 2 Mean = 3.402 s. - 89.73%
OnTesterDeinit
------
Interval = 7.584 s., Count = 0, 0.0 unit/sec

事实证明,Trade SB比纯MQL5慢了1.5倍!

我想 就是原因,所以我在Trade.mqh中做了一个小小的修正。

//+------------------------------------------------------------------+
//| Access functions PositionSelect(...)                             |
//+------------------------------------------------------------------+
bool CPositionInfo::Select(const string & symbol)
  {
   return(PositionSelect(symbol));
  }

但SB变体的减速并没有消失。

SB的缓慢的原因在哪里?

 

关于交易、自动交易系统和策略测试的论坛

图书馆:TesterBenchmark

fxsaber, 2017.07.24 14:24

那是优化模式。现在这个相同的EA,但在单次运行模式下

Core 1  2017.07.21 23:59:59   Interval = 5.140 s., Count = 3387955, 659135.2 unit/sec
Core 1  EURUSD,M1: 3387955 ticks, 52608 bars generated. Test passed in 0:00:05.164.

在本地Agent上的单次运行速度比在同一Agent上慢2.3倍,但在优化过程中!


也许是测试者的迟钝,让我们看看在优化和单一运行模式下,OnTick剖析会显示什么(执行和其他交易环境的问题不会影响结果)。


优化

------
OnTesterInit
i = 0 Pass = 0 OnTester = 2.910 s.: OnTick Profiler: Count = 3387955, Interval = 0.969 s., 3496753.0 unit/sec , Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
i = 1 Pass = 1 OnTester = 2.862 s.: OnTick Profiler: Count = 3387955, Interval = 0.952 s., 3559797.1 unit/sec , Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
iMin = 1 Results[iMin] = 2.862 s.
iMax = 0 Results[iMax] = 2.910 s.
Amount = 2 Mean = 2.886 s. - 78.06%
OnTesterDeinit
------
Interval = 7.394 s., Count = 0, 0.0 unit/sec


单次通过

Core 1  2017.07.21 23:59:59   Interval = 6.149 s. (Profiler: Count = 3387955, Interval = 4.018 s., 843148.2 unit/sec)
Core 1  EURUSD,M1: 3387955 ticks, 52608 bars generated. Test passed in 0:00:06.162.


在单次运行模式下,OnTick本身的净执行速度要比优化模式下慢4.2倍。而这是在同一个地方的代理人身上!

关于交易、自动交易系统和交易策略测试的论坛

图书馆:TesterBenchmark

fxsaber, 2017.07.24 14:33

在MT4中也有同样的情况。可能是4号车的刹车,因为在单车道上形成了原木。

 

如果你在一个允许你选择颜色的图表上应用MT5指标,然后重新编译,颜色会被重置为原来的颜色,而其他设置则保持不变。

为什么颜色被重置是非常不方便的,特别是如果指标是MTF,颜色与TF挂钩。

 
用你的代码工作--99.9%--你的日志中充满了 "没有钱开仓 "这样的错误。

我坐在那里,等待着看慢工出细活的特工会有什么回报。最后它返回错误INIT_PARAMETERS_INCORRECT(没有执行任何操作)。在我的情况下,这表明输入的参数不适合。因此,我可以说,100个概率中有99个概率,有人只是把一台旧的笔记本电脑插入系统。这个想法因为这样而变得毫无意义。在美国MQL5云中观察到的


它在日志中

在0:00:00.359的时候,MQL5云美国遗传通(0, 206)测试出错误 "输入参数不正确"(PR 142)

 

给开发者的问题(如果我让你感到厌烦,我道歉)。

我不明白--我的遗传算法 说是12000次,但我的代理实际上只执行了9000次。- 另外3000个结果会怎样?

 
在称某事为 "故障 "之前,你应该研究一下文件(Особенности тестирования - Алгоритмический трейдинг, торговые роботы)--阅读整个部分。
Графические объекты при тестировании

Во время тестирования/оптимизации не осуществляется построение графических объектов. Таким образом, при обращении к свойствам созданного объекта во время тестирования/оптимизации эксперт получит нулевые значения.

Данное ограничение не распространяется на тестирование в визуальном режиме.
那么,除了可视化之外,我怎样才能在图表上看到机器人是否把止损放好了?视觉效果很慢(
 
fxsaber:

专家顾问是在1641年下编制的,它有一个快速的交易历史。

在优化过程中,是否有可能进入到1596版的代理,在那里历史工作非常缓慢,因此优化的速度也会减慢很多?

不,任务不会分配给cludes中的老代理。