进入 币安官网 现货下单界面,订单类型里有一个叫「OCO」的标签很多人第一次看会蒙。币安官方APP 把它放在订单类型切换栏的较右侧,需要滑动才能看到。如果 App 还没装好,先看 iOS 安装教程 跑通安装。OCO 全称 One-Cancels-the-Other,本质是一种「捆绑订单」:你同时挂一个止盈限价单和一个止损限价单,市场触发哪一个,另一个就自动撤销。常见用途是设定盈亏区间后离开屏幕。
下面把 OCO 的机制、参数、典型用法和不适用场景讲清楚。
OCO 的核心机制
A:把两个对冲方向相同的订单绑成一组,触发任一组件后自动撤销另一个。
OCO 是金融交易里的标准订单类型,几乎所有主流交易所都支持。币安的实现包含三个价格:
- 限价(Limit Price):止盈方向的限价
- 触发价(Stop Price):止损方向的触发条件
- 止损限价(Stop Limit Price):止损被触发后挂出限价单的实际价格
提交后系统创建两个独立订单,但用一个「订单组 ID」绑定:
- 订单 1:限价 = Limit Price 的限价单
- 订单 2:止损限价单(触发价 + 止损限价)
任意一个开始成交(哪怕只成交一部分),另一个立即自动撤销。
价格关系约束
OCO 卖单(最常见)的价格必须满足:
Stop Price < 当前市价 < Limit Price
简单说:止损价低于现价低于止盈价,否则系统会立刻把其中一个识别为「立即触发」从而拒绝。
OCO 买单则反过来:Limit Price < 当前市价 < Stop Price。
什么时候用 OCO
A:六个适合用 OCO 的典型场景。
场景 1:日内交易后离开屏幕
最常见用法。早上买入,目标盈利 3%-5%,止损 2%-3%。挂上 OCO 就可以去工作、睡觉、出差,市场到任一价位自动出场。
场景 2:箱体震荡套利
币价在某个区间反复震荡(比如 BTC 在 90000-100000 之间),你在 90000 附近买入,可以挂 OCO:
- 止盈 99500(接近箱体上沿)
- 止损 89000(跌破箱体下沿)
只要箱体不破,几乎稳定收。一旦箱体被打破(向上或向下),OCO 自动平仓。
场景 3:突破策略
币价在阻力位下方盘整,你预判突破后会暴涨。可以挂 OCO 买入单(不太常用,但合法):
- 止损买入价(触发价)= 阻力位上方
- 限价 = 一个低于阻力位的「假突破回踩」位
突破成功就高位追入,假突破就在低位抄底。
场景 4:财报/重大事件前对冲
知道某个时间会有重大事件(比如比特币 ETF 决定、币安创始人公告、加息会议),但不知道方向。买入后挂宽幅 OCO,无论涨跌都触发出场。
场景 5:长线持仓的双向防护
长线看好但不想被腰斩。OCO 设置:
- 止盈位很远(比如成本 +50%)
- 止损位适中(成本 -20%)
长期挂着,绝大多数时候不会触发,相当于免费保险。
场景 6:跟随别人的交易计划
群里有人发:「BTC 95000 买,目标 100000,止损 92000」。你也想跟,但又不能 24 小时盯盘。挂个 OCO 一劳永逸。
OCO 的参数怎么填
A:先确定止盈位和止损位,再算止损限价的差值。
第一步:确定止盈价
参考阻力位、心理整数关口(90000、100000 等)、历史高点。原则:
- 不要贪心,初学者目标 5%-15% 即可
- 不要预设过高的止盈位,否则等不到触发
第二步:确定止损价
参考支撑位、买入价以下 5%-10%、技术形态破位点。原则:
- 止损位决定单笔最大损失,必须能承受
- 太紧容易被震荡打掉,太松失去保护意义
第三步:确定止损限价(Stop Limit)
止损限价 = 止损触发价 - 缓冲
| 币种类型 | 缓冲建议 |
|---|---|
| BTC、ETH | 0.3%-0.5% |
| 主流山寨(BNB、SOL、XRP) | 0.5%-1% |
| 中市值币 | 1%-2% |
| 小市值币 | 2%-3% 或改用市价止损 |
举例:止损触发 90000,BTC 类型 0.3% 缓冲,止损限价 = 90000 × 99.7% = 89730。
第四步:填数量
OCO 数量必须 ≤ 你的现货持仓。100% 持仓最常见,也可以分批用 OCO 管理(比如把 1 BTC 拆成两份,分别用不同区间的 OCO)。
OCO 不适用的场景
A:四类情况下 OCO 弊大于利。
1. 单边强趋势
牛市里设止损根本不需要止盈,止盈反而让你下车。这种行情用单纯的「止损限价 + 跟踪止损」更合适。
2. 流动性极差的小币
OCO 的两个价位之间需要市场能正常波动。流动性差的币挂上去可能止盈触发不到,止损滑点又巨大,得不偿失。
3. 短时间内的高频操作
OCO 一旦挂上就锁定数量,不能动用这部分资金做别的。频繁进出的短线党用市价单更灵活。
4. 需要分批止盈
OCO 是「一次出完」的设计。如果你想分 30% / 30% / 40% 三批止盈,OCO 做不到,需要挂 3 个独立的限价卖单。
OCO 与其他订单组合
A:OCO 不是孤立的,可以和其他订单类型搭配。
OCO + 跟踪止损
在仓位的不同部分用不同策略:
- 50% 仓位用 OCO(固定止盈止损)
- 50% 仓位用跟踪止损(让利润奔跑)
OCO + 限价补仓
在 OCO 的止损位下方再挂限价买单。如果触发止损,这部分仓位平掉;如果价格继续跌,下方的限价单接住低位筹码。这是「预设的金字塔补仓」。
多档 OCO
把仓位拆成 3-5 份,每份挂不同的 OCO。例如 1 BTC:
- 0.3 BTC 挂 OCO A:止盈 100000,止损 92000
- 0.3 BTC 挂 OCO B:止盈 105000,止损 90000
- 0.4 BTC 挂 OCO C:止盈 110000,止损 88000
实现「分级止盈 + 分级止损」。
实战完整流程
场景:现货 1 ETH,成本 3500,看好但担心回调。
操作步骤
- 进入「现货交易 → ETH/USDT」
- 切到「OCO」订单类型
- 选「卖出」
- 数量:1 ETH
- 限价(止盈):3850(+10%)
- 触发价(止损):3300(-5.7%)
- 止损限价:3280
- 检查后点「卖出 OCO」
提交后「当前委托」会显示两条订单,标记 OCO ID 相同。
三种可能的结果
- 价格上涨触及 3850:止盈成交,止损单自动撤销,到手约 3850 USDT,扣 0.1% 手续费 = 3846.15 USDT
- 价格下跌触及 3300:挂出 3280 限价卖单,跌破 3280 后成交,到手约 3280 USDT 左右
- 价格在 3300-3850 之间持续震荡:什么都不触发,订单一直挂着,直到你撤单或市场移动
常见问题
Q:OCO 占用余额吗? A:占用的是「币的余额」,不是 USDT。卖出 OCO 冻结对应数量的币,确保触发后能立即卖出。买入 OCO 则冻结对应数量的 USDT。
Q:OCO 的两个组件可以是不同数量吗? A:不能。币安 OCO 的两个组件数量必须相等。如果你想止盈一半、止损全部,需要拆成多个独立订单。
Q:OCO 可以修改吗? A:不能直接修改。撤掉原 OCO 后重新挂。撤单是免费的。
Q:部分成交后 OCO 怎么处理? A:触发的那一支开始成交(即使只成交了一小部分),另一支会立即被撤销。剩余的部分继续按已触发那支的逻辑挂着。
Q:OCO 触发后还要手续费吗? A:成交的那一笔收 0.1%(用 BNB 抵扣 0.075%),未触发被撤销的那笔不收任何费用。
Q:手机 App 上 OCO 在哪里? A:交易对页面 → 下方下单面板的订单类型选择条 → 滑到「OCO」(部分版本叫「Stop-Limit + Limit」组合)。如果完全找不到,更新到最新版 App 或改用网页端。
更多币安使用细节见 关于 BabiaHub ,使用前请阅读 免责声明。