永續合約入門
Binance One-Way 與 Hedge Mode 差在哪?切換、開平倉與驗收教學
依 Binance 最新持倉模式規則,理解 BOTH、LONG、SHORT 與 reduceOnly 的差異,安全切換 One-Way/Hedge,正確開平倉並驗收。
One-Way 與 Hedge Mode 決定同一份合約的多空部位如何記帳,也決定一張 Buy 或 Sell 委託究竟是減倉、反手,還是建立另一側部位。讀完本文,你應能選擇適合的 Binance Futures 持倉模式,在切換前清空阻礙項目,正確開啟與關閉 LONG/SHORT,並用部位和委託紀錄驗收,避免「本來要平倉,結果多開一邊」。
先看最重要的差別
One-Way Mode(單向持倉):同一 Symbol 只有一個淨部位。反向成交會先減少既有部位,超過剩餘數量時才可能反手。
Hedge Mode(雙向持倉):同一 Symbol 可以同時保留 LONG 與 SHORT,兩側數量、進場價和 P&L 分開顯示。下單時不只要選 Buy/Sell,還必須知道正在操作哪個 Position Side。
兩者都是記帳與操作模式,不是風險高低的自動開關。Hedge Mode 可以分開管理兩個方向,但不會消除費用、資金費率、基差、強平或誤操作風險。
Binance 官方持倉模式規則在哪裡

