現貨成交機制

Maker、Taker 怎麼判斷?部分成交、平均價格與實際費用完整教學

從 Binance 真實訂單簿與成交區判斷 Maker、Taker,還原一張委託的部分成交、加權平均價格、逐筆費用與實得資產。

Maker、Taker 怎麼判斷?部分成交、平均價格與實際費用完整教學

讀完這篇,你應該能在 Binance 現貨交易中判斷一筆成交是 Maker 還是 Taker,理解為什麼同一張限價單可能先成為 Taker、剩餘部分再成為 Maker,並從逐筆成交紀錄算出平均成交價、總費用與實得資產。完成後,你不會再用「限價單就是 Maker」或「委託已送出就是全部成交」判斷結果。

Maker、Taker 描述的是成交角色,不是帳戶身分

  • Maker:委託先進入訂單簿等待,增加其他人可以成交的流動性;日後被對手方成交的部分是 Maker。
  • Taker:委託送出後立刻與訂單簿中既有委託成交,取走可用流動性;立即成交的部分是 Taker。

同一個使用者今天可以是 Maker,下一筆又是 Taker。判斷依據不是帳戶名稱、買入或賣出方向,也不是單看 Market/Limit 標籤,而是每一部分成交發生前,委託是否已經留在簿上。

在 Binance 真實交易頁看流動性如何被提供與取走

Binance SOL/USDT 公開現貨交易頁真實截圖,左側顯示訂單簿,中間是價格圖表,右側 Market Trades 顯示逐筆成交,底部有 Limit、Market 與 Stop Limit 委託分頁

截圖中的左側 Order Book 是尚未成交的限價委託:它們提供可被取用的流動性。右側 Market Trades 是已經發生的逐筆成交。當一張新委託立即吃掉左側既有價位時,新委託是 Taker;原本留在訂單簿、被它成交的委託是 Maker。

畫面來自未登入的 Binance 公開 SOL/USDT 現貨頁,沒有帳戶、餘額或個人資料。數字只用來認識欄位,不是即時報價或交易建議。

市價單通常是 Taker,但限價單不一定是 Maker

市價單以當下可得價格立即成交,通常會取走訂單簿流動性,因此一般按 Taker 處理。

限價單則要看價格是否穿過對手方最佳價。假設:

  • Best Bid = 99.90
  • Best Ask = 100.10

三張買單會有不同結果:

買入委託 送出時的行為 可能角色
限價 99.80 低於 Best Bid,留在簿上等待 日後成交部分為 Maker
限價 100.00 高於 Best Bid、低於 Best Ask,留在價差中 日後成交部分為 Maker
限價 100.30 先與 100.10 至 100.30 的賣盤成交 立即成交部分為 Taker

第三張仍叫「限價單」,但它的價格允許立即成交,因此不能按 Maker 費率預估全部成本。

一張 GTC 限價單可以同時有 Taker 與 Maker 成交

假設要買入 1 BTC,限價 100.30;送出時賣盤只有:

Ask 價格 可成交量
100.10 0.20 BTC
100.20 0.30 BTC
100.30 0.10 BTC

委託先立即成交 0.60 BTC,這三部分取走既有流動性,屬於 Taker。剩下 0.40 BTC 若有效期限是 GTC,可能以 100.30 留在簿上;日後由另一張委託來成交時,剩餘成交可按 Maker 處理。

因此一張委託可能得到多個 Fill,而且各 Fill 的價格、數量、時間與費用角色不完全相同。必須查看成交明細,不能只看原始委託類型。

Post Only/Limit Maker 能做什麼

Post Only(Binance API 中常見為 LIMIT_MAKER)的目的,是阻止委託在送出時立即成為 Taker。如果你的價格會直接與既有委託成交,系統通常拒絕該委託,而不是把它悄悄變成一般 Taker 限價單。

Post Only 只處理「送出瞬間是否吃單」,不保證一定成交,也不保證掛單後價格會回來。為了 Maker 費率把委託掛得太遠,可能得到零成交;反覆取消重掛又可能失去同價位的時間順位。

部分成交是正常狀態,不是系統錯誤

假設限價買入 1 BTC,但對手方目前只有 0.35 BTC:

  • 已成交量 Executed = 0.35 BTC;
  • 剩餘量 Remaining = 0.65 BTC;
  • 委託狀態可能是 Partially Filled;
  • 可用餘額已因成交、費用及剩餘委託占用而改變。

此時你真正持有的是成交後的淨數量,不是原始 1 BTC。若立刻建立賣出風控、OCO 或轉帳,都應以實際成交與可用餘額為準。剩餘 0.65 BTC 可能稍後繼續成交,除非你取消它。

為什麼同價位仍可能等很久

集中式訂單簿通常採價格優先,同價位再按時間優先。即使市場已經成交到你的限價,前方較早掛入的數量也可能先被撮合。你看到該價位有成交,不等於自己的整張委託已成交。

修改價格或取消後重掛,常等同建立新委託,原本的時間順位可能消失。是否追價,應同時考慮未成交後果、價差、費用與新價格的市場深度,而不是只想縮短等待時間。

用成交量加權平均價格還原整張委託

假設一張買單得到:

  • 0.20 BTC 成交於 99.90;
  • 0.30 BTC 成交於 100.00;
  • 0.50 BTC 成交於 100.40。

成交總額是:

