MT5订单簿深度数据接入EA后,我的挂单成交率反而下降了

较热51.9
登录发帖
Exness 推荐平台

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

FSA(塞舌尔)/FCA(英国) / CySEC(塞浦路斯) · 最低入金 $130
HedgeMasteru
HedgeMasteru 楼主 6 天前 浏览 459 回复 3 阅读 1 分钟
Lv.1 新手汇友 等级 Lv.1 主题 3 帖数 16 积分 686 汇币 535
1楼
上周出金一笔小利润之后,我就把精力放回到一个老问题上:MT5的订单簿深度数据接入EA之后,挂单成交率反而从原来的七成多掉到了五成出头。说实话这个结果挺反直觉的,按理说有了DOM数据,挂单应该更精准才对。折腾了两周,复盘了三百多笔挂单记录,总算找到了几个坑,写出来给有类似想法的汇友参考。
先说我怎么接的数据。MT5本身不像某些平台直接给你完整的订单簿,我是通过 MarketBookGet 拿到五档深度,然后喂给EA做挂单偏移计算。原本逻辑很简单:卖一价上方挂sell limit,买一价下方挂buy limit,偏移固定用 1.5个点。接入深度之后我改成动态偏移,根据买卖挂单量的失衡比例来调整,结果成交率不升反降。
第一个坑是数据更新频率和报价频率不匹配。MT5的DOM数据不是逐笔推送的,我一开始在 OnTick 里读,但欧美在活跃时段tick太密,深度数据其实没变,EA却反复重算偏移,挂单被频繁撤了再挂。后来改成 OnTimer 每200毫秒采样一次,并且加了个深度指纹判断,只有前两档挂单量变化超过15%才重挂,撤单次数直接降了六成。这点很多教程不会提,但实盘里影响非常大。
第二个坑更隐蔽,是深度数据和实际成交价的滑点关系。我用的那个经纪商,ECN账户点差在0.1到0.3之间,但深度里挂的大量单子其实在更远的价位。我按深度失衡加重偏移,结果挂单价离盘口越来越远,成交概率自然就下来了。复盘时我统计了一下,偏移超过 2.8个点 的挂单,成交率只有三成。所以深度数据要看,但不能让它主导偏移,我最后给动态偏移设了个上下限,最小1.2点,最大2.2点,超出就截断。
第三个坑是净头寸和挂单的冲突。EA同时管理多空挂单时,深度数据一变化,它会把一边的单子撤掉去补另一边,结果两边都没成交。我后来改成用 对冲比率 来约束,让多空挂单的敞口差控制在一个阈值内,撤单前先判断另一侧是否已经有成交,避免空撤。
具体调整我列一下:

  • 深度采样改为200ms定时,加前两档变化阈值15%
  • 动态偏移截断在1.2到2.2点之间
  • 撤单前检查对侧成交状态,避免净头寸空转
  • 用成交率而不是挂单量来反向评估深度权重

调整完之后我跑了一周模拟加两天实盘,挂单成交率回到六成八左右,虽然还没到最早的七成多,但至少比接入深度那阵子强多了。我的体会是,订单簿深度是个好工具,但它更适合做过滤和风控,而不是直接拿来算挂单价。你们有没有在MT5上接过DOM数据,成交率这块是怎么处理的?

补充一个小细节:后来我发现不同经纪商DOM刷新机制差别挺大,有的只在报价变动时更新,有的定时刷新,最好先用脚本记录几天时间戳再定策略。最近把读取频率降到跟报价同步,成交率慢慢回到六成多了,还在继续观察。
0 回复 众裁0 复制
#1
MountainViewu
MountainViewu #3· 6 天前
3楼
你说的深度指纹15%阈值,我实盘也试过,不过我遇到的情况是欧美活跃时段光看前两档不够,第三档突然加量时EA没反应,挂单还是被扫。后来我把阈值降到12%并加看第三档,撤单稳了些,但成交率没明显涨,感觉还是偏移上下限更关键。
赞 回复 众裁0 复制
6 天前 #3
追风
追风 #2· 6 天前
2楼
你那个深度指纹15%的阈值是怎么定出来的?我在欧美活跃时段也遇到过撤单太频繁,试过10%感觉还是抖,想参考下你的实测依据。
赞 回复 众裁0 复制
6 天前 #2
THE END
本帖内容仅供学习交流,不构成任何投资建议。外汇交易存在高风险,请谨慎参与。
← 上一帖 剥头皮选手的滑点账本:换过四家经纪商后,我只看这一个指标 下一帖 → XAU/USD的M30分析:地缘溢价和K线谁说了算