> ## 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="why-concentration-is-the-risk">
  为什么集中度才是风险
</h2>

一个市场的未平仓合约量大部分攥在单个账户手里，就有一种特定的失效模式。那个仓位一旦被强制平仓，对手侧没有谁大到吸收得了它——订单簿接不住，保险基金被抽干，缺口传导到[自动减仓](/zh/trading/adl)，于是那些什么错都没犯的交易者，盈利仓位被平掉。

限额的作用，就是不让一个账户的失败变成所有人的失败。

<h2 id="how-the-cap-is-computed">
  上限如何计算
</h2>

$$
\text{上限} = \max\!\left(\text{市场 OI} \times \theta,\; \text{基础限额}\right)
$$

两个组成部分，取较大者。

**份额阈值**把你的上限与市场的实际规模挂钩。未平仓合约量更大的市场能吸收更大的仓位，因此也允许更大的仓位。

**基础限额**是固定下限。没有它，刚上线、几乎没有未平仓合约量的市场，上限会接近于零——没人能建仓，未平仓合约量也就永远长不起来。这条下限让市场能够冷启动。

两项都是按市场配置的参数，基础限额按各市场的深度缩放——市场越深，下限越高。

记基础限额为 $B$、份额阈值为 $\theta$，交叉点落在市场未平仓合约量达到 $B / \theta$ 的地方：

| 市场未平仓合约量        | 由哪一项说了算 | 你的上限                              |
| --------------- | ------- | --------------------------------- |
| 低于 $B / \theta$ | 基础限额    | $B$，市场再长它也不动                      |
| 高于 $B / \theta$ | 份额阈值    | $\text{OI} \times \theta$，跟着市场一起长 |

所以在年轻的市场上，你的上限是平的，相对订单簿还很宽裕；在成熟的市场上，它跟着市场自身的规模走。

<Warning>
  这两个数值，请从你正在交易的那个市场的合约规格里读。它们是链上的按市场参数，市场之间差得很远，还会随上币与风险评审变动——拿别处引用的数字算出来的上限，一定是错的。见[市场](/zh/trading/markets)。
</Warning>

<h2 id="how-many-orders-you-may-have-resting">
  你能同时挂多少笔订单
</h2>

有上限的不只是仓位规模，订单**数量**同样有上限。这个上限按账户计，而且跟着你走：

$$
\text{最大挂单数} = \min\!\left(50 + \frac{\text{余额}}{50},\; 1{,}000 + \frac{\text{累计交易量}}{5{,}000{,}000},\; 5{,}000\right)
$$

两项都以美元计。新账户有 1,000 USDC、没有历史，得到 70；早期由余额项说了算，交易做起来之后交易量项接手，而**硬顶是 5,000**，怎么都不会更高。

还有一条规则，跑自动化策略的人最容易撞上：手上已经挂着 **1,000 笔订单**之后，被归为受限的那些订单类型——只减仓和条件单都在其中——会被拒绝，并给出专门的拒单原因；普通订单则照常接受，直到你的上限为止。用意是：铺满订单簿的策略，不能把平仓所依赖的那份容量耗光。

<Note>
  这是最容易让做市商措手不及的限制之一：订单被拒之前它是看不见的，而且会随你的余额和交易量变动。见[订单被拒绝](/zh/help/order-rejected)。
</Note>

<h2 id="what-counts">
  什么被计入
</h2>

**仓位与未成交订单一起算**。会增加你仓位的挂单计入限额——限额如果不管挂单，靠“先挂单再等待”就能绕过去。

**分侧计算**。多头与空头敞口分别度量。

**跨子账户合并**。同一所有者名下的子账户合并计算。把仓位拆到多个子账户抬不高上限——在市场看来集中度完全一样，而限额存在的意义正是防止集中。

**市场未平仓合约总量包含双边**。分母是整个市场，不是其中一侧。

<h2 id="what-happens-at-the-limit">
  触及限额时会发生什么
</h2>

