> ## Documentation Index
> Fetch the complete documentation index at: https://docs.intention.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# 訂單簿

> 訂單簿如何組織；「時間」指的是區塊內位置時，「價格優先、時間優先」意味著什麼；以及提交訂單前如何讀懂深度。

每個市場都有一個中央限價訂單簿：所有掛著的買單在一側，所有掛著的賣單在另一側，按價格排序。當一筆新進訂單跨過兩側之間的缺口時，成交就發生了。

訂單簿在鏈上。它的狀態就是已提交鏈上狀態的一部分，所以所有人面對的是同一個訂單簿，任何節點都能精確重建它在任意區塊時的樣子。

<h2 id="structure">
  結構
</h2>

<div className="dg" data-dg="order-book-ladder">
  <div className="dg-c" style={{aspectRatio:"720 / 318"}}>
    <svg className="dg-w" viewBox="0 0 720 318" aria-hidden="true" />

    <div className="dg-band" style={{left:"0.0000%",top:"40.2516%",width:"55.0000%",height:"15.0943%"}}><span className="dg-cap">價差</span></div>
    <div className="dg-b dg-plain" style={{left:"55.8333%",top:"27.9874%",width:"10.8333%",height:"10.0629%"}}><span className="dg-s dg-ink--orange">最佳賣價</span></div>
    <div className="dg-b dg-plain" style={{left:"1.9444%",top:"43.3962%",width:"51.1111%",height:"10.0629%"}}><span className="dg-t">50,000 − 49,950 = 50</span><span className="dg-s">中間價 49,975</span></div>
    <div className="dg-b dg-plain" style={{left:"55.8333%",top:"66.3522%",width:"10.8333%",height:"10.0629%"}}><span className="dg-s dg-ink--green">最佳買價</span></div>
    <div className="dg-b dg--orange dg-left" style={{left:"68.0556%",top:"25.7862%",width:"31.9444%",height:"44.0252%"}}><span className="dg-t">一筆 1.0 的市價買單</span><span className="dg-s">0.2 成交在 50,000<br />0.3 成交在 50,100<br />0.5 成交在 50,200</span><span className="dg-n">平均 ≈ 50,130，不是盤口顯示的<br />50,000。這段差額正是市價單<br />不會擺在你面前的成本。</span></div>
    <div className="dg-free" style={{left:"0.0000%",top:"0.0000%",width:"33.3333%"}}><div className="dg-n dg-ink--orange">賣單 — 賣方</div></div>
    <div className="dg-free" style={{left:"0.0000%",top:"59.7484%",width:"33.3333%"}}><div className="dg-n dg-ink--green">買單 — 買方</div></div>
    <div className="dg-bar" style={{left:"0.0000%",top:"7.5472%",width:"55.0000%",height:"8.1761%"}}><span className="dg-bar-lead" style={{width:"15.6566%"}}>50,200</span><span className="dg-bar-track"><span className="dg-bar-fill dg--orange" style={{left:"0%",width:"41.667%"}} /></span><span className="dg-bar-trail">0.5</span></div>
    <div className="dg-bar" style={{left:"0.0000%",top:"18.2390%",width:"55.0000%",height:"8.1761%"}}><span className="dg-bar-lead" style={{width:"15.6566%"}}>50,100</span><span className="dg-bar-track"><span className="dg-bar-fill dg--orange" style={{left:"0%",width:"25.000%"}} /></span><span className="dg-bar-trail">0.3</span></div>
    <div className="dg-bar" style={{left:"0.0000%",top:"28.9308%",width:"55.0000%",height:"8.1761%"}}><span className="dg-bar-lead" style={{width:"15.6566%"}}>50,000</span><span className="dg-bar-track"><span className="dg-bar-fill dg--orange" style={{left:"0%",width:"16.667%"}} /></span><span className="dg-bar-trail">0.2</span></div>
    <div className="dg-bar" style={{left:"0.0000%",top:"67.2956%",width:"55.0000%",height:"8.1761%"}}><span className="dg-bar-lead" style={{width:"15.6566%"}}>49,950</span><span className="dg-bar-track"><span className="dg-bar-fill dg--green" style={{left:"0%",width:"33.333%"}} /></span><span className="dg-bar-trail">0.4</span></div>
    <div className="dg-bar" style={{left:"0.0000%",top:"77.9874%",width:"55.0000%",height:"8.1761%"}}><span className="dg-bar-lead" style={{width:"15.6566%"}}>49,900</span><span className="dg-bar-track"><span className="dg-bar-fill dg--green" style={{left:"0%",width:"50.000%"}} /></span><span className="dg-bar-trail">0.6</span></div>
    <div className="dg-bar" style={{left:"0.0000%",top:"88.6792%",width:"55.0000%",height:"8.1761%"}}><span className="dg-bar-lead" style={{width:"15.6566%"}}>49,800</span><span className="dg-bar-track"><span className="dg-bar-fill dg--green" style={{left:"0%",width:"100.000%"}} /></span><span className="dg-bar-trail">1.2</span></div>
  </div>
