MT5和速度在行动 - 页 40 1...333435363738394041424344454647...94 新评论 fxsaber 2020.10.02 03:55 #391 Andrey Khatimlianskii:当你可以折叠整个终端时,为什么要折叠图表? 已检查。如果你把图表、市场观察和工具最小化,CPU的负荷会更高。 我可能是错的。 fxsaber 2020.10.02 21:01 #392 请增加TERMINAL_IS_MINIMIZED,类似于CHART_IS_MINIMIZED。到目前为止,我们不得不使用DLL解决方案。user32::IsIconic(TerminalHandle) 要明白,有可能删除相同的鼠标投票,不绘制面板,等等。 fxsaber 2020.10.04 09:07 #393 请分享从你的VPS(而不是你的家用机器)运行该EA的结果。 #include <fxsaber\Benchmark\Benchmark.mqh> // https://www.mql5.com/ru/code/31279 const bool Init = EventSetTimer(1); void OnTimer() { _B(GetMicrosecondCount(), 1); // Замеряем длительность выполнения GetMicrosecondCount() } 在这个VPS上 2020.10.03 20:21:49.222 Terminal MetaTrader 5 x64 build 2629 started for MetaQuotes Software Corp. 2020.10.03 20:21:49.222 Terminal Windows Server 2012 R2 build 9600 on KVM, Intel Xeon E3-12 xx v2 (Ivy Bridge, IBRS), 4 / 5 Gb memory, 7 / 38 Gb disk, IE 11, RDP, UAC, Admin, GMT+3 结果。 2020.10.04 12:01:22.763 Test6 (EOSUSD,M1) Alert: Time[Test6.mq5 7 in OnTimer: GetMicrosecondCount()] = 26 mсs. 2020.10.04 12:01:23.747 Test6 (EOSUSD,M1) Alert: Time[Test6.mq5 7 in OnTimer: GetMicrosecondCount()] = 33 mсs. 2020.10.04 12:01:24.747 Test6 (EOSUSD,M1) Alert: Time[Test6.mq5 7 in OnTimer: GetMicrosecondCount()] = 36 mсs. 2020.10.04 12:01:25.748 Test6 (EOSUSD,M1) Alert: Time[Test6.mq5 7 in OnTimer: GetMicrosecondCount()] = 32 mсs. 2020.10.04 12:01:26.762 Test6 (EOSUSD,M1) Alert: Time[Test6.mq5 7 in OnTimer: GetMicrosecondCount()] = 23 mсs. 最好是将VPS配置与结果一起提供,如上图所示。 面临简直所有的功能都很慢的事实。在更换VPS之前,我想与其他解决方案进行比较,并了解选择哪一个更好。因此,请大家分享,以获得客观的图片。 我可以使用任何终端,MT4/MT5。但我对5号更感兴趣,当然。 fxsaber 2020.10.04 09:22 #394 试着用WinAPI版本 来代替它。 #import "kernel32.dll" int QueryPerformanceCounter(ulong &lpPerformanceCount); int QueryPerformanceFrequency(ulong &lpFrequency); #import ulong QueryPerfomanceCounter() { ulong value; if (QueryPerformanceCounter(value)) return value; return 0; } ulong QueryPerformanceFrequency() { ulong freq = 0; if (kernel32::QueryPerformanceFrequency(freq)) return freq; return 0; } // https://www.mql5.com/ru/forum/170952/page89#comment_8203859 ulong GetPerfomanceCount_mcs() { static ulong freq= QueryPerformanceFrequency(); return freq ? QueryPerfomanceCounter()*1000000/freq : 0; } #define GetMicrosecondCount GetPerfomanceCount_mcs 其结果与普通的完全相同。显然,内部实施是一样的。是否有一些其他的微秒计量的实现方式? Особенности языка mql5, тонкости и приёмы работы 2018.07.27www.mql5.com В данной теме будут обсуждаться недокументированные приёмы работы с языком mql5, примеры решения тех, или иных задач... fxsaber 2020.10.04 09:56 #395 确定是否有程序在被制动的机器上运行。 // Возвращает true, если тормозной VPS. bool IsFreezeVPS() { static bool FirstRun = true; static bool Res; if (FirstRun) { if (Res = ::GetMicrosecondCount() - ::GetMicrosecondCount()) ::Alert("Warning: FreezeVPS - https://www.mql5.com/ru/forum/342090/page40#comment_18579094"); FirstRun = false; } return(Res); } fxsaber 2020.10.04 19:36 #396 似乎已经 绕过了VPS机器上的GetMicrosecondsCount刹车。这可能看起来没什么。事实上,战斗中的EA正在用CPU负载杀死VPS,因为微秒数必须完全用于交易环境快照,而快照的设计不是为了加载,而是为了减轻CPU的负载。 还有谁进了这里?快照,以及现在的GetMicrosecondsCount... A100 2020.10.04 20:57 #397 fxsaber:确定是否有程序在被制动的机器上运行。 差异是否为空是一个机会问题。 void OnStart() { const int max = 2000000; int count = 0; for ( int i = 0; i < max; i++ ) if ( GetMicrosecondCount() != GetMicrosecondCount() ) count++; Print( max, ":" ,count ); } 结果:2000000:213579 fxsaber 2020.10.04 21:07 #398 A100:零或不零是一个机会问题。结果:2000000:213579 是的,这就是为什么我在mqh中使用这样一个条件。 // Несколько проверок - от ложных срабатываний. bool Res = (bool)(::GetMicrosecondCount() - ::GetMicrosecondCount()) && (bool)(::GetMicrosecondCount() - ::GetMicrosecondCount()) && (bool)(::GetMicrosecondCount() - ::GetMicrosecondCount()) && (bool)(::GetMicrosecondCount() - ::GetMicrosecondCount()) && (bool)(::GetMicrosecondCount() - ::GetMicrosecondCount()); A100 2020.10.04 21:22 #399 fxsaber:是的,这就是为什么我在mqh中使用这个条件。 这只是5张支票而已。我的电脑(平板电脑)速度很慢,但即使是我,也只是在每2000000/213579=10次检查 时有差异。而我有一个缓慢的事实被证实了,即使是这样也 没有 被其他人复制。 关于交易、自动交易系统和交易策略测试的论坛MT5和速度在行动A100, 2020.09.05 00:13 还关于延迟 而且所有的手工制图(趋势、斐波那契等)也很慢。这些设置都是默认的。 服务器:MetaQuotes-Demo 历史:自1971年1月1日开始提供 精确的时间框架:无 窗口的最大条数。100000 图表类型:烛台 缩小图表的规模:最大 符号,周期 酒吧 延迟 欧元兑美元,月线 597 转到 欧元兑美元,每周 2590 查阅 欧元兑美元,每日 12797 不 某种逆向依赖:条数越少,速度越慢在月线图和周线图上,例如欧元兑英镑(没有这样深的历史)--没有延迟。 fxsaber 2020.10.04 21:29 #400 A100:这只是5张支票而已。我的电脑(平板电脑)速度很慢,但即使是我,也只是在每2000000/213579=10次检查 时有差异。而我有一个缓慢的事实被证实了,即使是这样也 没有 被其他人复制。 如果连续五次检查都给出非零的结果,那就是一个缓慢的GetMicrosecondsCount。当然,可能还有其他(甚至更合理的)选项来确定是否存在问题。我暂时让它保持这种状态。 至于使用酒吧历史的工作--我不使用它。它始终是M1+5000条。任务是快速交易。 1...333435363738394041424344454647...94 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
当你可以折叠整个终端时,为什么要折叠图表?
已检查。如果你把图表、市场观察和工具最小化,CPU的负荷会更高。
我可能是错的。
请分享从你的VPS(而不是你的家用机器)运行该EA的结果。
在这个VPS上
结果。
最好是将VPS配置与结果一起提供,如上图所示。
面临简直所有的功能都很慢的事实。在更换VPS之前,我想与其他解决方案进行比较,并了解选择哪一个更好。因此,请大家分享,以获得客观的图片。
我可以使用任何终端,MT4/MT5。但我对5号更感兴趣,当然。
确定是否有程序在被制动的机器上运行。
似乎已经 绕过了VPS机器上的GetMicrosecondsCount刹车。这可能看起来没什么。事实上,战斗中的EA正在用CPU负载杀死VPS,因为微秒数必须完全用于交易环境快照,而快照的设计不是为了加载,而是为了减轻CPU的负载。
还有谁进了这里?快照,以及现在的GetMicrosecondsCount...
确定是否有程序在被制动的机器上运行。
差异是否为空是一个机会问题。
结果:2000000:213579
零或不零是一个机会问题。
结果:2000000:213579
是的,这就是为什么我在mqh中使用这样一个条件。
是的,这就是为什么我在mqh中使用这个条件。
这只是5张支票而已。我的电脑(平板电脑)速度很慢,但即使是我,也只是在每2000000/213579=10次检查 时有差异。而我有一个缓慢的事实被证实了,即使是这样也 没有 被其他人复制。
关于交易、自动交易系统和交易策略测试的论坛
MT5和速度在行动
A100, 2020.09.05 00:13
还关于延迟而且所有的手工制图(趋势、斐波那契等)也很慢。
这些设置都是默认的。
12797
某种逆向依赖:条数越少,速度越慢
在月线图和周线图上,例如欧元兑英镑(没有这样深的历史)--没有延迟。
这只是5张支票而已。我的电脑(平板电脑)速度很慢,但即使是我,也只是在每2000000/213579=10次检查 时有差异。而我有一个缓慢的事实被证实了,即使是这样也 没有 被其他人复制。
如果连续五次检查都给出非零的结果,那就是一个缓慢的GetMicrosecondsCount。当然,可能还有其他(甚至更合理的)选项来确定是否存在问题。我暂时让它保持这种状态。
至于使用酒吧历史的工作--我不使用它。它始终是M1+5000条。任务是快速交易。