<div className="dg" data-dg="oi-limit-check">
  <div className="dg-c" style={{aspectRatio:"720 / 308"}}>
    <svg className="dg-w" viewBox="0 0 720 308" aria-hidden="true">
      <path className="dg-wire dg--blue" d="M 172.00 58.00 L 203.60 58.00" />

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

      <path className="dg-wire dg--green" d="M 414.00 58.00 L 460.28 34.86" />

      <path className="dg-head dg--green" d="M 466.00 32.00 L 462.24 38.80 L 458.31 30.93 Z" />

      <path className="dg-wire dg--orange" d="M 414.00 58.00 L 461.02 95.98" />

      <path className="dg-head dg--orange" d="M 466.00 100.00 L 458.26 99.40 L 463.79 92.56 Z" />
    </svg>

    <div className="dg-band" style={{left:"0.0000%",top:"63.6364%",width:"100.0000%",height:"36.3636%"}}><span className="dg-cap">上限按什么度量</span></div>
    <div className="dg-b dg--blue" style={{left:"0.0000%",top:"9.7403%",width:"23.3333%",height:"18.1818%"}}><span className="dg-t">会增加敞口的订单</span></div>
    <div className="dg-b dg--yellow dg-round" style={{left:"29.7222%",top:"9.7403%",width:"27.2222%",height:"18.1818%"}}><span className="dg-t">会推过上限吗？</span></div>
    <div className="dg-b dg--green" style={{left:"65.2778%",top:"2.5974%",width:"34.7222%",height:"15.5844%"}}><span className="dg-t">接受</span></div>
    <div className="dg-b dg--orange" style={{left:"65.2778%",top:"24.6753%",width:"34.7222%",height:"15.5844%"}}><span className="dg-t">提交时拒绝</span><span className="dg-s">并给出原因</span></div>
    <div className="dg-b dg--green dg-left" style={{left:"0.0000%",top:"40.2597%",width:"56.9444%",height:"15.5844%"}}><span className="dg-s">只减仓或平仓订单从不检查 — 永远接受</span></div>
    <div className="dg-b dg--sky" style={{left:"2.2222%",top:"72.0779%",width:"30.7407%",height:"21.4286%"}}><span className="dg-t">仓位与挂单一起算</span><span className="dg-s">可能变成仓位的订单都算</span></div>
    <div className="dg-b dg--sky" style={{left:"34.6296%",top:"72.0779%",width:"30.7407%",height:"21.4286%"}}><span className="dg-t">多头与空头，分侧计算</span><span className="dg-s">每一侧有自己的上限</span></div>
    <div className="dg-b dg--sky" style={{left:"67.0370%",top:"72.0779%",width:"30.7407%",height:"21.4286%"}}><span className="dg-t">子账户，合并计算</span><span className="dg-s">把仓位拆开抬不高上限</span></div>
  </div>
</div>

会把你推过上限的订单，提交时就被拒绝，并给出明确原因。减少敞口的订单永远接受。

你的上限不是固定的。市场未平仓合约量增长，上限跟着上升；未平仓合约量急剧收缩，已有仓位就可能高过已经降下来的上限。不会因此强平任何仓位——只是在回到上限之下以前，你加不了仓。

<h2 id="reading-the-live-values">
  实时取值从哪里读
</h2>

本页的每一个数字都是链上的按市场配置，不是协议常量。驱动它们的参数：

| 参数                   | 决定       |
| -------------------- | -------- |
| `oi_ratio_limit_ppm` | 份额阈值     |
| `base_oi_limit_usd`  | 基础限额这条下限 |

它们发布在各市场的[合约规格](/zh/trading/markets)里，也可以直接从链上读。集成如果把它们写死，迟早会算出一个网络并没有在用的数字——见[开发者](/zh/developers/overview)。

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

<CardGroup cols={2}>
  <Card title="自动减仓" href="/zh/trading/adl">
    持仓限额存在的意义，就是让这个结果更不容易发生。
  </Card>

  <Card title="杠杆" href="/zh/trading/leverage">
    规模档位，另一项随仓位大小缩放的约束。
  </Card>

  <Card title="市场" href="/zh/trading/markets">
    各市场的份额阈值与基础限额。
  </Card>

  <Card title="强制平仓" href="/zh/trading/liquidations">
    当一个大仓位真的失守时会发生什么。
  </Card>
</CardGroup>