</div>

**最佳買價**是買方願意支付的最高價。**最佳賣價**是賣方願意接受的最低價。兩者之間的缺口是**價差**，中點是**中間價**，多處拿它當參考，包括[資金費率](/zh-Hant/trading/funding)的溢價部分。

**深度**是每個價位上掛著的數量。它決定你的訂單是在盤口附近成交，還是一路吃到更差的價格。

<h2 id="priority">
  優先順序
</h2>

訂單按**價格優先，其次時間優先**成交。

價格很直白：出價更高的買方，排在出價更低的前面。時間才是這裡與多數交易場所不同的地方。

**「時間」指你的訂單在已提交區塊序列中的位置，不是它到達某個節點的時刻。**

同一區塊內的兩筆訂單有先後次序，而這個次序每個驗證者都能從共識已確定的資料裡算出來，結果完全相同。再近的網路距離也改變不了它。區塊之間，到達時間仍然重要；區塊之內，微秒級的競賽不存在。

[排序規則](/zh-Hant/trading/tx-sequencing)進一步強化了這一點：同一區塊內撤單先於主動吃單執行，因此過期報價可以撤回，不會被跟撤單同時到達的訂單吃掉。

<h2 id="reading-depth-before-you-submit">
  提交前先讀深度
</h2>

你看到的報價是最佳買價和最佳賣價。如果你的訂單大於掛在那裡的數量，它們**不是**你能拿到的價格。

沿著上面那張訂單簿的賣單側往下走：

| 檔位 |     價格 |  數量 |  累計 |
| -- | -----: | --: | --: |
| 1  | 50,000 | 0.2 | 0.2 |
| 2  | 50,100 | 0.3 | 0.5 |
| 3  | 50,200 | 0.5 | 1.0 |

一筆 0.2 的市價買單全部在 50,000 成交。一筆 1.0 的市價買單會吃穿三檔——平均價格約 50,130，而不是盤口顯示的 50,000。

這就是為什麼[市價單](/zh-Hant/trading/market-to-limit)帶有一個界限，由你的數量實際會消耗的深度推導出來；也是為什麼把大單拆到[時間](/zh-Hant/trading/twap)或[價格](/zh-Hant/trading/scale-orders)維度上，通常比一次吃掉更便宜。

<Note>
  在提交任何相對訂單簿偏大的訂單前，有個習慣值得養成：算出你的數量會觸及的最差價格，而不只是看盤口。這兩個數字之間的差，就是市價單隱藏起來的成本。
</Note>

<h2 id="prices-are-integers">
  價格是整數
</h2>

訂單簿價格是該市場**最小價格變動單位**（tick size）的整數倍，數量是**最小數量變動單位**（lot size）的整數倍。執行路徑上沒有浮點數——兩個節點之間只要有一個捨入差異，就是一次分叉。參見[精度](/zh-Hant/trading/precision)。

<h2 id="what-the-book-does-not-show">
  訂單簿看不到什麼
</h2>

**條件單不在訂單簿上。** 停損、停利以及其他[條件單](/zh-Hant/trading/conditional-orders)存放在另一個盯著價格的儲存區。在觸發之前，它們不佔佇列位置，也不貢獻深度。

實際後果是：在快速變動的市場裡，真實深度可能比訂單簿顯示的更薄，因為價格穿過一簇觸發價，會把一批看不見的訂單同時變成真實訂單——而且全都在同一側。

<h2 id="where-to-go-next">
  後續閱讀
</h2>

<CardGroup cols={2}>
  <Card title="訂單類型" href="/zh-Hant/trading/order-types">
    你能往訂單簿上放什麼，以及什麼會掛著、什麼會吃掉流動性。
  </Card>

  <Card title="市價單" href="/zh-Hant/trading/market-to-limit">
    由深度推導出的界限如何保護一筆市價單。
  </Card>

  <Card title="交易排序" href="/zh-Hant/trading/tx-sequencing">
    為什麼同一區塊內撤單勝過主動吃單。
  </Card>

  <Card title="撮合" href="/zh-Hant/protocol/architecture/matching">
    訂單簿在核心中如何組織與走訪。
  </Card>
</CardGroup>
