mql5语言的特点、微妙之处以及技巧 - 页 67 1...606162636465666768697071727374...247 新评论 Slava 2018.01.25 06:41 #661 fxsaber: 在一个真实的例子上比较整数的细微差别你要用Sleep(1000)来精确测量一秒钟吗?而你不知道处理器中的定时器有15毫秒的误差? Vladislav Andruschenko 2018.01.25 06:46 #662 斯拉瓦。你打算用Sleep(1000)来精确测量一秒钟吗?你知道CPU中的定时器有15ms的误差吗?你好,请你告诉我是否有办法重置定时器缓冲区以消除定时器设置 错误? Slava 2018.01.25 07:04 #663 弗拉迪斯拉夫-安德鲁申科。 你好,请你告诉我是否有办法重置定时器缓冲区以防止定时器设置 错误?由于系统消息队列已满,发生了一个定时器设置错误。这可能有很多原因。通常情况下,队列溢出是暂时的(如果不是,你将无法在你的电脑上工作)。使用OnTick来监控定时器。如果没有设置定时器,将其设置为OnTick同时,我们正在努力使定时器设置独立于消息队列状态。PS 启用系统定时器和为一个应用程序设置定时器是不相关的 fxsaber 2018.01.25 07:11 #664 斯拉瓦。你打算用Sleep(1000)来精确测量一秒钟吗?不,是关于这两行整数的比较。 关于交易、自动交易系统和策略测试的论坛 mql5语言的特点、微妙之处以及技巧 fxsaber, 2018.01.24 21:48 用一个真实的例子比较整数的细微差别// if (GetMicrosecondCount() > StartTime + 1000000) // Неправильно if (GetMicrosecondCount() - StartTime > 1000000) // Правильно 乍一看,这两条线应该给出相同的结果。但它并没有。第一条有时会给出错误的输出。 选择有时间的例子只是为了说明问题。斯拉瓦。而事实上,处理器中的定时器有15毫秒的误差,这一点你不知道吗?你还在使用GetTickCount,这很奇怪。论坛上已经证明(懒得搜索),微秒级的计时器并不比毫秒级的计时器慢。同时,它也没有野性的错误。 Slava 2018.01.25 07:47 #665 fxsaber: 不,是关于这两串整数 的比较。乍一看,这两个字符串应该给出相同的结果。但事实并非如此。第一条有时会给出错误的结果。 选择有时间的例子只是为了说明问题。你还在使用GetTickCount,这很奇怪。论坛上已经证明(我懒得去搜索),微秒计时器并不比毫秒计时器慢。同时,它也没有野性的错误。 我的意思是Sleep(1000)。 Vladislav Andruschenko 2018.01.25 07:54 #666 Slava: 由于系统消息队列已满,发生了一个计时器错误。这可能有很多原因。队列溢出通常是暂时的(如果不是,你将无法在你的电脑上工作)。使用OnTick来监控定时器。如果没有设置定时器,将其设置为OnTick同时,我们正在努力使定时器设置独立于消息队列状态。PS 启用系统定时器和将定时器设置为一个应用程序是不同的问题这正是我所做的。计时器错误是在一段时间后发生的--而不是立即发生的。而且正是因为溢出--当有大量的数据,例如订单历史,或当前的50个或更多的订单。我已经试过了,我还在尝试使用它,但我有一种感觉,我还是会尝试使用它。 fxsaber 2018.01.25 08:07 #667 斯拉瓦。 我说的是Sleep(1000)。是的,你已经把比较整数的话题搞得一团糟了。 Slava 2018.01.25 08:18 #668 fxsaber:是的,你说的是比较整数。比较整数是没有问题的。在没有滑移和没有GetMicrosecondsCount的情况下显示相同的内容 fxsaber 2018.01.25 08:29 #669 斯拉瓦。比较整数是没有问题的。在没有滑移和没有GetMicrosecondsCount的情况下显示相同的内容ulong GetMicrosecondCount2() { static ulong StartTime = 0; if (StartTime) StartTime += 1000001; // При повторном - добавляем больше "секунды" else StartTime = ULONG_MAX - 1000000; // При первом запуске возвращаем это "время" return(StartTime); } void OnStart() { const ulong StartTime = GetMicrosecondCount2(); // Sleep(1000); // if (GetMicrosecondCount2() > StartTime + 1000000) // Неправильно if (GetMicrosecondCount2() - StartTime > 1000000) // Правильно Print("Прошло больше секунды."); else Print("Прошло меньше секунды."); } 而且这不是一个问题,是一个微妙的问题。 fxsaber 2018.01.25 17:42 #670 关于交易、自动交易系统和交易策略测试的论坛 关于 "MetaTrader 5新增对冲头寸会计系统 "的讨论 fxsaber, 2018.01.25 10:14 显示了安德鲁 在阅读这篇文章时指出的一个交易情况的例子。HistorySelectByPosition可能不会选择导致交易的订单。该订单和它产生的交易可能有不同的ID。第二和第三点至少应该在某个地方发表意见。它确实如此。我们谈论的是对历史的分析,甚至是手工贸易,我们不是在谈论写TS。 例如,我们想了解这笔交易是如何滑落的。 1...606162636465666768697071727374...247 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
在一个真实的例子上比较整数的细微差别
你要用Sleep(1000)来精确测量一秒钟吗?
而你不知道处理器中的定时器有15毫秒的误差?
你打算用Sleep(1000)来精确测量一秒钟吗?
你知道CPU中的定时器有15ms的误差吗?
你好,请你告诉我是否有办法重置定时器缓冲区以消除定时器设置 错误?
你好,请你告诉我是否有办法重置定时器缓冲区以防止定时器设置 错误?
由于系统消息队列已满,发生了一个定时器设置错误。这可能有很多原因。通常情况下,队列溢出是暂时的(如果不是,你将无法在你的电脑上工作)。
使用OnTick来监控定时器。如果没有设置定时器,将其设置为OnTick
同时,我们正在努力使定时器设置独立于消息队列状态。
PS 启用系统定时器和为一个应用程序设置定时器是不相关的
你打算用Sleep(1000)来精确测量一秒钟吗?
不,是关于这两行整数的比较。
关于交易、自动交易系统和策略测试的论坛
mql5语言的特点、微妙之处以及技巧
fxsaber, 2018.01.24 21:48
用一个真实的例子比较整数的细微差别乍一看,这两条线应该给出相同的结果。但它并没有。第一条有时会给出错误的输出。
选择有时间的例子只是为了说明问题。而事实上,处理器中的定时器有15毫秒的误差,这一点你不知道吗?
你还在使用GetTickCount,这很奇怪。论坛上已经证明(懒得搜索),微秒级的计时器并不比毫秒级的计时器慢。同时,它也没有野性的错误。
不,是关于这两串整数 的比较。
乍一看,这两个字符串应该给出相同的结果。但事实并非如此。第一条有时会给出错误的结果。
选择有时间的例子只是为了说明问题。你还在使用GetTickCount,这很奇怪。论坛上已经证明(我懒得去搜索),微秒计时器并不比毫秒计时器慢。同时,它也没有野性的错误。
由于系统消息队列已满,发生了一个计时器错误。这可能有很多原因。队列溢出通常是暂时的(如果不是,你将无法在你的电脑上工作)。
使用OnTick来监控定时器。如果没有设置定时器,将其设置为OnTick
同时,我们正在努力使定时器设置独立于消息队列状态。
PS 启用系统定时器和将定时器设置为一个应用程序是不同的问题
这正是我所做的。
计时器错误是在一段时间后发生的--而不是立即发生的。而且正是因为溢出--当有大量的数据,例如订单历史,或当前的50个或更多的订单。
我已经试过了,我还在尝试使用它,但我有一种感觉,我还是会尝试使用它。
我说的是Sleep(1000)。
是的,你已经把比较整数的话题搞得一团糟了。
是的,你说的是比较整数。
比较整数是没有问题的。
在没有滑移和没有GetMicrosecondsCount的情况下显示相同的内容
比较整数是没有问题的。
在没有滑移和没有GetMicrosecondsCount的情况下显示相同的内容
关于交易、自动交易系统和交易策略测试的论坛
关于 "MetaTrader 5新增对冲头寸会计系统 "的讨论
fxsaber, 2018.01.25 10:14
我们谈论的是对历史的分析,甚至是手工贸易,我们不是在谈论写TS。
例如,我们想了解这笔交易是如何滑落的。