> ## 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.

# テイクプロフィットとストップロス

> 注文またはポジションに紐づく保護用の注文の、数量の決まり方、ペアの取り消され方、一度しか発動しない理由です。

テイクプロフィットとストップロスは、仕事が1つしかない[条件付き注文](/ja/trading/conditional-orders)です。その仕事とは、価格が指定した水準に達したときにポジションを決済することです。常にリデュースオンリーです。ポジションを建てうる保護用の注文は、保護の正反対だからです。

形式は2つあり、その違いがこのページで最も重要な点です。

<h2 id="attached-to-an-order-or-attached-to-a-position">
  注文に紐づけるか、ポジションに紐づけるか
</h2>

**注文に紐づける場合**。新規注文を出す時点でテイクプロフィットとストップロスを設定します。その注文が約定したときに有効になり、数量はその注文に合わせられます。新規注文が約定前に取り消されれば、保護用の注文も一緒に消えます。

**ポジションに紐づける場合**。すでに保有しているものに対して、ポジションパネルから設定します。対象は数量ではなくポジションそのものです。

この対象の取り方には、はっきり書いておくべき帰結があります。

<Note>
  ポジションに紐づく保護用の注文が決済するのは、**トリガーが発動した時点のポジション**であり、設定した時点の数量ではありません。ポジションを積み増せばストップは増えた数量をカバーし、減らせば減った数量をカバーします。ポジションを変えるたびに設定し直す必要はありません。
</Note>

例外が1つあります。保護用の注文が成行注文ではなく**指値**注文に変換される場合、その数量はトリガー時点で固定されます。それ以降は通常の未約定注文であり、ポジションを追随しなくなります。

<h2 id="configuration">
  設定項目
</h2>

| 選択項目    | 選択肢                                      |
| ------- | ---------------------------------------- |
| トリガー価格  | [マーク価格](/ja/trading/mark-price)または直近約定価格 |
| 生成される注文 | 成行または指値                                  |

保護用の注文のトリガーとしては、マーク価格のほうが安全です。平滑化されていて、直近の約定価格よりはるかに動かしにくいからです。単発の異常な約定でストップアウトされないことが目的である以上、これは重要です。直近約定価格は反応が速く、画面に流れる約定をそのまま追随します。

<h2 id="how-the-pair-cancels">
  ペアの取り消され方
</h2>

テイクプロフィットとストップロスは、一方が成立すれば他方が取り消される関係で結ばれています。正確な挙動は、発動したレッグが完了したかどうかで変わります。

<div className="dg" data-dg="tp-sl-oco">
  <div className="dg-c" style={{aspectRatio:"720 / 306"}}>
    <svg className="dg-w" viewBox="0 0 720 306" aria-hidden="true">
      <path className="dg-wire dg--blue" d="M 154.00 58.00 L 175.60 58.00" />

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

      <path className="dg-wire dg--green" d="M 340.00 58.00 L 367.40 31.45" />

      <path className="dg-head dg--green" d="M 372.00 27.00 L 370.46 34.61 L 364.34 28.29 Z" />

      <path className="dg-wire dg--orange" d="M 340.00 58.00 L 367.94 92.05" />

      <path className="dg-head dg--orange" d="M 372.00 97.00 L 364.54 94.84 L 371.34 89.26 Z" />

      <path className="dg-wire dg--orange" d="M 548.00 128.00 L 548.00 141.60" />

      <path className="dg-head dg--orange" d="M 548.00 148.00 L 543.60 141.60 L 552.40 141.60 Z" />
    </svg>

    <div className="dg-b dg--blue" style={{left:"0.0000%",top:"9.8039%",width:"20.8333%",height:"18.3007%"}}><span className="dg-t">一方のレッグが発動</span></div>
    <div className="dg-b dg--yellow dg-round" style={{left:"25.8333%",top:"8.4967%",width:"20.8333%",height:"20.9150%"}}><span className="dg-t">全量約定したか</span></div>
    <div className="dg-b dg--green" style={{left:"52.2222%",top:"0.0000%",width:"47.7778%",height:"17.6471%"}}><span className="dg-t">もう一方のレッグを取り消し</span><span className="dg-s">ポジション決済、待機中のものは残らない</span></div>
    <div className="dg-b dg--orange" style={{left:"52.2222%",top:"22.8758%",width:"47.7778%",height:"17.6471%"}}><span className="dg-t">もう一方のレッグは有効なまま</span><span className="dg-s">まだポジションを保有しており、保護も必要</span></div>
    <div className="dg-b dg--orange dg-left" style={{left:"52.2222%",top:"49.6732%",width:"47.7778%",height:"20.9150%"}}><span className="dg-t">その後に発動した場合</span><span className="dg-s">未約定の残りを取り消し、このレッグはその時点のポジションに対して発動</span></div>
    <div className="dg-b dg--orange dg-left" style={{left:"0.0000%",top:"49.6732%",width:"47.7778%",height:"20.9150%"}}><span className="dg-t">発動はちょうど一度だけ</span><span className="dg-s">一部決済で再武装することはない</span></div>
    <div className="dg-b dg--sky dg-left" style={{left:"0.0000%",top:"77.7778%",width:"100.0000%",height:"18.3007%"}}><span className="dg-s">発動した成行注文は、手動注文向けの設定に関係なく固定の10%のスリッページ許容度を使います。一部だけ決済されたあとはポジションを確認してください。新しく設定するまで、残ったエクスポージャーは無防備です。</span></div>
  </div>
