Binance OCO订单为何被取消?触发逻辑解析

 / 
1

OCO订单被取消,大部分情况下不是因为系统异常,而是因为它的核心逻辑——"一个成交,另一个自动取消"被触发了,或者是止损单触发了但限价单没有成交。搞清楚OCO的触发规则和订单簿的实际情况,就能定位问题原因。

Binance币安
全球交易量最大的加密货币交易所,安全性与流动性行业领先
新手福利:注册立享20%手续费折扣优惠!

OCO的基本触发规则:谁先成交,谁就赢

OCO(One-Cancels-the-Other,选择性委托)订单是同时挂出"限价单"和"止损限价单"两个订单,价格一个在现价上方,一个在下方。

  • 卖出OCO(常用于止盈止损):限价单在现价上方,止损单在现价下方。价格上涨触及限价单,限价单成交,止损单自动取消;价格下跌触发止损单,止损限价单被激活,限价单自动取消。

  • 买入OCO(常用于突破或回调入场):限价单在现价下方,止损单在现价上方。价格下跌触及限价单,限价单成交,止损单取消;价格上涨触发止损单,限价单取消。

情况A:其中一边触发后,另一边被自动取消

这是OCO最正常、最符合设计预期的取消原因。

  • 触发逻辑:当价格到达其中一边的条件时,系统会执行这一边的订单,并立即自动取消另一边的订单。如果你看到订单被取消的记录,去查一下同一时间另一边是否成交了。如果成交了,取消是正常的。

  • 完成标准:在【历史订单】或【成交记录】里,能看到其中一边有成交记录,另一边在相同时间点被取消。

情况B:止损单触发后,限价单未成交

这是造成OCO"被取消"最常见的技术性原因。OCO的止损端通常设置为止损限价单,它分两步:

  1. 触发(Trigger):价格达到你设置的"触发价格",系统生成一个限价单。

  2. 成交(Execution):这个新生成的限价单需要等市场上有人愿意以你的"限价"接盘,才能成交。

如果市场行情剧烈波动,价格迅速穿过了你的限价单,订单可能在触发后因为来不及成交而被直接取消。例如,你设置"触发价87,000,限价85,000",价格从87,000直接跌到84,500,你85,000的限价单根本来不及成交,就会被系统取消。

情况C:部分成交后,剩余部分被取消

如果OCO中的一方只是"部分成交"(比如只成交了你挂单量的一半),这笔交易的剩余部分会继续等待成交。但由于OCO"一个成交,另一个取消"的规则,当任何一笔订单只要有成交发生,另一边的订单就会被立即取消。但如果OCO的限价单部分成交后,剩余部分没有被立即取消,而是留在订单簿中,直到OCO的另一端被触发后,才整个被取消。

风险提醒:在波动剧烈的行情下,OCO中的止损限价单有较高的"滑点"和"未成交即取消"风险。限价单的"触发价"和"限价"之间如果太窄,很容易因为来不及成交而被系统取消,导致你的止损策略失效。在设置OCO时,为止损单的"限价"留出合理的缓冲空间,比设得越紧越好。

Binance币安
全球交易量最大的加密货币交易所,安全性与流动性行业领先
新手福利:注册立享20%手续费折扣优惠!

操作完成后

  • 校验方式:去【现货订单】-【历史订单】里找到被取消的OCO订单,点击"详情",系统通常会显示取消原因。检查同一时间段的【成交记录】,看另一边的订单是否成交。如果是止损单被触发后取消,打开行情图,对照触发价和限价,看当时价格是否快速穿过了你的挂单区间。

  • 下一步动作:如果你发现是因为止损单触发但限价单未成交导致被取消,说明你的止损单设置区间可能太紧了。在下次挂OCO时,适当放宽止损限价单的"限价",或者改用普通的"止损市价单"(即触发后直接以市价成交),但这需要接受可能出现的滑点。