跳到主要内容

一个订单支付另一个订单(One Pays the Other,简称 OPO)

什么是一个订单支付另一个订单(OPO)?

这是 OTO 和 OTOCO 的一种特殊行为,其中生效订单收到的数量将用作待执行订单的数量。因此,订单触发时唯一的数量要求是生效订单的数量。

生效订单收到的资金会被锁定,用于待执行订单,且不可用于交易或提现。如果订单列表在待执行订单被提交到撮合引擎之前被取消,这些锁定的资金将被解锁。

OPO 与 OTO 几乎相同,唯一的区别是待执行订单不用指定数量

我如何使用它?

请参考下表:

API请求方式
REST APIPOST /api/v3/orderList/opo
POST /api/v3/orderList/opoco
WebSocket APIorderList.place.opo
orderList.place.opoco
FIX APINewOrderList <E>,其中 OPO (25046)=true

该订单列表与其他订单列表有什么区别?

  • 待执行订单在提交到撮合引擎时没有数量;数量将基于生效订单完全成交后收到的数量确定。
  • 收到的数量会扣除相应的手续费。如果收到的资产不是 BNB 且有足够的可用资金,手续费将从可用资金(即 free 余额)中扣除。
  • 待执行订单的数量会在生效订单完全成交后进行检查(例如过滤器)。
  • 如果某个交易对配置了 LOT_SIZE 和/或 MARKET_LOT_SIZE 过滤器,待执行订单的数量会被调整以满足这些要求。未使用的锁定数量将被解锁并返还到 free 余额。
  • 待执行的 OPO 订单的数量在生效订单完全成交之前不可修改。
  • 仅接受生效订单为买入(BUY)方向,待执行订单为卖出(SELL)方向的情况。

哪些交易对支持 OPO 订单?

订单类型Exchange Information 中需要包含
OPOotoAllowedopoAllowed
OPOCOotoAllowedopoAllowedocoAllowed