</div>

**発動したレッグが全量約定した場合**、もう一方は取り消されます。ポジションは決済され、待機中のものは残りません。

**発動して指値注文になったものが約定しなかった場合**、もう一方のレッグは有効なまま残ります。これは想定していない人が多いケースですが、正しい挙動です。まだポジションを保有している以上、保護も必要だからです。その後、相場が2つ目のレッグを発動させるところまで反転すれば、1つ目の未約定注文が取り消され、2つ目のレッグはその時点のポジションに対して発動します。最初の試行とは数量が異なることもあります。

<h2 id="they-fire-once">
  発動は一度だけ
</h2>

保護用の注文が発動するのは**ちょうど一度だけ**です。生成された注文がポジションを完全に決済できなかった場合でも、プロトコルが残りのために再度武装させることは**ありません**。

これが効いてくるのは、発動した成行注文がIOC（即時に約定しなかった分は取り消し）だからです。板が薄ければポジションの一部だけが約定して残りは取り消され、保護が待機していない状態で何かを保有し続けることになります。

一度しか発動しないのは意図的な設計です。注文を吸収しきれなかったばかりの板に対して自動で再武装するということは、一部約定を招いたその流動性不足そのものに向けて、最悪の条件下で繰り返し注文を投げ込むということだからです。

<Warning>
  一部だけ決済されたあとは、ポジションを確認してください。保護用の注文は使い切られており、新しく設定するまで残ったエクスポージャーは無防備です。自動で再発動するプラットフォームとこの取引所との違いのうち、これが最も影響の大きいものです。
</Warning>

<h2 id="slippage-on-a-triggered-market-order">
  発動した成行注文のスリッページ
</h2>

保護用のトリガーから生成される成行注文は、手動注文向けに設定した値に関係なく、**固定の10%のスリッページ許容度**を使います。

理由はこうです。ストップは外に出るために存在します。通常の設定から狭い許容度をそのまま引き継げば、ストップは発動したのに約定せず、抜け出すはずだったポジションに残されることになります。広い上限は、実際に抜け出すことと引き換えに不利な価格を受け入れます。

[成行注文](/ja/trading/market-to-limit)に関するそれ以外の点はすべてそのまま適用されます。マーケットの価格バンドと、板の厚みから導かれる上限価格は、いずれも約定を制限し続けます。

<h2 id="changing-them">
  変更する方法
</h2>

保護用の注文は**その場で編集できません**。トリガー価格や指値価格を変えるには、取り消して新しく作成してください。

取り消してから作り直すまでの間は、保護のない空白時間です。値動きの速い相場では、プラットフォームが許す場合は先に新しい注文を設定するか、空白があることを受け入れたうえで短く抑えてください。

<h2 id="where-to-go-next">
  次に読む
</h2>

<CardGroup cols={2}>
  <Card title="条件付き注文" href="/ja/trading/conditional-orders">
    土台となるトリガーの仕組みと、状態モデルの全体像です。
  </Card>

  <Card title="リデュースオンリー" href="/ja/trading/reduce-only">
    保護用の注文を安全にしている保証です。
  </Card>

  <Card title="マーク価格" href="/ja/trading/mark-price">
    トリガーの基準としてより安全である理由です。
  </Card>

  <Card title="強制決済" href="/ja/trading/liquidations">
    保護が間に合わなかった場合に何が起きるかです。
  </Card>
</CardGroup>
