> ## 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-it-exists">
  為什麼需要它
</h2>

兩個原因，都重要。

**沖洗買賣。** 和自己交易會製造成交量和成交紀錄，卻不轉移任何風險。這是一種偽造活躍度的手段；在撮合層就把它擋掉，交易場所公布的成交量才反映得出不同參與方之間的真實交易。

**意外自成交。** 更常見，也沒那麼險惡。造市商雙邊報價，或者同一帳戶下同時跑好幾套策略，都很容易和自己的報價成交。沒有防護的話，這會在兩條腿上都產生吃單費率，並且成交之後部位毫無變化。

<h2 id="what-happens">
  會發生什麼
</h2>

撮合器一發現新進訂單要吃掉同一帳戶掛著的流動性，**掛著的那筆訂單就會被撤銷**，新進訂單繼續和訂單簿的其餘部分撮合。

<div className="dg" data-dg="self-trade-prevention">
  <div className="dg-c" style={{aspectRatio:"720 / 274"}}>
    <svg className="dg-w" viewBox="0 0 720 274" aria-hidden="true">
      <path className="dg-wire dg--blue" d="M 144.00 68.00 L 165.60 68.00" />

      <path className="dg-head dg--blue" d="M 172.00 68.00 L 165.60 72.40 L 165.60 63.60 Z" />

      <path className="dg-wire dg--green" d="M 356.00 68.00 L 382.03 35.02" />

      <path className="dg-head dg--green" d="M 386.00 30.00 L 385.49 37.75 L 378.58 32.30 Z" />

      <path className="dg-wire dg--orange" d="M 356.00 68.00 L 381.90 99.08" />

      <path className="dg-head dg--orange" d="M 386.00 104.00 L 378.52 101.90 L 385.28 96.27 Z" />

      <path className="dg-wire dg--blue" d="M 544.00 104.00 L 559.60 104.00" />

      <path className="dg-head dg--blue" d="M 566.00 104.00 L 559.60 108.40 L 559.60 99.60 Z" />
    </svg>

    <div className="dg-b dg--blue" style={{left:"0.0000%",top:"14.5985%",width:"19.4444%",height:"20.4380%"}}><span className="dg-t">新進訂單</span></div>
    <div className="dg-b dg--yellow dg-round" style={{left:"24.4444%",top:"13.1387%",width:"24.4444%",height:"23.3577%"}}><span className="dg-t">會吃到自己掛著的訂單嗎？</span></div>
    <div className="dg-b dg--green" style={{left:"54.1667%",top:"2.1898%",width:"45.8333%",height:"17.5182%"}}><span className="dg-t">正常撮合</span></div>
    <div className="dg-b dg--orange" style={{left:"54.1667%",top:"27.0073%",width:"20.8333%",height:"21.8978%"}}><span className="dg-t">掛著的那筆訂單被撤銷</span></div>
    <div className="dg-b dg--blue" style={{left:"79.1667%",top:"27.0073%",width:"20.8333%",height:"21.8978%"}}><span className="dg-t">你的訂單繼續吃向訂單簿其餘部分</span></div>
    <div className="dg-b dg--green dg-left" style={{left:"0.0000%",top:"67.8832%",width:"48.8889%",height:"22.6277%"}}><span className="dg-t">同一帳戶之內</span><span className="dg-s">始終攔下。沒有開關，也沒有參數可設。</span></div>
    <div className="dg-b dg--orange dg-left" style={{left:"51.1111%",top:"67.8832%",width:"48.8889%",height:"22.6277%"}}><span className="dg-t">子帳戶之間</span><span className="dg-s">不攔 — 設計上它們就是彼此獨立的帳戶。</span></div>
    <div className="dg-free" style={{left:"0.0000%",top:"54.7445%",width:"100.0000%"}}><div className="dg-n">被撤銷的是掛單方，不是吃單方 — 而且帶著一個專門的狀態，讓自動化系統分得開普通撤單。</div></div>
  </div>
</div>

撤銷掛單方而不是吃單方，意味著你剛提交的訂單仍然按你的意圖執行，而擋在它前面的那個過期報價被移走。被撤銷的訂單帶著一個專門的狀態，讓你把自成交撤銷和普通撤銷分得開；這個狀態在任何自動化系統裡都值得呈現出來，因為報價要是因此消失，代表你自己的策略集內部撞在一起了。

<h2 id="scope">
  作用範圍
</h2>

防護作用在**單一帳戶之內**。子帳戶被視為彼此獨立的帳戶，相互之間不受保護。

這是刻意劃出來的邊界，不是疏漏。子帳戶存在的意義就是隔離策略——風險獨立、保證金獨立、帳目獨立。真正相互獨立的策略完全可能合理地站在同一筆交易的兩側，禁止這一點等於讓一個子帳戶的報價悄悄卡住另一個子帳戶的成交。

<Note>
  如果你執行的多個策略絕不能相互成交，就把它們放在同一帳戶下，這樣防護才會生效。如果你的策略之間可能合理地站在對立面，子帳戶才是正確的結構。這件事應該事先決定，不要等到事後才發現。
</Note>

<h2 id="what-it-does-not-do">
  防護不做什麼
</h2>

**不保證你的訂單成交。** 如果那個價位上唯一的流動性正是你自己掛的訂單，撤掉它並不會憑空造出一個對手方：你的訂單會繼續吃向訂單簿，而那裡可能根本沒有對手方。

**擋不住帳戶之間的協同交易。** 防護是撮合層的機制，作用範圍限於單一帳戶。兩個不同帳戶互相成交，撮合器沒辦法把它和普通交易分開。

**撤銷不會減少你的部位。** 被撤銷的掛單是一筆訂單，不是一個部位。你的曝險毫無變化。

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

<CardGroup cols={2}>
  <Card title="撮合" href="/zh-Hant/protocol/architecture/matching">
    這項檢查在區塊執行中的哪個位置運行。
  </Card>

  <Card title="訂單類型" href="/zh-Hant/trading/order-types">
    只掛單訂單，以及它們與你自己掛單之間的互動。
  </Card>

  <Card title="修改訂單" href="/zh-Hant/trading/modify-orders">
    管理報價，又不跟自己交叉。
  </Card>

  <Card title="手續費" href="/zh-Hant/programs/fees">
    一次自成交本來會付出的吃單費率。
  </Card>
</CardGroup>
