> ## 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/trading/tx-sequencing)。撤单在撤单阶段运行，先于同一区块内的主动吃单，所以和你的修改请求同时到达的订单，打不掉你那笔过时的报价。

订单有效期会延续下来：改过的订单，有效期不变；替代订单也照它执行。

<h2 id="practical-notes">
  实务提示
</h2>

* **放心缩小。** 成本低廉，也不损失任何优先级。
* **把改价当成一笔新订单**，因为它本来就是。
* **程序化修改，请用[客户端订单 ID](/zh/trading/client-order-id)。** 收到含糊的响应之后，你可以直接确认什么还在，而不是靠推断。
* **要一次改多个字段，就干脆显式地撤单再重下**——结果一样，但失败处理更清晰。

<h2 id="where-to-go-next">
  后续阅读
</h2>

<CardGroup cols={2}>
  <Card title="订单簿" href="/zh/trading/order-book">
    价格-时间优先级如何决定一个档位内的成交顺序。
  </Card>

  <Card title="交易排序" href="/zh/trading/tx-sequencing">
    为什么同一区块内撤单先于主动吃单执行。
  </Card>

  <Card title="客户端订单 ID" href="/zh/trading/client-order-id">
    在收到含糊响应之后确认什么确实存在。
  </Card>

  <Card title="订单类型" href="/zh/trading/order-types">
    订单有效期，以及修改后哪些属性会延续。
  </Card>
</CardGroup>
