币安(Binance)现货下单页有一个不起眼的「TIF(Time In Force)」选项,包含 GTC、IOC、FOK 三个选项。新手通常默认用 GTC,但其实另外两种在某些场景下能避免亏损或抢到更好成交价。本文把这三种订单类型讲清楚,并扩展到限价 / 市价 / OCO / 跟踪止损等所有币安现货支持的订单类型。还没开币安账户的从币安官方注册入口开户;想要降低交易成本的看币安手续费返佣方案;先了解基本下单流程的看现货下单不成交的原因排查。
三种 TIF 选项的核心区别
TIF 是 Time In Force 的缩写,中文翻译是「订单有效期」,决定了你的限价单在不能立刻成交时,未成交部分该怎么处理。
| 类型 | 全称 | 部分成交 | 剩余部分处理 |
|---|---|---|---|
| GTC | Good Till Cancel | 允许 | 剩余部分继续挂单 |
| IOC | Immediate Or Cancel | 允许 | 剩余部分立即撤销 |
| FOK | Fill Or Kill | 不允许 | 不能全部成交则全部撤销 |
GTC:默认选项,挂单不撤直到手动取消
GTC(Good Till Cancel,有效至取消)是币安现货的默认 TIF 选项。下单后,订单会一直挂在订单簿上,直到:
- 完全成交
- 用户手动撤单
- 账户余额变化导致系统强制撤单(极少数情况)
24 小时不成交会不会被自动撤?答案是不会。币安官方公开规则里没有 GTC 订单的最长挂单时长限制,理论上挂 1 个月也是有效的。但实际上:
- 单个账户的同时活跃挂单数量有限制(现货约 200 单)
- 极端情况下系统维护可能批量取消订单(会提前公告)
- 账户因为风控被限制时,所有挂单会被取消
适合场景:
- 长期等待目标价位(比如挂 BTC 90000 等回调)
- 网格交易、定投等被动策略
- 不急着成交、愿意等的用户
IOC:立刻成交、剩余撤单
IOC(Immediate Or Cancel,立即成交否则取消)的逻辑是「能成交多少就成交多少,剩下的立刻撤掉」。
举例:你想用 GTC 挂 BTC 95000 买入 0.01 BTC,对手盘只有 0.003 BTC 在 95000,剩余 0.007 BTC 在 95001。
- 如果用 GTC:成交 0.003 BTC,剩 0.007 BTC 继续挂在 95000,等下一个卖家挂出
- 如果用 IOC:成交 0.003 BTC,剩 0.007 BTC 立刻撤销
适合场景:
- 短线交易需要快速响应行情,不想留尾巴单
- 担心行情突变,挂单后价格不利
- 套利策略(多平台对冲),需要确定性的成交结果
FOK:要么全成、要么全撤
FOK(Fill Or Kill,全部成交否则取消)最严格:必须全部数量都能立刻成交,否则整笔订单作废,一颗币都不买。
继续上面的例子:你 FOK 挂 BTC 95000 买入 0.01 BTC,对手盘只有 0.003 BTC。
- FOK 判定不能全成 0.01 → 整笔订单立刻撤销
- 0.003 BTC 也不会成交
适合场景:
- 大额套利,必须一次性吃满才有利润空间
- 套保策略(同时操作两个市场),不允许只成交一边
- 极少数算法交易场景
注意:FOK 在多数主流币种的小额下单中没什么用,因为流动性足够吃满;只有大额或冷门币才显出 FOK 的特点。
限价单 / 市价单 / 止盈止损完整对比
币安现货支持的订单类型有 6 种:
| 订单类型 | 触发方式 | 价格控制 | TIF 支持 |
|---|---|---|---|
| 限价单(Limit) | 立即下单 | 自定义价格 | GTC / IOC / FOK |
| 市价单(Market) | 立即成交 | 按当前盘口 | 即时(无 TIF) |
| 限价止盈止损 | 触发价后挂限价 | 自定义触发价 + 限价 | GTC / IOC / FOK |
| 市价止盈止损 | 触发价后挂市价 | 自定义触发价 | 即时 |
| OCO | 同时挂两条单 | 见下文 | GTC |
| 跟踪止盈止损 | 价格回撤触发 | 自定义回撤百分比 | GTC |
限价单(Limit)
最常用的订单类型。指定一个买入 / 卖出价,等市场达到这个价时成交。
实例:BTC 当前 95000,你挂 94000 限价买入。
- 如果价格跌到 94000:成交
- 如果价格不跌到 94000:订单一直挂着(GTC)或立刻撤(IOC/FOK)
限价单是 Maker 单(提供流动性),享受较低费率。币安现货 Maker 0.1%,开 BNB 抵扣后 0.075%。
市价单(Market)
不指定价格,立即按当前盘口最优价成交。优点是确定性高(一定会成交),缺点是滑点不可控(流动性差时可能成交价比预期差很多)。
币安市价单只支持「即时成交」,没有 TIF 选项。但有「价格保护」机制,如果预计滑点超过 5%-10% 会被拒单,详见现货下单不成交的原因。
限价止盈止损(Stop Limit)
需要设两个价:「触发价」和「限价」。当市场价到达触发价时,系统自动挂出一笔限价单。
实例:你买了 BTC 在 95000,想设止损在 92000。
- 触发价:92000
- 限价:91500(略低于触发价,确保能卖出)
- 数量:你的 BTC 数量
当 BTC 跌到 92000,系统自动挂 91500 卖单。如果价格继续跌穿 91500,订单可能挂着不成交(限价单的特性)。
市价止盈止损(Stop Market)
设一个「触发价」,达到后立刻按市价成交。优点是一定能成交,缺点是滑点不可控。
继续上面的例子:触发价 92000,达到后立刻按市价卖。BTC 跌到 92000 那一刻,系统直接吃当前盘口,可能成交在 91950 或 91900(视行情速度)。
OCO(One Cancels the Other)
OCO 是「二选一」订单:同时挂两条单(一条限价 + 一条止损),任一成交后另一条自动撤销。
实例:BTC 当前 95000,你买入后想设:
- 涨到 100000 卖出止盈
- 跌到 90000 卖出止损
OCO 单同时挂 100000 限价卖单 + 90000 触发止损单。哪一边先触发,另一边自动撤。
OCO 的优势在于资金 / 仓位利用率:用一份 BTC(仓位)就同时锁定了止盈止损双向。如果分别挂两条单,系统会冻结 2 份 BTC 仓位(实际上一份本币只能成交一次)。
举例:你有 2 BTC,想设双向止盈止损(涨止盈 + 跌止损),如果分两条单各挂 2 BTC,会显示「资金不足」;用 OCO 单一次性挂 2 BTC,正常成交。
跟踪止盈止损(Trailing Stop)
跟踪止盈是「动态止盈」,设一个「回撤百分比」,价格上涨时止盈线跟着涨,价格下跌触发止盈百分比时卖出。
实例:你 95000 买入 BTC,设跟踪止盈回撤 5%。
- BTC 涨到 100000,止盈线变成 95000(100000 × 0.95)
- BTC 涨到 105000,止盈线变成 99750
- BTC 从 105000 跌到 99750,触发卖出
这种订单适合不想错过持续上涨、又想锁定利润的场景。缺点是回撤百分比设小了容易被震荡洗出,设大了利润保护不够。
五种订单类型对比表
| 订单类型 | 适用场景 | 风险 | Maker/Taker |
|---|---|---|---|
| 限价单 | 等目标价成交 | 不成交 | Maker |
| 市价单 | 紧急成交 | 滑点大 | Taker |
| 限价止损 | 设定止损 | 跌穿不成交 | Maker(触发后) |
| 市价止损 | 强制止损 | 滑点大 | Taker |
| OCO | 双向锁定 | 一边触发 | Maker(限价侧) |
| 跟踪止盈 | 趋势止盈 | 震荡洗出 | Taker(触发后) |
FAQ
Q1:GTC 挂单 1 个月会被撤吗? 不会。币安没有 GTC 最长挂单时长限制。但极端情况下系统维护、风控、币种下架可能批量取消订单。
Q2:IOC 和 FOK 哪个更激进? FOK 更激进——必须全部成交才算数。IOC 是「能多少算多少」,FOK 是「全有或全无」。
Q3:止损单一定会成交吗? 不一定。「限价止损」触发后变成限价单,如果跌穿了限价价格也不会成交;「市价止损」一定会成交,但滑点不可控。
Q4:OCO 单消耗几次手续费? 只消耗 1 次。两条单中只有一条会成交,所以只产生一次手续费。具体费率参考 BNB 抵扣手续费(即将发布)。
Q5:跟踪止盈在震荡市好用吗? 不太好用。跟踪止盈在「明确单边趋势 + 末期回撤」场景下表现最好;震荡市经常被假突破洗出。
Q6:手机端能用 OCO 吗? 能。币安 APP 现货下单页底部「订单类型」选 OCO 就可以。安卓设备装不上 APP 的看币安 APP 安装教程。
Q7:GTC、IOC、FOK 是不是币安独有? 不是。这三种 TIF 是国际通用的金融市场标准(来自传统证券市场),所有主流交易所(币安、OKX、Coinbase 等)都支持。
写在最后
弄清楚 GTC / IOC / FOK 的区别,比单纯记住「限价单」「市价单」更重要。在大多数日常交易里 GTC 就够用,但当你做套利、对冲、紧急平仓时,IOC 和 FOK 才能保护你不被「吃半单」坑掉。还没开账户的走币安官方注册入口;想要降低交易成本的开手续费返佣。