圖中是 Binance 官方 USDⓈ-M Futures API Reference,左側列出 Change Position Mode (TRADE)。目前官方契約明確定義:
dualSidePosition=true代表 Hedge Mode;dualSidePosition=false代表 One-Way Mode;- 模式變更會作用於所有 Symbol,不是只改目前看的 BTCUSDT;
- UM 與 CM 共用該設定;
- 任一側還有未成交委託時可能以
-4067拒絕; - 任一側還有未平倉部位時可能以
-4068拒絕。
網頁或 App 的選單位置可能隨版本調整,但規則不應靠猜:在 Futures 設定中找到 Position Mode,切換前先完成本文的清空檢查。
兩種模式遇到反向成交會怎樣
假設 BTCUSDT 已有 0.10 BTC 多單:
| 新成交 | One-Way 結果 | Hedge Mode 結果 |
|---|---|---|
| Sell 0.04 BTC | 淨多單降為 0.06 BTC | 若指定 SHORT,保留 0.10 LONG 並新增 0.04 SHORT |
| Sell 0.10 BTC | 淨多單降為 0 | 若指定 SHORT,形成 0.10 LONG 與 0.10 SHORT |
| Sell 0.14 BTC | 先平 0.10 多單,再留下 0.04 空單 | 若指定 SHORT,保留 0.10 LONG 並建立 0.14 SHORT |
表格描述成交後的部位邏輯;實際送單仍受數量、餘額、訂單類型和產品限制影響。不要根據按鈕顏色判斷結果,要看成交後的 Position Side 與 Position Size。
One-Way 的 BOTH 代表什麼
在 Binance USDⓈ-M 官方下單契約中,One-Way Mode 的 positionSide 預設為 BOTH。它不是「同時多空」,而是表示該 Symbol 的唯一淨部位。
因此 One-Way 下:
- 沒有部位時,Buy 建立多單,Sell 建立空單;
- 有多單時,Sell 先減少多單;
- 有空單時,Buy 先減少空單;
- 反向成交量大於現有部位時,淨部位可能跨過 0 並反手。
如果你只想平倉而不允許反手,必須使用介面提供的 Close/只減倉控制,或讓關倉數量嚴格等於實際剩餘部位,並在成交後驗收。
Hedge Mode 必須選 LONG 或 SHORT
官方下單契約要求 Hedge Mode 使用 positionSide=LONG 或 positionSide=SHORT。這個欄位回答的是「操作哪一側」,而 Buy/Sell 回答的是「採取哪個成交方向」。
四種基本組合可以這樣理解:
| 目的 | Position Side | Side |
|---|---|---|
| 建立或增加多單 | LONG | Buy |
| 減少或關閉多單 | LONG | Sell |
| 建立或增加空單 | SHORT | Sell |
| 減少或關閉空單 | SHORT | Buy |
在網頁介面中,通常透過 Long/Short 區塊及 Close 動作呈現,不一定顯示 API 欄位名稱。送單前仍應用這張表驗證方向。
Reduce Only 在兩種模式不能混用同一套說法
Binance 目前 USDⓈ-M 新訂單契約明確寫明:reduceOnly 在 Hedge Mode 不能傳送;One-Way 則可用它限制委託只能減少既有淨部位。這正是舊式教學最容易寫錯的地方。
因此:
- One-Way:可使用平台支援的 Reduce Only/Close 語意,避免超量後反手;
- Hedge Mode:應指定正確的 LONG 或 SHORT 側,並使用該側的 Close 或相應平倉操作;不要把 One-Way 的
reduceOnly=trueAPI 寫法直接套用; closePosition=true另有適用的條件單類型和方向限制,也不能與 quantity 或 reduceOnly 任意混搭。
一般使用者不需要自行呼叫 API,但理解這些限制能解釋為何某些按鈕、欄位或自動化委託在兩個模式下不同。
切換前先清空四類狀態
因為模式變更作用於整個合約帳戶,切換前依序處理:
- 在 Positions 檢查 USDⓈ-M 與 COIN-M 是否仍有任何 LONG、SHORT 或 BOTH 數量;
- 在 Open Orders 撤銷所有一般限價委託;
- 檢查尚未觸發的 Stop、Take-Profit、Trailing Stop 及其他條件委託;
- 確認 Position Size 全為 0、Open Orders 全為 0,再切換 Position Mode。
只關閉正在看的 BTCUSDT 不夠,其他 Symbol 或另一合約產品線的殘留狀態也可能讓變更失敗。
在 Binance 介面切換的安全流程
介面文字或入口可能因網頁、App、地區版本更新而不同,但操作邏輯一致:
- 進入 Futures 交易介面;
- 打開 Futures 設定或偏好設定;
- 找到 Position Mode;
- 確認選擇 One-Way 或 Hedge;
- 閱讀影響範圍並提交;
- 回到委託區,確認畫面已呈現預期模式;
- 先用最小可接受數量驗證一筆開倉與平倉流程,再恢復正常操作。
如果系統提示有持倉或未成交委託,不要反覆點擊。回到 Positions、Open Orders 及條件單列表找出殘留項目。
One-Way 下如何完整開倉
以建立多單為例:
- 確認模式是 One-Way;
- 選定 Symbol、Cross/Isolated 與槓桿;
- 依風險預算輸入數量;
- 以 Buy 方向送出 Limit 或 Market;
- 在 Positions 確認顯示單一正向淨部位;
- 建立對應停損與退出委託;
- 在 Open Orders 核對退出數量不超過當前淨部位。
建立空單則以 Sell 開始。真正結果以成交後淨 Position Size 為準,不能只看訂單已送出。
One-Way 下如何避免平倉後反手
假設目前是 0.10 BTC 多單:
- Sell 0.04 只減少為 0.06;
- Sell 0.10 才是全平;
- Sell 0.12 若沒有只減倉限制,可能平掉多單後留下 0.02 BTC 空單。
安全做法是先讀取實際剩餘數量,用 Close 或 Reduce Only 類控制,並在部分成交後更新剩餘委託。如果已經有 Stop 和 Take-Profit,手動平倉後還要撤銷或縮減它們,否則舊單後續觸發仍可能建立反向曝險。
Hedge Mode 下如何建立兩側部位
若策略確實需要同時保留多空:
- 確認 Position Mode 顯示 Hedge;
- 建立多側時選 LONG 並以 Buy 送單;
- 建立空側時選 SHORT 並以 Sell 送單;
- 到 Positions 確認兩列分別顯示 LONG 與 SHORT;
- 分別記錄兩側數量、平均進場價、Margin、未實現 P&L、停損與退出條件;
- 所有退出委託都要綁定正確的那一側。
如果 Positions 只顯示一個淨數字,或第二張反向單把第一側減少了,代表模式或 Position Side 沒有按預期生效。
Hedge Mode 下如何正確關閉 LONG
關閉多側的邏輯是:指定 LONG,以 Sell 減少。操作後檢查:
- LONG Position Size 是否降到目標;
- SHORT Position Size 是否完全不變;
- Long 側的 Stop/Take-Profit 數量是否同步縮減;
- 實際成交價與 Realized P&L 是否記在 Long 側。
不要用「再開一張等量 SHORT」代替關閉 LONG。那會讓 LONG 仍然存在,只是淨方向曝險接近 0。
Hedge Mode 下如何正確關閉 SHORT
關閉空側的邏輯是:指定 SHORT,以 Buy 減少。完成後應確認 SHORT 數量降為目標或 0,而 LONG 不變。
常見錯誤是看到 Buy 就以為一定在加多;Hedge Mode 中,Buy + SHORT 是平空。方向必須和 Position Side 合併解讀。
淨曝險為 0 不代表沒有部位
假設同一合約有:
- 0.20 BTC LONG;
- 0.20 BTC SHORT。
淨方向曝險約為 0 BTC,但總名義曝險是兩側相加。若 BTC 價格為 60,000 USDT:
- Long 名義:12,000 USDT;
- Short 名義:12,000 USDT;
- 淨曝險:約 0 USDT;
- 總曝險:24,000 USDT。
兩側都需要成交、保證金管理和退出;兩側費用也不會因淨額為 0 自動消失。
鎖倉仍然會產生哪些成本
一組等量多空至少可能包含:
- 兩筆開倉成交費;
- 兩筆平倉成交費;
- 四次成交的買賣價差與滑價;
- 兩側依結算規則發生的 Funding;
- 基差、標記價格與流動性差異;
- 先關一側、另一側尚未成交時的裸露風險。
鎖倉淨成本 = 所有成交費 + 所有滑價 ± 兩側 Funding 結果 + 解除時的價格差
資金費率的一收一付也未必完全抵銷,因為部位名義、結算時點或產品可能不同。
同一合約多空與真正避險不同
同一 BTCUSDT 永續合約同時開等量 LONG、SHORT,主要是把兩個方向分開記帳。持有 0.50 BTC 現貨並用部分 BTCUSDT 空單降低短期美元價格曝險,才是針對另一項既有資產的避險。
評估避險是否有效時要問:
- 被保護的資產和合約標的是不是同一個?
- 兩側名義金額是否相近?
- 現貨與合約的基差是否會擴大?
- Funding、費用和抵押品價格如何影響結果?
- 避險在什麼價格、日期或事件後解除?
沒有明確被保護的風險與退出條件,只能稱為同時持有兩個部位。
解除鎖倉前要先寫成交順序
若有 0.20 LONG 和 0.20 SHORT:
- 先平 LONG,直到 SHORT 也成交前,帳戶暫時是 0.20 BTC 淨空;
- 先平 SHORT,直到 LONG 也成交前,帳戶暫時是 0.20 BTC 淨多。
兩張限價單可能不同步成交。執行前要寫清楚先關哪一側、允許的最大時間差與滑價、第二側未成交時是否改用 Market,以及剩餘 Stop 如何處理。不能把「兩張單同時送出」當成「兩張單一定同時成交」。
部分成交會讓對沖比例漂移
計畫以 0.20 BTC LONG 對 0.20 BTC SHORT,但空側只成交 0.13 BTC 時:
- 淨多曝險為 0.07 BTC;
- 總部位為 0.33 BTC;
- 費用與 Funding 按實際兩側部位發生;
- 先前為 0.20 BTC 設計的退出委託必須重算。
每次加倉、減倉或部分成交後,都要重新計算淨曝險與總曝險,不能只看「兩側都有倉位」。
Margin Mode 與 Position Mode 是不同設定
Position Mode 回答「同一 Symbol 能否分開保留多空」;Margin Mode 回答「哪一範圍的保證金支撐這個部位」。Hedge Mode 不等於 Isolated,One-Way 也不等於 Cross。
在 Hedge Mode 下,仍要分別檢查 LONG、SHORT 的保證金方式、Margin Ratio、預估強平價和其他部位的影響。把持倉模式切成 Hedge 不會自動隔離風險。
哪些情況較適合 One-Way
One-Way 通常更適合:
- 每個 Symbol 只執行一個淨方向策略;
- 希望反向成交自然減少原部位;
- 不需要把多空的平均價與退出條件分開管理;
- 希望降低指定錯 Position Side 的操作複雜度。
簡單不等於低風險,但較少的狀態通常較容易驗收。
哪些情況才有理由使用 Hedge Mode
Hedge Mode 可能適合:
- 同一 Symbol 上有兩套必須分開記帳的策略;
- 需要用期貨部位暫時對沖另一項現貨或投資組合曝險;
- 能分別管理兩側的數量、保證金、Funding、停損與解除條件;
- 已建立防止 Position Side 錯置的操作清單或系統檢查。
如果使用理由只是「鎖住虧損,晚點再決定」,它通常只是把退出決策延後,並增加成本和操作步驟。
成交後的四步驗收
- Positions:確認 Symbol、LONG/SHORT/BOTH、數量、平均價和 Margin Mode。
- Open Orders:確認每張退出單綁定正確方向,數量不超過實際剩餘部位。
- Order/Trade History:確認實際 fill,而不是只看 Submitted。
- Transaction History:核對 Commission、Realized P&L 與 Funding。
完整平倉後,目標方向的 Position Size 必須為 0,相關退出委託也應移除。模式正確不代表每張委託都正確。
常見錯誤與修正
| 錯誤 | 後果 | 修正 |
|---|---|---|
| 把 One-Way 的反向單當成新開另一側 | 原部位被減少或反手 | 成交前確認 Position Mode,成交後看淨 Position Size |
| 在 Hedge Mode 只看 Buy/Sell | 操作錯 LONG 或 SHORT | 方向與 Position Side 一起核對 |
| 把 Reduce Only 寫法直接套到 Hedge API | 訂單被拒絕或自動化失敗 | Hedge 使用明確 positionSide 與支援的 Close 流程 |
| 有部位或未成交單時切換 | 模式變更被拒絕 | 清空所有產品線的 Positions 和 Open Orders |
| 用等量反向部位當成平倉 | 總曝險與成本仍存在 | 對原 Position Side 執行真正關倉 |
| 手動平一側後留下舊 Stop | 之後意外重新開倉 | 每次成交後同步撤銷或調整退出單 |
完整操作流程
- 先定義你需要一個淨部位,還是兩側分開記帳。
- 讀取目前 Position Mode,不依舊設定猜測。
- 切換前清空 UM/CM 的持倉、一般委託和條件委託。
- 提交 One-Way 或 Hedge,回到委託區確認畫面狀態。
- 以最小可接受數量測試開倉。
- One-Way 用 BOTH 淨部位邏輯;Hedge 明確指定 LONG/SHORT。
- 依實際 fills 建立對應的停損與退出單。
- 部分成交後重算淨曝險、總曝險和剩餘委託。
- 關倉後確認目標 Position Size 為 0,撤銷遺留委託。
- 從歷史紀錄核對費用、Funding 和淨已實現 P&L。
完成檢查表
- 我知道 One-Way 是單一淨部位,Hedge 是 LONG 與 SHORT 分開記帳。
- 我知道模式變更影響所有 Symbol,而且有持倉或未成交單時可能被拒絕。
- 我能解釋 One-Way 的 BOTH,以及 Hedge 的 LONG/SHORT。
- 我不會把 Buy/Sell 脫離 Position Side 單獨解讀。
- 我知道 Binance USDⓈ-M 的 reduceOnly 參數不能直接用於 Hedge Mode。
- 我會把關閉原部位和建立等量反向部位區分開。
- 我能同時計算淨曝險與總曝險。
- 我會在部分成交與手動平倉後同步修改所有退出單。
- 我能從 Positions、Open Orders 和歷史紀錄驗收結果。
九項都能完成,才算真正掌握持倉模式,而不是只知道 Hedge Mode 可以「同時多空」。
延伸閱讀
資料來源
- Binance Developer Docs:Change Position Mode
- Binance Developer Docs:New Order 與 positionSide/reduceOnly 規則
- Binance Academy:永續合約機制
本文說明持倉模式、委託方向與驗收流程,不構成投資建議。介面入口和產品支援可能更新,實際操作以當下帳戶顯示與產品規則為準。
