MT5和速度在行动 - 页 25 1...181920212223242526272829303132...94 新评论 Valeriy Yastremskiy 2020.09.06 10:43 #241 A100: 自然,没有专家/指示器/脚本在运行--只有手动构建。所示的延迟在任何普通的现代64位平板电脑上都是可重复的。如果你有一台i7电脑,我想你不会遇到这种延迟。 是apk还是exe系统变慢了? fxsaber 2020.09.06 16:41 #242 今天是休息日。市场观察中只有一个符号。EA每秒钟运行一次OnTimer。发现这个日志。 2020.09.06 00:37:09.187 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 8 ms. 2020.09.06 03:57:17.902 Alert: Time[NewTicks.mqh 43: ::CopyTicks(_Symbol,Tick,COPY_TICKS_ALL,0,1)] = 1731 ms. 2020.09.06 03:57:18.463 Alert: Time[NewTicks.mqh 43: ::CopyTicks(_Symbol,Tick,COPY_TICKS_ALL,0,1)] = 2292 ms. 2020.09.06 03:59:49.233 Alert: Time[MT4Orders.mqh 1788: ::PositionGetTicket(Index)] = 2 ms. 2020.09.06 04:35:54.170 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 04:55:34.486 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 05:10:54.387 Alert: Time[NewTicks.mqh 43: ::CopyTicks(_Symbol,Tick,COPY_TICKS_ALL,0,1)] = 211 ms. 2020.09.06 05:10:54.387 Alert: Time[NewTicks.mqh 43: ::CopyTicks(_Symbol,Tick,COPY_TICKS_ALL,0,1)] = 895 ms. 2020.09.06 05:23:20.484 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 05:24:41.484 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 05:47:41.492 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 05:50:41.172 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 05:55:45.176 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 05:57:32.169 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 06:17:11.177 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 06:28:03.184 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 06:30:22.482 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 06:48:07.171 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 07:45:12.490 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 08:23:24.172 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 08:24:26.171 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 08:37:57.183 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 09:08:37.180 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 09:12:58.497 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 09:57:20.486 Alert: Ping = 10000.000 2020.09.06 09:57:21.680 Alert: Time[NewTicks.mqh 43: ::CopyTicks(_Symbol,Tick,COPY_TICKS_ALL,0,1)] = 195 ms. 2020.09.06 09:57:54.171 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 10:47:56.171 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 11:06:21.175 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 11:11:50.208 Alert: Time[NewTicks.mqh 43: ::CopyTicks(_Symbol,Tick,COPY_TICKS_ALL,0,1)] = 1023 ms. 2020.09.06 11:11:50.537 Alert: Time[NewTicks.mqh 43: ::CopyTicks(_Symbol,Tick,COPY_TICKS_ALL,0,1)] = 1049 ms. 2020.09.06 11:11:51.502 Alert: Ping = 10000.000 2020.09.06 11:11:52.370 Alert: Time[NewTicks.mqh 43: ::CopyTicks(_Symbol,Tick,COPY_TICKS_ALL,0,1)] = 187 ms. 2020.09.06 11:19:41.502 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 11:38:00.176 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 13:49:02.493 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 14:03:28.171 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 14:45:05.175 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 16:43:51.196 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 17:00:17.494 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 17:40:02.486 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 17:54:00.180 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms. 2020.09.06 18:16:47.173 Alert: Time[NewTicks.mqh 33: ::SymbolInfoTick(_Symbol,Tick)] = 1 ms.在另一个终端,优化是在可能的八个本地代理中的六个上并行运行。如果这些是网络中断,为什么会影响到从市场观察中获得最后一个刻度,以及从刻度历史中获得最后一个刻度?ZZY 终点站的日志在同一路段。2020.09.06 01:48:38.338 Network '': scanning network for access points 2020.09.06 01:48:40.195 Network '': scanning network finished 2020.09.06 03:57:04.504 Network '': connection to RannForex-Server lost 2020.09.06 03:57:15.249 Network '': authorized on RannForex-Server through as.eu 6 (ping: 56.41 ms, build 2560) 2020.09.06 03:57:15.249 Network '': previous successful authorization performed from xx.xx.xx.xx on 2020.09.05 21:59:42 2020.09.06 03:57:15.678 Network '': terminal synchronized with RannForex Limited: 1 positions, 0 orders, 67 symbols, 0 spreads 2020.09.06 03:57:15.678 Network '': trading has been enabled - hedging mode 2020.09.06 03:57:17.500 Network '': scanning network for access points 2020.09.06 03:57:20.416 Network '': scanning network finished 2020.09.06 05:10:52.296 Network '': connection to RannForex-Server lost 2020.09.06 05:10:53.033 Network '': authorized on RannForex-Server through as.eu 6 (ping: 56.31 ms, build 2560) 2020.09.06 05:10:53.033 Network '': previous successful authorization performed from xx.xx.xx.xx on 2020.09.06 05:10:59 2020.09.06 05:10:53.299 Network '': terminal synchronized with RannForex Limited: 1 positions, 0 orders, 67 symbols, 0 spreads 2020.09.06 05:10:53.299 Network '': trading has been enabled - hedging mode 2020.09.06 09:57:18.310 Network '': scanning network for access points 2020.09.06 09:57:20.396 Network '': scanning network finished 2020.09.06 09:57:20.396 Network '': auto connecting to a better access point with 93 % quality (previous: 77 %) 2020.09.06 09:57:20.397 Network '': connection to RannForex-Server lost 2020.09.06 09:57:21.151 Network '': authorized on RannForex-Server through as.eu 5 (ping: 41.60 ms, build 2560) 2020.09.06 09:57:21.151 Network '': previous successful authorization performed from xx.xx.xx.xx on 2020.09.06 05:10:59 2020.09.06 09:57:21.208 Network '': terminal synchronized with RannForex Limited: 1 positions, 0 orders, 67 symbols, 0 spreads 2020.09.06 09:57:21.208 Network '': trading has been enabled - hedging mode 2020.09.06 11:08:16.952 Network '': connection to RannForex-Server lost 2020.09.06 11:11:48.892 Network '': authorized on RannForex-Server 2020.09.06 11:11:48.892 Network '': previous successful authorization performed from xx.xx.xx.xx on 2020.09.06 11:11:55 2020.09.06 11:11:48.970 Network '': terminal synchronized with RannForex Limited: 1 positions, 0 orders, 67 symbols, 0 spreads 2020.09.06 11:11:48.970 Network '': trading has been enabled - hedging mode 2020.09.06 11:11:49.152 Network '': scanning network for access points 2020.09.06 11:11:51.319 Network '': scanning network finished 2020.09.06 11:11:51.319 Network '': auto connecting to a better access point with 92 % quality (previous: 91 %) 2020.09.06 11:11:51.320 Network '': connection to RannForex-Server lost 2020.09.06 11:11:52.035 Network '': authorized on RannForex-Server through as.eu 5 (ping: 43.31 ms, build 2560) 2020.09.06 11:11:52.035 Network '': previous successful authorization performed from xx.xx.xx.xx on 2020.09.06 11:11:55 2020.09.06 11:11:52.088 Network '': terminal synchronized with RannForex Limited: 1 positions, 0 orders, 67 symbols, 0 spreads 2020.09.06 11:11:52.088 Network '': trading has been enabled - hedging mode 2020.09.06 17:11:49.928 Network '': scanning network for access points 2020.09.06 17:11:52.112 Network '': scanning network finished fxsaber 2020.09.06 18:39 #243 fxsaber:如果这些是网络中断,为什么会影响到从市场观察中获得最后一个刻度,以及从刻度历史中获得最后一个刻度? 仔细分析后发现,CopyTicks在出现网络中断时速度会变慢。 2020.09.06 21:22:24.105 Alert: Time[NewTicks.mqh 43: ::CopyTicks(_Symbol,Tick,COPY_TICKS_ALL,0,1)] = 1619 ms. 2020.09.06 21:22:24.515 Alert: Time[NewTicks.mqh 43: ::CopyTicks(_Symbol,Tick,COPY_TICKS_ALL,0,1)] = 2347 ms. 2020.09.06 21:22:53.814 Alert: Time[NewTicks.mqh 43: ::CopyTicks(_Symbol,Tick,COPY_TICKS_ALL,0,1)] = 274 ms. 2020.09.06 21:22:53.814 Alert: Time[NewTicks.mqh 43: ::CopyTicks(_Symbol,Tick,COPY_TICKS_ALL,0,1)] = 686 ms. 2020.09.06 21:20:59.301 Network connection to RannForex-Server lost 2020.09.06 21:22:21.043 Network authorized on RannForex-Server 2020.09.06 21:22:21.043 Network previous successful authorization performed from xx.xx.xx.xx on 2020.09.06 11:11:59 2020.09.06 21:22:21.508 Network terminal synchronized with RannForex Limited: 1 positions, 0 orders, 67 symbols, 0 spreads 2020.09.06 21:22:21.508 Network trading has been enabled - hedging mode 2020.09.06 21:22:21.915 Network scanning network for access points 2020.09.06 21:22:28.819 Network scanning network finished 2020.09.06 21:22:45.523 Network connection to RannForex-Server lost 2020.09.06 21:22:52.951 Network authorized on RannForex-Server through as.eu 6 (ping: 56.55 ms, build 2560) 2020.09.06 21:22:52.951 Network previous successful authorization performed from xx.xx.xx.xx on 2020.09.06 21:22:28 2020.09.06 21:22:53.024 Network terminal synchronized with RannForex Limited: 1 positions, 0 orders, 67 symbols, 0 spreads 2020.09.06 21:22:53.024 Network trading has been enabled - hedging mode Andrey Pogoreltsev 2020.09.07 08:42 #244 fxsaber: if (OrderSend(Request, Result)) _B2(HistorySelect(0, INT_MAX)); // В каком месте самострел? 首先,仅供参考。 "如果基本结构检查(指针检查)成功,则返回true--它并不表示交易操作 的成功执行。 为了获得对函数执行结果的更详细描述,应该对结果结构的字段进行分析。" 其次,根据你的逻辑,如果一个订单被打开,你不会把它添加到订单列表中,而是完全使缓存失效)? 你可以通过优化所有的代码,你有历史选择将是执行时间问题的最后一个地方)使用缓存。你可以让它失效,例如,每天一次,但这将大大加快你的EA速度。 fxsaber 2020.09.07 09:37 #245 Andrey Pogoreltsev:嗯,首先 你要么必须运行代码来正确理解它,要么从工作表中很好地阅读它。 第二,按照你的逻辑,如果一个订单被打开,你不会把它加入到订单列表中,而是完全使缓存无效)? 订单列表没有变化。阅读代码。 Artyom Trishkin 2020.09.07 09:53 #246 fxsaber:为了正确理解代码,你必须运行它,或者从工作表中很好地阅读它。订单的清单不会改变。阅读代码。 这里 if (OrderSend(Request, Result)) _B2(HistorySelect(0, INT_MAX)); // В каком месте самострел? 我看到这个逻辑。 如果交易请求被成功发送到服务器上 我们选择整个历史 但也可能是该请求已经在服务器上被拒绝了--在这段代码中没有对此进行检查。选择历史的意义何在?我们想在那里看到什么? 在这里,在这两行代码中,我个人不认为有什么意义。如果在选择故事之前有一个检查来改变它,我就会看到。当然,也许这两行并不能给你一个完整的任务图。但我不清楚成功向服务器发送请求和选择整个历史记录之间的联系。即使服务器成功发送了请求,市场订单和头寸的列表也会被改变。历史名单与此有什么关系? fxsaber 2020.09.07 10:30 #247 Artyom Trishkin:这里是我看到这个逻辑。 如果交易请求被成功发送至服务器 选择整个历史 但也可能是该请求已经在服务器上被拒绝了--在这段代码中没有对此进行检查。选择历史的意义何在?我们想在那里看到什么? 在这里,在这两行代码中,我个人不认为有什么意义。如果在选择故事之前有一个检查来改变它,我就会看到。当然,也许这两行并不能给你一个完整的任务图。但我不清楚成功向服务器发送请求和选择整个历史记录之间的联系。即使服务器成功发送了请求,市场订单和头寸的列表也会被改变。这与历史清单有什么关系? 如果 - 摆脱了编译器警告。它没有别的事可做。 这个主题不是用来教你如何编写EA的。其目的是为了消除终端的弱点。开发人员需要一个简单、简明、可复制的代码来理解它。当然,我并不是为自己写这种东西。事实是,战斗顾问记录了刹车的情况。我开始挖掘,发现当有人(至少是用手)修改一个位置时,速度就会变慢。这就重置了历史缓存,当然,历史不会改变。 这段代码完美地演示了这个问题。从来没有必要用任何不必要的检查来扰乱重放的代码。它的工作是明确显示问题。而当修复后--证明现在一切工作正常。 Andrey Pogoreltsev 2020.09.07 10:36 #248 fxsaber:为了正确理解代码,你必须运行它,或者从工作表中很好地阅读它。订单的清单不会改变。阅读代码。 考虑到我非常善于照本宣科 :) 这段代码是你从别的地方拿过来的,你在那里有一个新的位置的创建,它被执行,对吗? 否则,你的代码的全部意义就归结为更新当前位置的TP,并为了它而使缓存失效,这也是非常奇怪的。 在这两种情况下,都没有使用逻辑来优化缓存操作。此外,你的解决方案是不可扩展的,因为它导致了随着历史的增长而增加的制动。 Andrey Pogoreltsev 2020.09.07 10:40 #249 fxsaber:这段代码完美地证明了这个问题。从来没有必要用任何不必要的检查来扰乱重放代码。它的工作是明确显示问题。并在纠正后--证明现在一切工作正常。 所以根据你的逻辑,这里的代码 int v = 0.0; for (int i = 0; i < 1000000; i++) { v = i; } std::cout << "The last number: " << v << std::endl; 证明了处理器的迟钝? fxsaber 2020.09.07 10:40 #250 Andrey Pogoreltsev:你从某个地方得到了这段代码,你通过创建一个新的位置把它放在那里,这确实得到了执行,对吗?反问: 你在这里想达到什么目的? Andrey Pogoreltsev: 所以,按照你的逻辑,这里的代码显示处理器速度慢? 我不会再回答了,因为你在胡说八道。 1...181920212223242526272829303132...94 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
自然,没有专家/指示器/脚本在运行--只有手动构建。所示的延迟在任何普通的现代64位平板电脑上都是可重复的。如果你有一台i7电脑,我想你不会遇到这种延迟。
是apk还是exe系统变慢了?
在另一个终端,优化是在可能的八个本地代理中的六个上并行运行。
如果这些是网络中断,为什么会影响到从市场观察中获得最后一个刻度,以及从刻度历史中获得最后一个刻度?
ZZY 终点站的日志在同一路段。
如果这些是网络中断,为什么会影响到从市场观察中获得最后一个刻度,以及从刻度历史中获得最后一个刻度?
仔细分析后发现,CopyTicks在出现网络中断时速度会变慢。
首先,仅供参考。
"如果基本结构检查(指针检查)成功,则返回true--它并不表示交易操作 的成功执行。 为了获得对函数执行结果的更详细描述,应该对结果结构的字段进行分析。"
其次,根据你的逻辑,如果一个订单被打开,你不会把它添加到订单列表中,而是完全使缓存失效)?
你可以通过优化所有的代码,你有历史选择将是执行时间问题的最后一个地方)使用缓存。你可以让它失效,例如,每天一次,但这将大大加快你的EA速度。
嗯,首先
你要么必须运行代码来正确理解它,要么从工作表中很好地阅读它。
第二,按照你的逻辑,如果一个订单被打开,你不会把它加入到订单列表中,而是完全使缓存无效)?
订单列表没有变化。阅读代码。
为了正确理解代码,你必须运行它,或者从工作表中很好地阅读它。
订单的清单不会改变。阅读代码。
这里
我看到这个逻辑。
但也可能是该请求已经在服务器上被拒绝了--在这段代码中没有对此进行检查。选择历史的意义何在?我们想在那里看到什么?
在这里,在这两行代码中,我个人不认为有什么意义。如果在选择故事之前有一个检查来改变它,我就会看到。当然,也许这两行并不能给你一个完整的任务图。但我不清楚成功向服务器发送请求和选择整个历史记录之间的联系。即使服务器成功发送了请求,市场订单和头寸的列表也会被改变。历史名单与此有什么关系?
这里是
我看到这个逻辑。
但也可能是该请求已经在服务器上被拒绝了--在这段代码中没有对此进行检查。选择历史的意义何在?我们想在那里看到什么?
在这里,在这两行代码中,我个人不认为有什么意义。如果在选择故事之前有一个检查来改变它,我就会看到。当然,也许这两行并不能给你一个完整的任务图。但我不清楚成功向服务器发送请求和选择整个历史记录之间的联系。即使服务器成功发送了请求,市场订单和头寸的列表也会被改变。这与历史清单有什么关系?
如果 - 摆脱了编译器警告。它没有别的事可做。
这个主题不是用来教你如何编写EA的。其目的是为了消除终端的弱点。开发人员需要一个简单、简明、可复制的代码来理解它。当然,我并不是为自己写这种东西。事实是,战斗顾问记录了刹车的情况。我开始挖掘,发现当有人(至少是用手)修改一个位置时,速度就会变慢。这就重置了历史缓存,当然,历史不会改变。
这段代码完美地演示了这个问题。从来没有必要用任何不必要的检查来扰乱重放的代码。它的工作是明确显示问题。而当修复后--证明现在一切工作正常。
为了正确理解代码,你必须运行它,或者从工作表中很好地阅读它。
订单的清单不会改变。阅读代码。
考虑到我非常善于照本宣科 :)
这段代码是你从别的地方拿过来的,你在那里有一个新的位置的创建,它被执行,对吗?
否则,你的代码的全部意义就归结为更新当前位置的TP,并为了它而使缓存失效,这也是非常奇怪的。
在这两种情况下,都没有使用逻辑来优化缓存操作。此外,你的解决方案是不可扩展的,因为它导致了随着历史的增长而增加的制动。
这段代码完美地证明了这个问题。从来没有必要用任何不必要的检查来扰乱重放代码。它的工作是明确显示问题。并在纠正后--证明现在一切工作正常。
所以根据你的逻辑,这里的代码
证明了处理器的迟钝?
你从某个地方得到了这段代码,你通过创建一个新的位置把它放在那里,这确实得到了执行,对吗?
所以,按照你的逻辑,这里的代码
显示处理器速度慢?