0.20 × 99.90 + 0.30 × 100.00 + 0.50 × 100.40 = 100.18

加權平均成交價:

100.18 ÷ 1.00 = 100.18

不能把 99.90、100.00、100.40 直接除以三,也不能拿最後一筆 100.40 代表整張委託。若只成交 0.70 BTC,分母必須使用 0.70,而不是原始委託 1 BTC。

費用要按每筆 Fill 的角色計算

基本公式是:

單筆交易費 = 該筆成交額 × 該筆適用費率

假設只做教學試算:

  • Taker 成交額 40,000 USDT,示例費率 0.06%,費用為 24 USDT;
  • Maker 成交額 60,000 USDT,示例費率 0.02%,費用為 12 USDT;
  • 總費用為 36 USDT。

這些百分比不是本站宣稱的當前 Binance 固定費率。實際費率會受市場、產品、VIP 等級、活動、BNB 扣費設定及所在地影響;應使用成交當下帳戶顯示的費率與成交紀錄。

費用扣在哪一種資產,會改變實得數量

買入 0.10 ETH 不代表餘額必定增加完整 0.10 ETH。若費用從買入資產扣除,實得 ETH 會少於成交量;若使用 USDT 或 BNB 扣費,ETH 實得量可能不同。

因此驗收一筆買入要同時記錄:

  1. 成交總量;
  2. 成交總額;
  3. 費用金額;
  4. 費用資產;
  5. 帳戶實際增加的淨資產。

只看到成交數量,還不足以計算實際持有成本。

有效買入價與有效賣出價怎麼算

若買入相關費用能換算到計價資產:

有效買入價 =(成交總額 + 買入費用)÷ 實得基礎資產

賣出則可用:

有效賣出價 =(成交總額 − 賣出費用)÷ 實際賣出數量

例如成交總額 1,000 USDT,費用 1 USDT,實得 0.3996 ETH:

有效買入價 = 1,001 ÷ 0.3996 ≈ 2,505.01 USDT/ETH

這比只看畫面平均價更接近真實取得成本。若費用使用 BNB 支付,先按一致的記帳規則換算後再比較,不要直接把不同資產數字相加。

Maker 費率較低,不等於總成本一定較低

交易總成本至少包含:

  • 明示 Maker/Taker 費用;
  • 買賣價差;
  • 跨多檔成交造成的滑價;
  • 等待期間價格離開帶來的機會成本;
  • 取消重掛或追價造成的執行差異。

如果為了省一小部分 Maker 費把買單掛得太低,最後市場上漲後用更高價格追入,總成本可能遠大於費率差。選擇 Maker 或 Taker 的重點,是價格控制、成交速度與未成交後果的整體取捨。

從委託紀錄與成交紀錄完成驗收

委託送出後,依次核對:

  1. 原始委託數量與限價;
  2. 狀態是 New、Partially Filled、Filled、Canceled 或 Expired;
  3. Executed Quantity 與 Remaining Quantity;
  4. 每一筆 Fill 的價格、數量和時間;
  5. 每一筆 Fill 的 Maker/Taker 角色或對應費率;
  6. Commission 與 Commission Asset;
  7. 加權平均成交價、總費用與淨取得資產;
  8. 剩餘委託是否仍在 Open Orders 占用餘額。

介面名稱可能改版,但「原始委託、逐筆成交、費用、剩餘量」四組資料缺一不可。

部分成交後的決策流程

你的目標 應先做的事 風險
繼續等完整成交 保留剩餘單並監控價格與可用餘額 市場離開、後續成交時間不確定
不再增加部位 取消剩餘單並確認狀態為 Canceled 取消前可能又產生新成交
改價追近市場 先記錄已成交量,再取消重掛剩餘量 失去順位,可能變 Taker 或重複下單
立即建立退出保護 只用實際可用持倉設定數量 原剩餘買單稍後成交會使持倉再增加

取消與新委託之間存在時間差。操作前後都要重新整理成交紀錄,避免用過期數量建立風控。

常見錯誤與修正方式

錯誤 為什麼不對 修正方式
限價單一律按 Maker 費估算 積極限價可以立即吃單 比較限價與 Best Ask/Bid,成交後看 Fill
委託顯示成功就當作全部成交 成功可能只代表已接受 核對 Executed 與 Remaining
用最後成交價當平均價 忽略各 Fill 的不同數量 用成交量加權計算
只看百分比費率 不知道費用資產與實際金額 按每筆成交額計算並查看 Commission Asset
為省費用反覆重掛 不斷失去時間順位 先量化未成交與追價成本
部分成交後按原始數量設 OCO 可賣餘額可能不足 以淨持倉和可用餘額重新設定

完成檢查表

  • 我能從委託是否先留在訂單簿判斷 Maker/Taker。
  • 我知道一張限價單可能先 Taker、剩餘部分再 Maker。
  • 我能區分原始數量、已成交量、剩餘量與實得數量。
  • 我能用逐筆成交算出加權平均價格。
  • 我會按各 Fill 的角色、費率和扣費資產計算總費用。
  • 我會先處理剩餘委託,再按可用持倉建立後續風控。

六項都能完成,才算真正理解這筆委託的執行品質,而不是只知道 Maker 費率可能較低。

延伸閱讀

核對資料

本文說明訂單簿成交與費用核算,不構成投資建議。費率與折扣會變動,實際結果以帳戶成交紀錄及當前費率頁為準。