账户开着组合保证金模式时,永续只支持单向持仓,切不到双向。切换时要是弹出「设置失败,请在设置前关闭任何挂单或持仓」(API 错误码 59000),把挂单撤掉、仓位平掉再切。
逐仓下可以。欧易 API 文档里,逐仓加开平仓模式(双向持仓)时,永续杠杆倍数按合约与持仓方向设置,也就是多、空两边可以各设一个倍数。
下一张数量比多单大的空单:按官方「多单全部平掉后才只持有空单」的说法,多单平完后,多出来的部分就是空单。也可以用反手开仓,一键按市价平掉当前仓位,并以同等数量委托反方向仓位;可用保证金不足时只开较小的反向仓位,官方写明无法保证此操作 100% 成功,按钮要先在交易设置里打开。
在欧易永续合约里,手里有 1 张 BTCUSDT 永续多单,再下 1 张空单:单向持仓的结果是多单被平掉,这个合约上不再有仓位;双向持仓的结果是多单原样留着,旁边多出 1 张空单。开完空发现多单「没了」,多半是账户开着单向持仓。
1. 已有 1 张多单时再下 1 张空单会发生什么
| 对照项 | 单向持仓 | 双向持仓 |
|---|---|---|
| 下单前 | 1 张 BTCUSDT 永续多单 | 1 张 BTCUSDT 永续多单 |
| 动作 | 再下 1 张空单 | 再下 1 张空单 |
| 这张空单起的作用 | 平掉原来的多单 | 新开一个空仓 |
| 下单后的仓位 | 无仓位 | 多单 1 张 + 空单 1 张 |
| 同一时间能持有的方向 | 只有一个 | 多、空两个 |
| 官方原话 | 「同一时间只支持一个方向的持仓,反向开仓就会平仓」 | 「两者不会相互平仓」 |
| 如果下的是 2 张空单(本站判断) | 1 张平掉多单,剩下 1 张成为空单 | 多单 1 张 + 空单 2 张 |
单向持仓下,一个合约上只记一个方向。多 1 张遇上空 1 张,两者相抵,结果是零;空单比多单多出来的部分,才会变成新的空仓。官方例子里交代,多单全部平掉后才只剩空单,始终只有一个方向。表里最后一行就是照这句话写的:+1 张与 −2 张相抵,剩 −1 张,也就是 1 张空单。
想「锁仓」的人,本意是留着多单、再挂一张等量空单把两边锁住,单向持仓下这张空单会直接把多单平掉,手里什么都不剩;空单数量下多了,还会反过来留下一个空仓。要让多空两边同时存在,只能把仓位模式切到双向持仓。
双向持仓也有合并规则:系统会自动合并同方向、同类型、同币种的订单,不支持分仓。已经有 1 张空单时再下 1 张空单,会并进原来那个空仓,不会另起一个。保证金类型不同的订单不合并,比如一笔全仓、一笔逐仓,即使币种、方向、类型都相同,也会成为两个仓位。全仓和逐仓在强平上怎么区分,可以接着看逐仓还是全仓?OKX 永续保证金模式怎么选。
2. 同一对模式在 API 文档里叫什么
App 和帮助中心叫「单向持仓」「双向持仓」,欧易 API v5 中文文档(2026 年 9 月查阅)里叫「买卖模式」和「开平仓模式」。文档对这两个词的定义是:「买卖模式只会有一个方向的仓位;开平仓模式可以分别持有多、空 2 个方向的仓位。」两边的定义对得上:
| 帮助中心 / App | API 文档 | posMode 参数值 |
|---|---|---|
| 单向持仓 | 买卖模式 | net_mode |
| 双向持仓 | 开平仓模式 | long_short_mode |
posMode 只作用于交割和永续合约。在教程或接口说明里看到「开平仓模式」「买卖模式」,换成双向、单向持仓去理解即可。
3. 切换入口和切不过去的原因
在 App 里依次点【交易】→【合约】→ 右上角【···】→【交易设置】→【交易模式】→【仓位模式】,选单向持仓或双向持仓(欧易帮助中心《交易常用功能设置教程》,该页更新于 2026 年 8 月 26 日)。同一页另有一处把这个设置叫【持仓模式】,两个叫法都出现过,找的时候照上面的路径走。
账户模式不支持。欧易的账户模式分现货模式、合约模式和进阶模式,进阶模式里又分跨币种保证金和组合保证金。现货模式只能交易现货和杠杆,碰不到永续,仓位模式对它没有意义。API 文档写明,合约模式和跨币种保证金模式下,交割和永续两种仓位模式都能选;组合保证金模式下只支持买卖模式,也就是单向持仓。账户开着组合保证金,就切不到双向持仓。
切换时弹出错误提示。API 错误码表里有两条提示,文档没有标明各自对应哪个接口:59000「设置失败,请在设置前关闭任何挂单或持仓」,59001「当前存在借币,暂不可切换」。切仓位模式时要是弹出 59000,就把挂单撤掉、仓位平掉再切,单向持仓下拿着多单、想切双向去对冲的人,这时只能先平仓、再切换、再重新开仓;弹出 59001,先处理借币。
4. 什么时候值得开双向持仓
拿几类常见操作对照两种模式:
| 操作 | 单向持仓 | 双向持仓 |
|---|---|---|
| 同一合约同时留着多单和空单 | 做不到 | 可以,官方说法是便于对冲风险 |
| 逐仓下多、空分别设杠杆 | 只有一个方向,不涉及 | 可以,API 文档写逐仓 + 开平仓模式下永续杠杆按合约与持仓方向设置 |
| 点错方向下了一张反向单 | 原仓位被部分或全部平掉;反向单比原仓位大时,多出的部分成为反向仓位 | 原仓位不动,多出一个反向仓位 |
单向持仓的反向单会动到原仓位,双向持仓的反向单不会,但会留下一个多空对锁的组合,行情往哪边走都有一边在亏。只做一个方向、不打算在同一合约上挂对冲的人,本站建议留在单向持仓:不会误开出两边都亏的对锁仓位,止盈止损和只减仓的逻辑也更直接,平掉就是平掉。永续的只减仓参数在 API 里只适用于单向持仓,下一节细说;止盈止损几种委托的触发方式,细节在OKX 合约止盈止损与条件委托完全指南。
需要在同一合约上保留两个方向时,才值得切双向持仓,比如手里的多单暂时不想动,又想另开一个空仓对冲。双向持仓本身只保证两个仓位不互相平掉,对冲能起多大作用,还要看两边的数量怎么配。
单向持仓的人如果只是想从多翻成空,可以用反手开仓:一键按市价平掉当前仓位,并以同等数量委托反方向仓位。可用保证金不够时,它按可用保证金开一个较小的反向仓位;数量还受单笔市价最大委托张数限制,官方写明「无法保证此操作 100% 成功」。这个按钮要在【交易设置】-【布局】-【合约仓位按钮】里开【反手开仓按钮】,同时在【交易设置】-【偏好】里开【反手开仓】,两处都开了才会显示。
5. 程序化下单要改的 posSide 和 reduceOnly
用 API 或交易机器人的人,仓位模式一换,下单参数就跟着变。按欧易 API v5 文档的下单、平仓接口说明:
| 参数 | 买卖模式(单向) | 开平仓模式(双向) |
|---|---|---|
| 下单接口 posSide | 必填要求只针对开平仓模式 | 必填,只能是 long 或 short;交割、永续漏填返回 51000(参数错误) |
| 平仓接口 posSide | 可不填,默认 net,填也只能填 net | 必填,long 平多、short 平空 |
| reduceOnly(只减仓) | 交割、永续适用 | 交割、永续不适用 |
reduceOnly 设为 true 时,这笔单只会减少持仓数量,不会增加新的持仓。文档写它适用于币币杠杆,以及买卖模式下的交割、永续。靠这个参数防止「平仓单下多了变成反向开仓」的策略,账户切到开平仓模式后就用不上它,减哪一边要靠 posSide 写明。
按买卖模式写的机器人,如果下单时没带 posSide,账户在 App 里被切成双向持仓后,它发出的每一笔永续单都会因为缺 posSide 返回 51000,一单也下不进去,直到切回单向持仓,或者代码里补上 posSide。
