三つの形
同じトリガー機構が三つの異なる意図に使われます。違いは、何に紐づいているかです。
三つ目は、最も注文らしくない挙動をします。数量ではなくポジションにスコープが張られているため、ポジションのサイズが変われば、それに追随します。テイクプロフィットとストップロスを参照してください。
発動の仕組み
条件付き注文が発動するタイミングは、二つの要素で決まります。どの価格を監視するか、ブロックのどこでその判定が走るかです。 どの価格か。トリガーはマーク価格か最終取引価格のいずれかを監視できます。マーク価格は平滑化されていて動かしにくいため、保護目的の注文には安全な既定値です。最終価格は反応が速く、実際に約定として流れる価格に近いので、それを求める戦略もあります。選択は注文ごとに行います。 ブロック内のどこか。条件付き注文はマッチングの前にスキャンされ、ブロック開始時点で確定したマーク価格を使います。このブロックの価格で発動した注文は、次のブロックではなくこのブロックで有効な注文になります。優先順位の全体像はトランザクションの順序付けを参照してください。トリガーが監視するのはどちらか
マーク価格平滑化され動かしにくい。安全な既定値
直近約定価格反応が速く、画面に流れる約定に近い
トリガーストアで待機列の位置も板の厚みも占めない
条件は成立したか
成行または指値注文に変換
同じブロックでマッチング
走査はマッチングの前に、ブロック開始時点で固定されたマークに対して行われます。
未成立。次のブロックで再判定
注文どうしの連動
条件付き注文が単独で使われることはまれです。連動のパターンは三つあり、それぞれ取り消しの意味づけが異なります。 テイクプロフィットとストップロスは互いを取り消します。保護のペアはOCO、つまり一方が成立すればもう一方を取り消す関係です。いずれかのレッグが発動すれば、もう一方は自動的に取り消されます。ポジションを閉じたのに有効なストップだけが残る、ということは起こりません。 注文に紐づけたペアは親注文に追随します。発注する注文にテイクプロフィットとストップロスを付けた場合、そのペアは親注文が約定するまで有効になりません。親注文が約定前に取り消されれば、紐づいたレッグも一緒に消えます。 ポジションに紐づけたペアはポジションに追随します。自分の注文、強制決済、デレバレッジのいずれでポジションがクローズされても、そこに紐づいた保護注文は取り消されます。保護対象があるから存在する注文であり、対象が消えれば注文も消えます。連携実装が最も間違えるのはここです。保護対象のポジションより長生きしたストップは、次にトリガーが成立した時点で、反対方向に新しいポジションを建ててしまいます。これを防ぐのが連動であり、注文を出したクライアントではなくプロトコル側が強制します。
注文の状態
条件付き注文は定義された状態のあいだを遷移し、遷移はすべて観測可能なプロトコルイベントになります。
意外に思われるのは変換時の拒否です。注文が受理され、何時間も待ち、正しく発動しても、そこで失敗することがあります。条件は発注時だけでなく変換の瞬間にも再チェックされるからです。証拠金が足りなくなっているかもしれません。リデュースオンリーの条件付き注文なら、減らすべきポジションが残っていないかもしれません。トリガーは確かに成立しましたが、そこから生まれた注文が生き延びられなかった、ということです。
発注時と変換時のチェック
異なる二組のルールが、異なる二つのタイミングで適用されます。 発注時、プロトコルはトリガー価格が指定された方向として筋が通っているか(即座に発動するストップロスは戦略ではなくミスです)、トリガーが現在価格から許容される範囲内にあるかを確認します。未約定注文の件数上限とレート制限もここで適用されます。 変換時には、その瞬間のポジションに対して証拠金の充足が再評価され、リデュースオンリーの制約も再チェックされます。条件付きの成行注文には、通常の成行注文と同じスリッページ保護がかかります。成行注文とスリッページ保護を参照してください。次に読む
テイクプロフィットとストップロス
二つの保護の形と、ポジションが変わったときの挙動です。
マーク価格
保護目的のトリガーが監視すべき価格と、それが平滑化されている理由です。
トランザクションの順序付け
トリガーの走査が、取り消しや新規注文とどう並ぶのかです。
注文タイプ
条件付き注文の変換先になる注文タイプです。