入門與交易
限價單一直未成交、部分成交或被取消怎麼辦?看懂訂單狀態與處理步驟
限價單沒動、只成交一部分或突然顯示已取消、已過期,多半是訂單規則在運作。本文用真實訂單簿快照算出排隊與部分成交,對照訂單狀態表,逐一說明零頭賣不掉、IOC/FOK、Post Only 與被拒絕的處理方法。
限價單掛了半天沒動、只成交一部分,或者訂單突然顯示「已取消」「已過期」,是新手在交易所最常見的困惑之一。這些狀態多半不是系統故障,而是訂單規則照設計在運作。本文用一份真實訂單簿快照和公開的交易規則,說明每種狀態背後的原因,以及你接下來該怎麼處理。
先讀懂訂單狀態:各交易所的名稱大同小異
不同平台介面文字不一樣,但撮合引擎回報的狀態大致相同。下圖是 Binance 現貨 API 文件中的訂單狀態定義,用它當對照表很清楚:

圖片來源:Binance Spot API 文件:ENUM Definitions,2026 年 10 月 7 日擷取。
對應到 App 上常見的中文:
| 介面常見文字 | API 狀態 | 意思 |
|---|---|---|
| 未成交、掛單中 | NEW | 訂單已被接受,正在訂單簿等待對手 |
| 部分成交 | PARTIALLY_FILLED | 一部分數量已成交,剩下的仍在等待 |
| 已成交、完全成交 | FILLED | 全部數量成交 |
| 已取消 | CANCELED | 由使用者撤單 |
| 被拒絕、下單失敗 | REJECTED | 撮合引擎沒有接受,訂單從未進入訂單簿 |
| 已過期、系統取消 | EXPIRED | 依訂單類型規則或由交易所取消 |
| 自成交保護取消 | EXPIRED_IN_MATCH | 會跟自己(或同一群組帳戶)的掛單成交,被自成交保護(STP)擋下 |
文件裡有兩點新手常誤會:
- EXPIRED 不一定是你按了取消。 文件舉例,FOK 限價單沒有全部成交、IOC 限價單或市價單只成交一部分時,剩餘部分會依規則失效;交易所在維護或強制平倉時取消的訂單也歸在這裡。
- REJECTED 代表訂單根本沒掛上去,不會佔用餘額,也不會有任何成交。
情況一:限價單一直未成交
限價單只會在「你的價格或更好的價格」成交。買單掛得比目前最低賣價低、賣單掛得比目前最高買價高,就只能等市場走到你的價位。
下面是 Kraken 公開行情介面回傳的 BTC/USDT 訂單簿(2026 年 10 月 7 日台北時間 17:48:34 快照,前 8 檔):

圖片來源:Kraken 公開 API:Depth,數值會隨時變動,這裡只取擷圖當下。
假設你在這一刻掛一張 83,790 USDT 買入 的限價單:
- 最低賣價是 83,796.2,你的價格比它低 6.2,所以不會立即成交,訂單進入買方一側等待。
- 排在你前面的是出價更高的買單:83,796.1(0.012 BTC)、83,791.3(0.020 BTC)、83,791.1(0.120 BTC),合計 0.152 BTC。
- 撮合規則是「價格優先、時間優先」:賣方要先把這 0.152 BTC 吃完,價格才會輪到 83,790;就算有人以 83,790 賣出,同價位上比你早掛的單也會先成交。
所以「掛了很久沒成交」最常見的原因只是:價格沒被市場碰到,或碰到了但排隊排在後面。
處理方式:
- 先確認方向和價格沒有打錯(例如想買卻選了賣、多打或少打一位數)。
- 打開訂單簿,看你的價格離最佳買賣價有多遠。差距大代表短時間內不太可能成交。
- 決定要「等」還是「追」:願意多付一點換成交,就取消後改掛接近最佳賣價的價格,或改用市價單;兩者差別可參考市價單與限價單的成交價差異。
- 掛單期間,這筆金額會被凍結。若你在別處發現「可用餘額不足」,多半就是被這張未成交訂單佔住了,取消後才會釋放。
情況二:只成交一部分
部分成交是因為對手方在你的價位上沒有足夠數量。同一份快照下,假設改掛 0.3 BTC、價格 83,803.0 的限價買單:
| 吃到的賣單價格 | 成交數量(BTC) | 金額(USDT) |
|---|---|---|
| 83,796.2 | 0.030 | 2,513.886 |
| 83,799.0 | 0.120 | 10,055.880 |
| 83,803.0 | 0.095 | 7,961.285 |
| 合計 | 0.245 | 20,531.051 |
- 0.245 BTC 立即成交,成交均價約 83,800.21 USDT(未計手續費)。
- 剩下的 0.055 BTC 不會用更高的 83,803.1 去買,因為超出你的限價;它會留在訂單簿上,以 83,803.0 成為新的最高買價,訂單狀態變成「部分成交」。
- 已成交的 0.245 BTC 是已完成的交易,取消訂單只會撤回未成交的 0.055 BTC,不會退回已成交部分。
順帶一提,立刻成交的那部分是吃掉別人的掛單(Taker),留在簿上等待的那部分若之後成交則屬掛單方(Maker),兩者手續費可能不同,細節見 Maker 與 Taker 的判斷和費率差異。
部分成交後可以這樣決定:
- 保留剩餘掛單:你仍想在這個價格買,願意等。
- 取消剩餘部分:已買到的量夠用,或行情已經離開你的價位。
- 取消後改價:想要全部成交,就以新價格重新下剩餘數量。改價前先估算多付的成本,避免為了一點零頭追高;價差與滑價的算法可參考滑價與買賣價差的成本計算。
情況三:剩下的零頭小到賣不掉
部分成交或扣完手續費之後,常會留下一點很小的數量。每個交易對都有最低下單規則,太小的數量無法單獨送出。以下是 Kraken 公開的 BTC/USDT 交易規則:

