OKX现货计划委托触发后如何自动撤单?

功能定位:把「触发」与「撤单」绑在一起
现货计划委托(Spot Conditional Order)在 OKX 内部被拆成两步:先挂条件单,等市价触碰触发价后,系统才将订单写入深度。若触发后行情瞬间反转,未成交部分继续挂着就可能被动成交。自动撤单(Auto-Cancel)把「触发」与「撤单」两个动作打包,当触发后 N 秒内未完全成交,系统帮你撤掉剩余数量,避免滑点扩大。
该功能 2025 年 12 月随「高级现货面板」灰度上线,截至当前最新版本已全量开放,无需申请白名单。它与「只做 Maker(Post Only)」「IOC/FOK」同属「执行策略」维度,可与任何计划委托类型(限价、止盈止损、跟踪)叠加,但不能与「冰山」或「TWAP」同用。
入口速查:三端最短路径
桌面 Web
交易 → 现货 → 右侧订单面板 → 订单类型下拉选「计划委托」→ 展开「高级设置」→ 勾选「自动撤单」→ 输入「最长等待(秒)」。
iOS / Android
市场 → 选择币对 → 交易页 → 切换到「计划」标签 → 点「⋮」→ 高级设置 → 开启「触发后自动撤单」→ 设定秒数(1–60 整数)。
提示:若找不到开关,请确认 App 版本≥6.64.3;老版本需到「设置-实验室」里打开「高级现货面板」开关并重启。
配置步骤与背后逻辑
- 选方向与数量:与常规现货下单无异。
- 设触发价:可等于或优于市价,也可劣于市价(止盈止损场景)。
- 设委托价:可选「市价」或「限价」。若选市价,触发后剩余撤单可有效防止极端滑点;若选限价,未成交部分撤掉后可立即重挂。
- 开「自动撤单」并给时长:经验性观察,主流币对深度好,3–5 秒即可;小市值币对可给 10–15 秒,否则频繁撤单可能错过脉冲行情。
- 确认并授权:系统会弹窗提示「触发后未成交将自动撤销」,点「知晓并继续」后订单进入「待触发」列表。
为何用秒而不用「百分比未成交」?OKX 官方解释是「时间」对散户更直观,也便于与「IOC/FOK」保持同一度量衡,减少认知负担。
例外与边界:什么时候不会撤
- 触发前:条件单尚未生效,自动撤单开关无效。
- 触发瞬间已完全成交:撤单逻辑不会执行。
- 触发后部分成交:仅对剩余数量生效,已成交部分不可逆。
- 触发后系统进入维护:撤单请求会排队,维护结束后按顺序处理;若期间成交完毕,则撤单自动作废。
- 账户仓位不足导致挂单失败:触发后订单并未写入深度,自动撤单同样不生效,此时订单状态为「触发失败」。
警告:自动撤单不是止损,它不能保证「最大亏损上限」。触发价被击穿后,若流动性枯竭,仍可能出现无法成交或滑点巨大的情况。
回退与手动干预
订单处于「待触发」状态时,可随时在「当前委托-计划」列表里点「撤销」整单,系统会立即释放冻结资金。若订单已触发但尚未被自动撤单,可在「成交明细」里点「加速撤单」,此操作等同于 IOC 手工撤余量,无需额外权限。
经验性观察:极端行情下,加速撤单指令到达撮合引擎的时延约 200–300 ms,若你设的是 1 秒自动撤单,手工干预往往来不及,建议直接改参数而非临时加速。
与 API 的协同:最小权限原则
OKX REST API 在「下单」接口新增字段 autoCancelTime(int,秒),取值 1–60,与 UI 完全对齐。若使用第三方量化框架,只需给「交易」权限,不必开「提币」或「转账」权限即可。若用子密钥,建议把 IP 绑定到固定服务器,并设置「仅现货」交易范围,降低被盗密钥后的风险敞口。
返回的 ordId 可用于 5 秒内轮询 /api/v5/trade/order,若状态为「live」且 fillSz<sz,说明已触发且部分成交;当 5 秒到期,系统推送「order-cancel」事件至私有 WS 频道,可据此更新本地仓位。
故障排查:常见四类报错
| 现象 | 可能原因 | 验证方法 | 处置 |
|---|---|---|---|
| 开关灰色无法勾选 | 币对不支持或版本过低 | 查看币对信息页的「订单类型」标签 | 升级 App 或更换币对 |
| 触发后未撤单 | 秒数设得过长或行情瞬间成交 | 比对「成交明细」时间戳与撤单时间戳 | 缩短秒数或改用限价+IOC |
| 撤单成功但资金未返 | 资金被联合保证金占用 | 查看「资产-现货」是否已释放 | 关闭联合保证金或手动划转 |
| API 返回 58112 | autoCancelTime 超限 | 检查字段值是否在 1–60 | 修正参数重试 |
适用/不适用场景清单
适合
- 事件驱动型短线:如非农数据、美联储议息,预期波动 1–2% 内快速撤退。
- 流动性充裕的主流币对:BTC/USDT、ETH/USDT 深度可保证 3 秒内高填充率。
- API 量化做市:用 2–3 秒自动撤单保持挂单新鲜度,降低库存风险。
不适合
- 低流动性小市值:盘口稀疏,频繁撤单导致反复挂撤,反而抬高交易成本。
- 长期布局型定投:计划委托本就为了「隔日触发」,秒级撤单毫无意义。
- 高频网格:秒级限制最高 60 秒,无法达到毫秒级撤单需求,应改用 IOC 或 FOK。
最佳实践 5 条
- 触发价与委托价价差 ≤0.2% 时,自动撤单 3 秒即可;价差 >1% 且深度差,给 10 秒以上。
- 每次调整秒数后,用 0.001 BTC 小单实测,记录「触发-成交-撤单」时间轴,找到最优阈值再放大仓位。
- 同时开启「只做 Maker」+「自动撤单」可避免 taker 费,但需确保委托价优于触发价,否则永远成交不了。
- 行情剧烈时把撤单时长写入环境变量,通过 API 热更新,比手工改 UI 更快。
- 定期导出「历史订单」CSV,用 pivot 统计「撤单率 >80% 且收益为负」的币对,及时从策略池剔除。
FAQ(结构化数据)
自动撤单会额外收费吗?
不会。撤单动作本身免费,但已成交部分按正常现货费率收取。
可以只对部分数量生效吗?
自动撤单针对「触发后未成交剩余数量」整体生效,无法拆分部分数量撤单。
触发价被跳过(跳空)怎么办?
OKX 采用「最新价触发」机制,若跳空直接越过触发价,系统会按市场价立即挂单,随后进入自动撤单倒计时;无法保证在触发价成交。
子账户能独立设置吗?
可以。每个子账户的「自动撤单」参数独立存储,主账户修改不影响子账户。
为什么有时撤单成功还看到「部分成交」?
撤单指令到达前,撮合引擎可能已成交部分数量,属于正常现象;剩余数量仍会按指令撤销。
结论与下一步
OKX 现货计划委托的自动撤单功能用「时间」换「滑点可控」,适合事件驱动与做市场景,但对低流动性币对可能得不偿失。建议你先用小单实测 3 秒、5 秒、10 秒三个梯度,记录撤单率与收益,再决定是否放大规模。若策略对延迟极度敏感,可结合 API 的 autoCancelTime 字段做热更新,把撤单逻辑内嵌到算法层,而非依赖 UI 手动开关。
下一步:打开 App,用 0.001 BTC 在 BTC-USDT 盘口做一次触发-撤单实验,把「触发价-委托价-秒数」截图保存,作为后续批量参数的基础模板。只有跑过数据,你才知道「自动撤单」到底是成本还是保险。
📺 相关视频教程
币安合约止盈止损,币安怎么设置止盈止损?币安合约怎么止损?币安合约怎么止盈?


