什么是 IOC 订单(立即成交否则取消)?
IOC 订单(Immediate or Cancel)要求立即成交当前能够成交的数量,并取消剩余未成交数量。 在采用订单簿的加密货币市场中,订单簿记录尚未成交的买卖报价及数量。IOC 订单会尝试与其中已有的报价成交,不把剩余数量留下等待。
IOC 是怎么运作的?
IOC 限制的是订单可以等待多久,限价单限制的是可接受的成交价格。两者可以搭配使用:提交 IOC 限价单时,同时设定价格和数量,系统立即匹配符合价格条件的报价,再取消未成交的部分。
对买单来说,只能以限价或更低的价格成交;对卖单来说,只能以限价或更高的价格成交。符合条件的报价数量足够,就可能全部成交;数量不足,就只成交一部分;没有符合条件的报价,则整张订单取消。
例如,假设买入某代币的 IOC 限价单价格为 101 USDT、数量为 10 个,当前卖单如下。USDT 是报价资产;数字仅用于说明,假设订单通过校验、执行期间报价不变。
| 卖价(USDT) | 可成交数量(个) |
|---|---|
| 100 | 3 |
| 101 | 4 |
| 102 | 5 |
系统先按 100 买入 3 个,再按 101 买入 4 个,共成交 7 个。价格 102 高于买入限价,不能继续匹配,所以剩余 3 个立即取消。
取消的是没买到的 3 个,不会撤销已经成交的 7 个。 这 7 个的成交金额为 100 × 3+101 × 4=704 USDT,尚未计入手续费。
IOC 与普通限价单、FOK 有什么区别?
在价格和数量相同的情况下,区别在于是否接受部分成交,以及未成交数量是否继续等待。
普通持续有效限价单可以先成交一部分,把余量留在订单簿中。这种有效期通常称为 GTC(Good Till Cancelled),即撤销前一直有效,OKX 的普通限价单默认采用此设置。IOC 也接受部分成交,但不留下余量。FOK(Fill or Kill,全部成交否则取消)则要求立即全部成交,数量不足时整笔取消。
沿用前文买入限价 101、数量 10 的例子,限价内只有 7 个可买,三种设置会得到不同结果:
| 设置 | 本次成交数量 | 未成交数量的处理 |
|---|---|---|
| 普通持续有效限价单(GTC) | 7 个 | 剩余 3 个按限价 101 留在订单簿等待 |
| IOC 限价单 | 7 个 | 剩余 3 个立即取消 |
| FOK 限价单 | 0 个 | 不能立即买满 10 个,整笔取消 |
因此,IOC 中的“立即”不意味着必须买满或卖完,而是没有继续等待成交的阶段。
IOC 成交怎样收取手续费?
在上述订单簿交易中,IOC 接受已有报价,成交角色是吃单方(Taker),已成交部分按适用的 Taker 费率计费。具体费率和计算方式取决于交易产品与账户。
未成交而取消的数量,不产生按成交计收的交易手续费。前面的例子中,费用根据已成交的 7 个计算,不按原计划的 10 个全部计费。
常见问题
IOC 和市价单有什么不同?
IOC 规定未成交数量能否继续等待,市价单规定按当前可得报价执行、无需交易者设置限价,两者描述的不是同一项要求。
例如,前文 IOC 限价买单明确不能高于 101 成交;市价单没有交易者设置的这个限价,但仍可能受平台价格保护限制。市价单未成交部分怎样处理,则取决于具体产品的执行规则。
相关词条
继续了解FOK 订单、限价单和市价单,或返回加密货币术语表。







