MT5多品种同时跑EA,总有一单延迟进场,是服务器时区还是代码逻辑在作祟

很热72.1
登录发帖
Exness 推荐平台

入金门槛低,出金到账快,支持多种账户类型

FSA(塞舌尔)/FCA(英国) / CySEC(塞浦路斯) · 最低入金 $130
MidnightMeadow
MidnightMeadow 楼主 2026-9-5 21:18:28 浏览 562 回复 0 阅读 1 分钟
Lv.1 新手汇友 等级 Lv.1 主题 4 帖数 14 积分 1696 汇币 1221
1楼
上个月出金后顺便把MT5的日志翻了一遍,发现我这组多品种EA(欧美、镑美、黄金三个品种同时挂)有个规律性问题:每到整点或半小时的K线开盘节点,总有那么一单会比另外两单慢进场,慢的幅度不固定,有时候差几百毫秒,有时候直接差出1.5秒我一开始想着是不是VPS带宽不够,但测下来延迟都在10ms以内啊。
目前已经做过的排查大概是这些:

  • 把三款EA的start时间都改成OnTick触发了,但黄金那单还是偶尔掉队
  • 用Print函数在OrderSend前后加了时间戳,差的几百毫秒似乎都发生在下单前的计算环节而不是下单本身
  • 日志里偶发这样的报错 2025.05.07 14:00:03.152 'Open #1' failed [Off quote] 但重试一次又能成交

现在比较困惑的是时区这块,我的MT5是GMT+3的服务器时区,但三款EA用的趋势计算模板里写的是UTC偏移自己调整的。是不是因为原子钟对齐到服务器整点后,市场报价的tick流不是同步刷新导致每单的计算起点不同?按理说同一根K线收线后新报价应该统一推送吧。
代码逻辑上我也试着给三单加了互相调用的信号确认机制(就是等另外两单状态确认后才允许第三单发单),结果反而把原本快的单拖慢了,慢的那个是压不下去。所以现在左右为难,不知道是该把ea改成多品种在同一策略里用market watch统一扫单,还是干脆把时区相关参数改成服务器时间做个对照验证。有没有懂得这块的朋友给个调试方向 😅
2 回复 众裁0 复制
#1
💬
暂无回复,来抢沙发吧!
THE END
本帖内容仅供学习交流,不构成任何投资建议。外汇交易存在高风险,请谨慎参与。
← 上一帖 MT5回测三连阳却实盘连续止损,是不是我的EA里藏着个看不见的定时炸弹 下一帖 → MT5回测数据与实盘差异30%,滑点设置参数是否需按经纪商调整