圖片來源:Kraken 公開 API:AssetPairs,2026 年 10 月 7 日擷取。
這幾個欄位分別代表:
ordermin: 0.00005:每張訂單至少 0.00005 BTC。costmin: 0.5:訂單總額至少 0.5 USDT。tick_size: 0.1:價格只能以 0.1 USDT 為單位,例如可以掛 83,790.1,不能掛 83,790.15。
所以如果你手上剩 0.00003 BTC,即使按上面快照的價格約值 2.5 USDT、已超過 0.5 USDT 的總額下限,數量仍低於 0.00005 BTC,這筆賣單會被拒絕。常見的處理方式是:之後再買一點湊到門檻以上一起賣,或使用平台提供的小額資產兌換功能(名稱與條件各平台不同,以該平台說明為準)。
每家交易所、每個交易對的數字都不同,而且會調整;下單被拒時,先看下單區的提示和該交易對的交易規則頁。
情況四:訂單被取消、過期或被拒絕
依照上面的狀態表,先判斷是哪一種,再對應處理:
| 你看到的 | 可能原因 | 怎麼做 |
|---|---|---|
| 被拒絕(REJECTED) | 價格精度、數量、最低金額不符;餘額不足;交易對暫停或只允許撤單 | 依提示修改價格或數量,確認可用餘額;交易對狀態異常就先停手 |
| 過期,且你用了 IOC 或 FOK | IOC:能成交多少算多少,其餘立即失效;FOK:不能全部成交就整張取消 | 想保留未成交部分,改用一般限價單(GTC,掛到成交或手動取消為止) |
| 過期,且你用了 Post Only/只做 Maker | 這類訂單一旦會立即成交就會被拒或取消,以確保只當掛單方 | 把買價調到最佳賣價以下、賣價調到最佳買價以上 |
| 市價單只成交一部分後過期 | 訂單簿深度不夠,或觸發平台的價格保護 | 檢查實際成交數量與均價;剩下的量分批或改用限價單 |
| 自成交保護取消(EXPIRED_IN_MATCH) | 新單會跟你自己帳戶的掛單成交 | 先取消自己對向的舊掛單,再重新下單 |
| 系統取消、無法下單 | 交易所維護、交易對下架或暫停、帳戶受限 | 查看平台公告與站內通知;帳戶受限依平台指示處理,不要反覆嘗試 |
查完狀態後的固定檢查
不論哪種狀況,處理完都做一次核對,避免誤判:
- 看成交明細,不只看訂單狀態。 「已取消」的訂單可能之前已成交一部分,到成交紀錄確認實際成交數量、均價和手續費。
- 核對可用餘額。 確認已取消訂單的凍結金額已經釋放。
- 避免重複下單。 頁面卡住或網路不穩時,先重新整理並查看「目前委託」,確定原訂單不在了再重下,否則可能同時成交兩張。
- 重下前重新看一次價格。 撤單到重下之間行情可能已經變了,用新的訂單簿判斷要掛的價位。
常見問題
部分成交的訂單可以全部取消、拿回所有錢嗎?
不行。取消只撤回還沒成交的數量,已成交的部分已經完成交換,要反向操作只能另外下一張賣單(或買單),並再付一次手續費與價差。
限價單會一直掛著嗎?
大多數平台預設的限價單是 GTC(Good Till Canceled),會掛到成交或你手動取消為止。但交易所在維護、交易對下架等情況下仍可能取消;若選了 IOC、FOK 或有期限的訂單,則會依規則提前失效。
掛的價格明明碰到了,為什麼還沒成交?
同一價位的掛單按時間先後成交。市場價格「碰到」你的價格時,可能只把排在你前面的單吃完就反彈了。若成交比價格重要,可以把價格稍微往對手方向調整。
訂單被拒絕會扣手續費嗎?
被拒絕的訂單沒有進入訂單簿、也沒有成交,手續費是在成交時才產生;若帳戶出現不明扣款,查看成交紀錄與資金明細再聯繫平台客服。