欧亚网温馨提示:
亲爱的用户,大家好:
今天为大家带来一则来自欧意官网的重要提醒。简单来说,欧意官网近期将对WebSocket订单频道中“post-only”及即将推出的“rpi”新订单的“state: live”推送行为进行优化调整。核心变化是:订单成功进入订单簿后才会推送“live”状态,而如果挂单失败(如价格穿越BBO被撤单),将不再推送“live”,仅推送“canceled”状态。
这对您有什么好处呢?调整后,您接收到的订单状态信息将更加准确清晰,能更明确地判断订单的最终结果,避免出现收到“live”后订单仍被撤销的混淆情况。尤其对于使用“post-only”或将来使用“rpi”订单的用户,这是一个提升交易体验的细节优化。
温馨提示:如果您或您的团队正在使用基于WebSocket订单频道的自动化交易程序,建议根据公告中的具体场景对照检查代码逻辑,特别是对“live”与“canceled”状态的依赖判断,确保程序能适应新的推送时机。如有任何疑问,欢迎随时联系我,我会协助您对接欧意官网的技术支持团队。
官方公告原文:
为了让客户能够更明确地判断 "post-only"(包括 "mmp_and_post_only")与将要推出的 "rpi" 新订单的最终状态,避免收到 "state: live" 后订单仍被撤销的场景,欧意官网计划调整订单频道中 "post-only" 与 "rpi" 订单的 "state: live" 事件行为。
具体影响
订单 "state: live" 事件的推送时机调整 —— 从订单接收后立即推送,改为订单成功进入订单簿之后才推送。(延后约 1 ms);
价格穿越 BBO 被撤单的挂单失败场景下,"state: live" 更新将被完全移除,只推送 "state: canceled" 更新。
场景 |
调整前 |
调整后 |
"post-only" 订单挂单失败(价格穿越 BBO 被撤单) |
先推 "state: live",再推 "state: canceled" |
只推 "state: canceled"(不再有 live) |
"post-only" 订单成功挂单 |
立即推 "state: live" |
推 "state: live" (延后约 1 ms) |
"post-only" 订单成功挂单后被吃单(一次成交) |
"state: live" → "state: filled" |
"state: live" (延后约 1 ms) → "state: filled" |
"post-only" 订单成功挂单后被吃单(多次部分成交) |
"state: live" → "state: partially_filled" → "state: filled" |
"state: live" (延后约 1 ms) → "state: partially_filled" → "state: filled" |
"post-only" 订单带 "reduceOnly: true", size 被修改 |
"state: live" → "state: live"("amendSource: 4, amendResult: 0") |
"state: live", ("amendSource: 4, amendResult: 0") → "state: live" |
将要推出的 "rpi" 订单,"rpiPxRound: false", 挂单失败(不满足价格间距规则被撤单) |
N/A |
只推 "state: canceled"(不会有 live) |
将要推出的 "rpi" 订单,"rpiPxRound: true",并且 price 被修改 |
N/A |
"state: live" ("amendSource: 6, amendResult: 0") → "state: live" |
生效时间
对于 "rpi" 订单, 模拟盘:7 月 21 日;实盘:7 月 28 日。
对于 "post_only" 和 "mmp_and_post_only" 订单, 模拟盘和实盘均为 8 月中旬。
影响范围
受影响的订单类型有:"post_only"、"mmp_and_post_only"、"rpi"(Enhanced Limit Price)。
其他订单类型如 "limit"(普通限价单)、"market"(市价单)、"ioc"、"fok" 订单推送行为保持不变。
