欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

AccurateTimer - MetaTrader 5 库

author emer | 506 人阅读 | 0 人评论 |

AccurateTimer - library for MetaTrader 5

AccurateTimer - library for MetaTrader 5

AccurateTimer - library for MetaTrader 5

MetaTrader 4/5标准定时器基于系统计时器调用,因此可能无法准确工作。我们可以通过运行以下简单的 Expert Advisor 来检查这一点:

输入 整数定时器=1000;// 定时器触发的毫秒数

#定义托串(A)#一个+”=“+ (细绳)(A) +“女士。\n”

常量 布尔值初始化=事件集毫秒定时器(计时器);// 显示当前计时器误差及其平均值作为图表上的注释
空白 定时器()
{
  静止的 乌龙开始时间 =0;
  静止的 整数计数 =0;
  静止的 整数总和=0;

  如果(开始时间)
  {
    常量 整数运行时间 = (整数)(获取微秒计数() - 开始时间) /1000;
    常量 整数错误 = 运行时间 - 计时器 * 计数;

    总和+=误差;

    评论(TOSTRING(定时器) +字符串时间(运行时/1000,TIME_SECONDS) +“\n”+
            TOSTRING(错误) + TOSTRING((双倍的)总和/计数));
  }
  别的    开始时间 =获取微秒计数();

  计数++;
}

在图表注释(左上角)中,它显示了计时器延迟如何增长:

AccurateTimer - library for MetaTrader 5

屏幕截图显示,在短短一分钟内,第二个计时器就产生了超过一秒的滞后。而且这种滞后随着时间的推移而增加!

该库可以提高任何 EA 交易/指标的标准计时器的准确性。为此,应在代码开头添加以下行:

#包括<准确计时器.mqh>// 提高标准定时器的精度

之后将显示以下评论:

AccurateTimer - library for MetaTrader 5

运行十分钟后,与理想(理论)计时器的平均偏差约为 1 毫秒,并且误差不会增大。

有一个准确的计时器总是好的。但对于某些任务来说这是必须的。例如,第二个定时器与交易服务器时间

该跨平台库与所有使用标准定时器(OnTimer)。它不会影响策略测试器中的执行速度。

只需一行即可提高现有程序和新程序的准确性!


附件下载

📎 accuratetimer_example1.mq5 (0.85 KB)

📎 accuratetimer_example2.mq5 (0.82 KB)

📎 accuratetimer.mqh (2.97 KB)

Source: MQL5 #19859

🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录