mql5语言的特点、微妙之处以及技巧 - 页 93

 
Renat Fatkhullin:

这就是WinAPI的作用。

我不同意。
WinAPI对本地时间 校正没有反应,不像GetMicrosecondCount那样。


附加的文件:
 
Nikolai Semko:

我不同意。
WinAPI对本地时间校正没有反应,不像GetMicrosecondCount那样。

这是因为这里显示的时间不是绝对的,而是从程序开始算起的delta。

GetMicrosecondCount()函数返回自MQL5程序开始 以来所经过的微秒数。

由于计数器的值在应用程序开始时是固定的,所以这个delta会受到日期变化的影响。当依赖时间的软件运行时,认真地改变你电脑上的日期是破坏行为,也是俄罗斯人用日本电锯的做法。为了讲一个轶事,这就够了。

"好吧,背景时间校正器起作用了 "的理由在这里不起作用--它的校正是每天几毫秒,而且没有效果。

微秒计时器 需要用于精确测量小周期,而不是用于从时间开始计数。

 
尼古拉-森科

我不同意。
与GetMicrosecondCount不同,WinAPI对本地时间的修正没有反应。

你如何看待GetMicrosecondCount的实际应用,它破坏了当前版本中程序的整个工作? 描述实际应用

例如,我在C++和这里都没有看到任何变体,除了Renat描述的那些,即用MCS精确测量代码执行时间

坦率地说,我不理解你的执着。

 
雷纳特-法特库林

由于应用程序开始时的计数器值是固定的,所以这个delta会受到日期变化的影响。为了在计算机上严重改变日期,当依赖时间的软件正在运行时,就会出现破坏行为,以及俄罗斯人拿着日本电锯的做法。这可以作为一个轶事。

我特意在动画GIF上显示了互联网上的时间同步情况。这种同步在默认情况下是自动进行的,它经常发生,并按照时间表进行,不需要任何人的参与。
而且不能保证在测量的时候,这种同步能够发生。
我不担心自己,因为我已经知道GetMicrosecondCount()的这种特殊性,这个函数比GetTickCount慢。
但是其他人,如果他们不读这个分支,而是非常仔细地读这个函数的帮助,如果他们在实际EA的逻辑中使用GetMicrosecondCount(),可能会遇到麻烦,因为在测试过程中一切正常,但在实际交易中,在计划的时间同步或切换到夏季时间时,可能会发生OY,特别是如果时间减少和发生ulong这样的 溢出。
顺便说一下,这个对我来说没有记录的新信息,对multitimer类的逻辑做了重大调整,这个类现在已经创建,它同时组织了几个定时器的操作。在这个班的工作中,微秒函数被全力使用。但现在我明白了,为了提高速度,我将不得不牺牲15625µs的精度。
法布尔是一个pliz。他并不邪恶,他只是爱出风头,但他是好人。
妈的,我也要被禁言了 :( )

 
雷纳特-法特库林

这是因为显示的时间不是绝对的,而是从节目开始算起的delta。

由于应用程序启动时的计数器值是固定的,所以这个delta会受到日期变化的影响。认真改变计算机上的日期,当依赖时间的软件运行时,就会出现破坏行为,以及俄罗斯人拿着日本电锯的做法。为了讲一个轶事,这就够了。

"好吧,背景时间校正器起作用了 "的理由在这里并不适用--它的校正是每天几毫秒,而且没有效果。

微秒计时器需要用于精确测量小周期,而不是用于从时间开始计数。

也就是说,定期重置终端是否有意义?

 
Nikolai Semko:

我在gif动画中特别展示了通过互联网进行的时间同步。这种同步在默认情况下对每个人都是自动进行的,而且是在没有任何人参与的情况下按计划进行的,而且相当频繁。

我明确地写道--每天以毫秒为单位的修正是自动的。

是的,当你通过改变日期,甚至是以秒为单位,把一个废品塞进电锯时,你也会被一个纯粹的WinAPI函数(无论是GetTickCount 还是QueryPerformanceCounter)轰走。你所说的所谓的保护,根本就没有。无中生有地把问题和所谓的解决方案都吸走了。

所以一切都很正确--这就是WinAPI,这就是现实。

 
阿列克谢-维亚兹米 金。

也就是说,定期重启终端是否有意义?

没有。
 
雷纳特-法特库林
没有。

我的蜡烛图收盘时间计数器在一个星期内开始急剧增加5秒,我以为这与软件有关。

它有助于重新启动并与相关服务同步时间。

不久前给母亲换了电池。

 
阿列克谢-维亚兹米 金。

我的蜡烛图收盘时间计数器在一个星期内开始急剧增加5秒,我以为这与软件有关。

它有助于重新启动并与相关服务同步时间。

不久前,我给我母亲换了电池。

将Windows的内部时间服务设置为每晚(或更频繁)与pool.ntp.org同步,每天的修正将以毫秒为单位。
 
雷纳特-法特库林
设置一个内部的Windows时间服务,每天晚上(或更频繁)与pool.ntp.org同步,每天的修正将以毫秒为单位。

配置了,但它没有帮助--我不明白其中的原因。但我的服务器是ntp2.stratum2.ru