MT5和速度在行动 - 页 3 12345678910...94 新评论 Anton 2020.05.29 13:11 #21 fxsaber: 空的终端2460。 ZS 在空账户上运行。 似乎速度在很大程度上受到交易数量 的影响,而不是订单的影响。 这是有可能的。一定会去看看的。 即使是可怕的20000ms/100000周期,也与每次调用5-30ms相差甚远。 [删除] 2020.05.29 13:11 #22 我不明白它是如何运作的。 - 我得到了一点儿这个消息。 Aleksey Mavrin 2020.05.29 13:12 #23 A100: 在其最简单的形式中。 你只需要改变你对计算本身的方法(按任务要求的频率做中间返回)。但如果它很复杂,在第一阶段考虑OnMain对你来说并不存在(你不把主要代码移到OnMain,而是移到OnTrade2XX),你不需要在OnMain中学习任何东西。 什么是OnMain? 如果每个事件都调用OnMain来处理队列,那么OnMain的队列中怎么会有多个事件? [删除] 2020.05.29 13:14 #24 fxsaber: 需要在一个有大量交易历史的账户上运行。 不是重点了--丹麦王国的东西....其余的文字是什么?)) MASTERXAYS 2020.05.29 13:15 #25 测试1 Dzmitry Manannikov 2020.05.29 13:19 #26 fxsaber: 请读者引用他们对这个脚本的结果。 从我不太新的笔记本电脑上运行。 Denis Kirichenko 2020.05.29 13:29 #27 在不同的角色上开始了3次。这些是结果。 2020.05.29 14:21:52.586 t2 (EURUSD,H1) HistoryDealsTotal() = 4987 2020.05.29 14:21:52.588 t2 (EURUSD,H1) HistoryOrdersTotal() = 4981 2020.05.29 14:21:52.757 t2 (EURUSD,H1) 100000 HistorySelect = 169.73 ms 2020.05.29 14:23:08.299 t2 (USDCHF,H4) HistoryDealsTotal() = 4987 2020.05.29 14:23:08.299 t2 (USDCHF,H4) HistoryOrdersTotal() = 4981 2020.05.29 14:23:08.480 t2 (USDCHF,H4) 100000 HistorySelect = 181.60 ms 2020.05.29 14:23:37.074 t2 (USDCAD,H1) HistoryDealsTotal() = 4987 2020.05.29 14:23:37.074 t2 (USDCAD,H1) HistoryOrdersTotal() = 4981 2020.05.29 14:23:37.238 t2 (USDCAD,H1) 100000 HistorySelect = 163.83 ms 资源。 2020.05.29 14:25:26.874 Terminal MetaTrader 5 x64 build 2460 started for MetaQuotes Software Corp. 2020.05.29 14:25:26.876 Terminal Windows 10 build 17763, AMD Phenom II X3 720 Processor, 10 / 15 Gb memory, 597 / 930 Gb disk, IE 11, UAC, Admin, GMT+3 我认为,其结果是非常好的。 而且有许多不同的进程在电脑上运行,平均CPU活动~=50-65%。 prostotrader 2020.05.29 14:01 #28 fxsaber: 请读者引用他们对这个剧本的成果。 2020.05.29 14:58:20.187 ddd (Si-6.20,M1) HistoryDealsTotal() = 4267 2020.05.29 14:58:20.187 ddd (Si-6.20,M1) HistoryOrdersTotal() = 43089 2020.05.29 14:58:24.777 ddd (Si-6.20,M1) 100000 HistorySelect = 4589.30 ms fxsaber 2020.05.29 14:01 #29 Anton: 即使是可怕的20000ms/100000个周期,也远不是每次调用的5-30ms。 #include <fxsaber\Benchmark.mqh> // https://c.mql5.com/3/321/Benchmark.mqh void OnStart() { MqlTick Tick; if (SymbolInfoTick(_Symbol, Tick)) for (int i = 0; i < 100000; i++) _B(HistorySelect(Tick.time, INT_MAX), 5); } Alert: Time[Test6.mq5 9: HistorySelect(Tick.time,INT_MAX)] = 32 ms. Alert: Time[Test6.mq5 9: HistorySelect(Tick.time,INT_MAX)] = 6 ms. 在战斗的EA中,我在可疑的地方到处把函数包装成_B(FuncName(..), AlertTime)。 以下是最近的记录中的简短摘录。 2020.05.29 15:08:41.806 Alert: Time[NewTicks.mqh 271: NEWTICKS::IsHistoryDeals(MarketWatchTick.time_msc)] = 20 ms. 2020.05.29 15:08:41.806 Alert: Time[SyncChannel.mqh 381: NEWTICKS::CheckFreshTicks(::LastTicks)] = 21 ms. 2020.05.29 15:08:42.793 Alert: Time[NewTicks.mqh 112: ::HistorySelect(TimeMsc/1000,INT_MAX)] = 8 ms. 2020.05.29 15:08:42.793 Alert: Time[NewTicks.mqh 271: NEWTICKS::IsHistoryDeals(MarketWatchTick.time_msc)] = 8 ms. 2020.05.29 15:08:42.925 Alert: Time[NewTicks.mqh 112: ::HistorySelect(TimeMsc/1000,INT_MAX)] = 6 ms. 2020.05.29 15:08:42.930 Alert: Time[NewTicks.mqh 247: NEWTICKS::IsHistoryDeals(Ticks[Size-1].time_msc)] = 7 ms. 2020.05.29 15:08:42.930 Alert: Time[SyncChannel.mqh 381: NEWTICKS::CheckFreshTicks(::LastTicks)] = 11 ms. 2020.05.29 15:08:42.952 Alert: Time[NewTicks.mqh 112: ::HistorySelect(TimeMsc/1000,INT_MAX)] = 6 ms. 2020.05.29 15:08:42.952 Alert: Time[NewTicks.mqh 271: NEWTICKS::IsHistoryDeals(MarketWatchTick.time_msc)] = 6 ms. 2020.05.29 15:08:44.557 Alert: Time[NewTicks.mqh 112: ::HistorySelect(TimeMsc/1000,INT_MAX)] = 7 ms. 2020.05.29 15:08:44.557 Alert: Time[NewTicks.mqh 271: NEWTICKS::IsHistoryDeals(MarketWatchTick.time_msc)] = 12 ms. 2020.05.29 15:08:44.557 Alert: Time[SyncChannel.mqh 381: NEWTICKS::CheckFreshTicks(::LastTicks)] = 12 ms. 2020.05.29 15:08:45.010 Alert: Time[NewTicks.mqh 112: ::HistorySelect(TimeMsc/1000,INT_MAX)] = 5 ms. 2020.05.29 15:08:45.010 Alert: Time[NewTicks.mqh 247: NEWTICKS::IsHistoryDeals(Ticks[Size-1].time_msc)] = 6 ms. 2020.05.29 15:08:46.303 Alert: Time[NewTicks.mqh 112: ::HistorySelect(TimeMsc/1000,INT_MAX)] = 24 ms. 2020.05.29 15:08:46.303 Alert: Time[NewTicks.mqh 271: NEWTICKS::IsHistoryDeals(MarketWatchTick.time_msc)] = 32 ms. 2020.05.29 15:08:46.303 Alert: Time[SyncChannel.mqh 381: NEWTICKS::CheckFreshTicks(::LastTicks)] = 32 ms. 2020.05.29 15:08:51.984 Alert: Time[NewTicks.mqh 112: ::HistorySelect(TimeMsc/1000,INT_MAX)] = 15 ms. 时间一栏显示了炸裂的发生频率。 附加的文件: Benchmark.mqh 2 kb Ruslan Khasanov 2020.05.29 14:03 #30 2020.05.29 14:59:37.947 Test_HS (USDJPY,M15) HistoryDealsTotal() = 5097 2020.05.29 14:59:37.948 Test_HS (USDJPY,M15) HistoryOrdersTotal() = 5154 2020.05.29 14:59:37.961 Test_HS (USDJPY,M15) 100000 HistorySelect = 13.81 ms 资源。 2020.05.29 14:49:51.173 Terminal MetaTrader 5 x64 build 2460 started for MetaQuotes Software Corp. 2020.05.29 14:49:51.175 Terminal Windows 10 build 19041, Intel Core i7-9700 @ 3.00 GHz, 54 / 63 Gb memory, 78 / 222 Gb disk, IE 11, UAC, GMT+3 12345678910...94 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
空的终端2460。
ZS 在空账户上运行。
似乎速度在很大程度上受到交易数量 的影响,而不是订单的影响。
这是有可能的。一定会去看看的。
即使是可怕的20000ms/100000周期,也与每次调用5-30ms相差甚远。
我不明白它是如何运作的。
- 我得到了一点儿这个消息。
在其最简单的形式中。
你只需要改变你对计算本身的方法(按任务要求的频率做中间返回)。但如果它很复杂,在第一阶段考虑OnMain对你来说并不存在(你不把主要代码移到OnMain,而是移到OnTrade2XX),你不需要在OnMain中学习任何东西。
什么是OnMain? 如果每个事件都调用OnMain来处理队列,那么OnMain的队列中怎么会有多个事件?
需要在一个有大量交易历史的账户上运行。
不是重点了--丹麦王国的东西....其余的文字是什么?))
测试1
请读者引用他们对这个脚本的结果。
从我不太新的笔记本电脑上运行。
在不同的角色上开始了3次。这些是结果。
资源。
我认为,其结果是非常好的。
而且有许多不同的进程在电脑上运行,平均CPU活动~=50-65%。
请读者引用他们对这个剧本的成果。
即使是可怕的20000ms/100000个周期,也远不是每次调用的5-30ms。
在战斗的EA中,我在可疑的地方到处把函数包装成_B(FuncName(..), AlertTime)。 以下是最近的记录中的简短摘录。
时间一栏显示了炸裂的发生频率。资源。