MT5和速度在行动 - 页 28

 
fxsaber:
在交易历史中增加一个订单/交易会导致HistorySelect缓存完全重建,而不是部分重建。因此,在触发订单方面存在滞后现象。

b2595 - 纠正了,太好了!

检查了错误的故事,还没有修复。

 

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

MT5和速度在行动

fxsaber, 2020.09.08 19:46

2020.09.08 20:23:32.103 Alert: Time[Test6.mq5 411: HistorySelect(0,INT_MAX)] = 5 ms.
2020.09.08 20:23:32.239 Alert: Time[Test6.mq5 411: HistorySelect(0,INT_MAX)] = 5 ms.
2020.09.08 20:31:59.863 Alert: Time[Test6.mq5 433: HistorySelect(0,INT_MAX)] = 9 ms.
2020.09.08 20:32:00.845 Alert: Time[Test6.mq5 433: HistorySelect(0,INT_MAX)] = 5 ms.
2020.09.08 20:32:01.856 Alert: Time[Test6.mq5 433: HistorySelect(0,INT_MAX)] = 4 ms.
2020.09.08 20:32:02.846 Alert: Time[Test6.mq5 433: HistorySelect(0,INT_MAX)] = 7 ms.

b2596似乎已经变得更快。

2020.09.11 05:06:17.854 Alert: Time[Test6.mq5 433: HistorySelect(0,INT_MAX)] = 1 ms.
2020.09.11 05:06:18.853 Alert: Time[Test6.mq5 433: HistorySelect(0,INT_MAX)] = 1 ms.
2020.09.11 05:06:19.875 Alert: Time[Test6.mq5 433: HistorySelect(0,INT_MAX)] = 1 ms.
2020.09.11 05:06:20.871 Alert: Time[Test6.mq5 433: HistorySelect(0,INT_MAX)] = 1 ms.
 
b2605 - 不再有警报。一个伟大的工作完成了,谢谢你!
MT5 и скорость в боевом исполнении
MT5 и скорость в боевом исполнении
  • 2020.09.07
  • www.mql5.com
MT5 - шустрая платформа. Но есть узкие горлышки, которые сводят на нет все старания быстрой торговли...
 

你能告诉我在交易时如何避免这种事情吗?

2020.09.15 22:17:04.633 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 13 ms.
2020.09.15 22:17:04.638 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 18 ms.
2020.09.15 22:17:04.640 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 20 ms.
 
在实时终端上运行此脚本 的结果。
2020.09.15 22:26:41.788 Test6 (EURUSD,H1)       Alert: Time[Test6.mq5 484: OrderSelect(0)] = 1 ms.
2020.09.15 22:26:48.322 Test6 (EURUSD,H1)       Alert: Time[Test6.mq5 489: PositionsTotal()] = 2 ms.
2020.09.15 22:27:07.661 Test6 (EURUSD,H1)       Alert: Time[Test6.mq5 490: PositionSelect(Symb)] = 1 ms.
2020.09.15 22:27:47.228 Test6 (EURUSD,H1)       Alert: Time[Test6.mq5 483: OrdersTotal()] = 2 ms.
2020.09.15 22:27:53.039 Test6 (EURUSD,H1)       Alert: Time[Test6.mq5 483: OrdersTotal()] = 9 ms.
2020.09.15 22:28:13.858 Test6 (EURUSD,H1)       Alert: Time[Test6.mq5 490: PositionSelect(Symb)] = 1 ms.
2020.09.15 22:28:21.058 Test6 (EURUSD,H1)       Alert: Time[Test6.mq5 484: OrderSelect(0)] = 8 ms.
2020.09.15 22:28:47.813 Test6 (EURUSD,H1)       Alert: Time[Test6.mq5 489: PositionsTotal()] = 4 ms.
2020.09.15 22:28:51.482 Test6 (EURUSD,H1)       Alert: Time[Test6.mq5 505: AccountInfoInteger(ACCOUNT_TRADE_EXPERT)] = 4 ms.
2020.09.15 22:29:09.053 Test6 (EURUSD,H1)       Alert: Time[Test6.mq5 490: PositionSelect(Symb)] = 1 ms.
2020.09.15 22:29:09.353 Test6 (EURUSD,H1)       Alert: Time[Test6.mq5 506: AccountInfoInteger(ACCOUNT_TRADE_ALLOWED)] = 1 ms.
2020.09.15 22:29:28.814 Test6 (EURUSD,H1)       Alert: Time[Test6.mq5 457: HistorySelect(Tick.time,INT_MAX)] = 2 ms.

最后一行是正常的。


滞后是否会受到平行运行的EA的影响?没有指标。


SZY在空终端上进行剖析。

SymbolInfoTick是一个昂贵的函数。

 
fxsaber:

滞后是否会受到平行运行的EA的影响?没有任何指标。

我启动了一个并行的空终端并进行了尝试。我没有看到同样的事情。

配置。
2020.09.15 20:35:42.481 Terminal        Windows 10 build 19042, Intel Core i7-2700 K  @ 3.50 GHz, 6 / 15 Gb memory, 20 / 29 Gb disk, IE 11, Admin, GMT+3

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

MT5和速度在行动

fxsaber, 2020.09.01 21:59

安装了Win10,LatencyMon显示一切正常。

 
一般来说,由于几乎每一个常规函数都会引起制动,战斗专家顾问每一次OnTick都要执行几十毫秒。这个数额被调用Order*+SymbolInfoTick+Position*等的总和吃掉了。没有数学计算。你需要免费的快照。没有它们,MT5上的HDI就不能工作。
 
fxsaber:
总之,由于几乎每一个常规函数都会导致速度减慢,战斗专家顾问执行每一个OnTick都要几十毫秒。调用Order*+SymbolInfoTick+Position*等的总和吃了那么多。没有数学计算。你需要免费的快照。没有它们,MT5上的HDI就不能工作。

这种做法有问题...显然,需要OnTrade功能,而不是在每个tick 上从头开始扫描状态。

 
Andrey Khatimlianskii:

这种做法有问题...显然,需要OnTrade功能,而不是在每个tick 上从头开始扫描状态。

OOP范式假设每个子TC都会扫描交易环境。然而,如果你真的想,你可以稍稍打破OOP对象的独立性。

例如,在OnTick的最开始做一个完整的快照。而且,只有在调用同步函数--OrderSend和CopyTicks之后才必须重复。

至于OnTrade*,当快照只在OnTrade-功能中进行时,连接中断会破坏计划。否则,当然会有很大的节省。

 
fxsaber:

OOP范式假设每个子操作系统都会扫描交易环境。然而,如果真的想的话,可以稍稍打破OOP对象的独立性。

例如,在OnTick的最开始做一个完整的快照。而且只有在调用同步函数--OrderSend和CopyTicks之后才会重复。

当然,快照对象必须是一个。


fxsaber:

至于OnTrade*,当快照只在OnTrade功能中进行时,链接断裂就会破坏方案。否则,当然会有很大的节省。

检测连接中断,并在下一次勾选时强制更新快照,然后回到经济模式?