> ## 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="two-paths">
  兩條路徑
</h2>

<div className="dg" data-dg="modify-paths">
  <div className="dg-c" style={{aspectRatio:"720 / 360"}}>
    <svg className="dg-w" viewBox="0 0 720 360" aria-hidden="true">
      <path className="dg-wire dg--blue" d="M 144.00 58.00 L 165.60 58.00" />

      <path className="dg-head dg--blue" d="M 172.00 58.00 L 165.60 62.40 L 165.60 53.60 Z" />

      <path className="dg-wire dg--green" d="M 330.00 58.00 L 355.24 35.28" />

      <path className="dg-head dg--green" d="M 360.00 31.00 L 358.19 38.55 L 352.30 32.01 Z" />

      <path className="dg-wire dg--orange" d="M 330.00 58.00 L 356.76 103.48" />

      <path className="dg-head dg--orange" d="M 360.00 109.00 L 352.96 105.71 L 360.55 101.25 Z" />
    </svg>

    <div className="dg-band" style={{left:"0.0000%",top:"47.7778%",width:"100.0000%",height:"26.6667%"}}><span className="dg-cap">這裡的「數量」指剩餘數量</span></div>
    <div className="dg-b dg--blue" style={{left:"0.0000%",top:"8.3333%",width:"19.4444%",height:"15.5556%"}}><span className="dg-t">修改請求</span></div>
    <div className="dg-b dg--yellow dg-round" style={{left:"24.4444%",top:"7.2222%",width:"20.8333%",height:"17.7778%"}}><span className="dg-t">改了什麼？</span></div>
    <div className="dg-b dg--green dg-left" style={{left:"50.5556%",top:"0.0000%",width:"49.4444%",height:"17.2222%"}}><span className="dg-t">僅減少數量</span><span className="dg-s">原地修改 — 保留佇列位置</span></div>
    <div className="dg-b dg--orange dg-left" style={{left:"50.5556%",top:"21.6667%",width:"49.4444%",height:"17.2222%"}}><span className="dg-t">更改價格，或增加數量</span><span className="dg-s">先撤單，再下新單 — 佇列位置消失</span></div>
    <div className="dg-b dg--sky" style={{left:"2.2222%",top:"53.3333%",width:"30.7407%",height:"15.5556%"}}><span className="dg-t">數量 10、已成交 4 的訂單，剩餘 6</span></div>
    <div className="dg-b dg--sky" style={{left:"34.6296%",top:"53.3333%",width:"30.7407%",height:"15.5556%"}}><span className="dg-t">改成 5 — 減少</span></div>
    <div className="dg-b dg--sky" style={{left:"67.0370%",top:"53.3333%",width:"30.7407%",height:"15.5556%"}}><span className="dg-t">改成 8 — 增加，儘管比最初的 10 小</span></div>
    <div className="dg-b dg--orange dg-left" style={{left:"0.0000%",top:"80.0000%",width:"100.0000%",height:"15.5556%"}}><span className="dg-t">撤單重下這條路徑有先後，但不是原子的</span><span className="dg-s">只有撤單成功才會嘗試下新單，而新單仍可能因保證金失敗 — 結果是原訂單被撤銷，你卻沒有掛單在場上。</span></div>
  </div>
</div>

**減少數量走原地修改。** 訂單留在訂單簿原來的位置，優先順序也留著。沒有撤單，也沒有重新下單。

**其他所有改動都是先撤單再下新單。** 改價確實保不住你的位置：不同的價格就是訂單簿上不同的位置。增加數量則是另一回事——新增的那部分數量本來就沒排過隊，但已經掛著的那部分排過。目前不論如何都是整筆訂單重新下過，所以增加數量，連你在原有數量上已經排到的優先順序也一併賠掉。

這樣的劃分是刻意的，也和那些把每一次修改都當成撤單重下的場所不同。把訂單縮小，要的嚴格小於你已經拿到優先順序的那一部分，沒有理由為此讓你付出代價。

<h2 id="why-queue-position-matters">
  佇列位置為什麼重要
</h2>

在某個價格檔位上，訂單按到達順序成交。排在檔位前面的訂單先於後面的成交；而在一個繁忙的檔位上，排最前面和排最後面的差別，就是成交和眼看著行情走掉的差別。

對造市商來說，這就是全部。縮小數量來管理風險、位置還留著，跟不得不重新排到那些在你猶豫時才到的人後面，是本質不同的兩件事。

<h2 id="what-size-means-here">
  這裡的「數量」指什麼
</h2>

數量比較用的是**剩餘數量**，不是你最初提交的數量。

一筆數量 10、已成交 4 的訂單，剩餘 6。改成 5 是減少，走原地修改；改成 8 就是相對於 6 的增加，儘管 8 比最初的 10 小，還是走撤單重下。

<h2 id="the-cancel-and-replace-path-can-partially-fail">
  撤單重下這條路徑可能部分失敗
</h2>

一次修改走上撤單重下這條路徑時，兩個步驟有先後，但不是原子的：

* **只有撤單成功，才會嘗試下新單。** 你不會同時擁有兩筆。
* **新單仍然可能失敗**，最常見的是保證金原因，因為市場可能在兩步之間走掉了。

也就是說，有一種結果是可能的、也值得預先規劃：**原訂單被撤銷，而替代訂單並不存在。** 你不會被重複成交，但你也沒有掛單在場上。

<Warning>
  有時效性的操作，一律不要假定修改已經成功。在按「你在那個檔位上仍有有效訂單」行事之前，先確認產生的訂單確實存在。
</Warning>

<h2 id="timing">
  時機
</h2>

原地減少數量在**當前區塊**內生效，不必等。

更改價格和增加數量走兩步路徑，並與任何撤單、任何新訂單適用同一套[排序規則](/zh-Hant/trading/tx-sequencing)。撤單在撤單階段執行，先於同一區塊內的主動吃單；正因如此，和你的修改請求同時到達的訂單，打不掉你那筆過時的報價。

訂單有效期會延續：修改後的訂單保持相同的訂單有效期，對替代訂單一樣生效。

<h2 id="practical-notes">
  實務提示
</h2>

* **放心縮小。** 成本低廉，也不損失任何優先順序。
* **把改價當成一筆新訂單**，因為它本來就是。
* **程式化修改就用[用戶端訂單 ID](/zh-Hant/trading/client-order-id)。** 收到含糊的回應之後，你可以直接確認什麼確實存在，不必用推的。
* **一次要改動好幾個欄位，就明確地撤單再重下**：結果一樣，但失敗處理更清晰。

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

<CardGroup cols={2}>
  <Card title="訂單簿" href="/zh-Hant/trading/order-book">
    價格優先、時間優先如何決定一個檔位內的成交順序。
  </Card>

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

  <Card title="用戶端訂單 ID" href="/zh-Hant/trading/client-order-id">
    在收到含糊回應之後確認什麼確實存在。
  </Card>

  <Card title="訂單類型" href="/zh-Hant/trading/order-types">
    訂單有效期，以及修改後哪些屬性會延續。
  </Card>
</CardGroup>
