“欧亿交易所两个子账户之间下相反方向订单”不能假设一定可以互相成交。只要属于同一母账户,自成交保护会介入;选择不同stpMode,决定冲突发生时取消maker、taker还是双方订单。

默认cancel_maker会取消产生自成交冲突的maker订单,taker订单随后按价格时间优先继续与订单簿中的下一笔订单撮合。它不保证taker全部成交,后续结果仍取决于市场深度。
订单回报应结合state、cancelSource与成交明细验收。
cancel_taker会取消taker以阻止自成交;若自有maker在订单簿优先级较后,taker可能先发生部分成交再被取消。官方还说明,FOK订单若会导致自成交将被整体取消。
不能把“取消taker”简单理解成任何情况下都零成交。
cancel_both会取消冲突双方;若前面已有其他可成交深度,taker也可能先部分成交,再取消其剩余数量和首个冲突maker。该模式不支持FOK,与FOK组合会失败。
批量下单前应在客户端先检查订单类型兼容性。
保存母账户关系、下单请求的stpMode、服务端订单回报、成交与取消时间线。默认账户配置可以由主账户调整,单笔下单也可指定,因此不能只保存一份静态默认值。
发现非预期取消时先核对自成交关系,不通过新子账户或共享密钥规避规则。
OKX自成交保护以母账户覆盖主子账户,模式由taker订单决定。cancel_maker、cancel_taker和cancel_both的取消对象及部分成交边界不同,cancel_both不支持FOK,必须按真实回报逐笔验收。