- 本地时间和服务器时间
- 夏令时(本地)
- 世界时
- 暂停程序
- 时间间隔计数器
时间间隔计数器
要检测精确到秒的时间间隔,只需计算使用 TimeLocal 获得的两个 datetime 值之间的差值。然而,有时候我们需要更高的精度。为此,MQL5 提供了用于获得系统毫秒 (GetTickCount, GetTickCount64) 或微秒 (GetMicrosecondCount) 的计数器。
uint GetTickCount()
ulong GetTickCount64()
这两个函数返回自操作系统加载以来已经过去的毫秒数。计时精度受限于标准系统计时器(约 10 到 15 毫秒)。要获得更精确的间隔测量值,可使用 GetMicrosecondCount 函数。
对于 GetTickCount 函数,返回类型 uint 预先确定了计数器溢出的时间周期:约 49.7 天。换言之,如果超过该时间段后计算机仍未关闭,则计数又将从 0 开始。
相比之下,GetTickCount64 函数返回 ulong 值,该计数器在可预见的未来(584'942'417 年)之内将不会溢出。
ulong GetMicrosecondCount()
该函数返回自从 MQL 程序启动以来已经过去的微秒数。
该计数器函数和 Sleep 的使用示例在 TimeCount.mq5 脚本中汇总。
void OnStart()
|
下面是该脚本日志输出的大致内容。
GetTickCount()=12912811 / ok
|