取引ブロック

取引ブロック

Order ブロック

Order ブロックは、取引所に買注文や売注文を発注する取引ブロックです。ブロックの [ブロックプロパティ] パネルで、注文の詳細をすべて指定できます。選択した注文タイプに応じて、様々な入力セットを指定します。

プロパティが「買い」に設定された Order ブロックは、注文を発注するための限月、価格、枚数データを受信し、注文を有効化または無効化するためのブール値データを受信します。注文が市場に発注されると、注文ブロックは約定待ち注文の枚数を出力します。注文が約定すると、注文ブロックは約定に関するデータを含んだ離散メッセージを出力します。

ブロックは、その注文に対して受信した約定数を追跡し、qty 入力ポートで指定された合計注文枚数から約定数を減算することで、wrk qty 出力ポートの値を減少させます。

公開枚数を含んだ注文の場合、wrk qty 出力ポートは、disc qty 入力ポートで指定されたものと同等かそれ以下になります。

ユーザが Order ブロックによって生成された注文を手動で削除や変更する場合、ユーザーに対する制御は放棄されますが、注文執行のための離散イベント メッセージはまだ生成されます。具体的には、Order ブロックは左側の入力を無視しますが、右側の出力に対して値を生成します。ユーザーがアルゴリズムを一時停止して再開する場合、Order ブロックは、管理注文を再び検出して、再び制御を取ろうとします。注文を検出できない場合、Order ブロックは、これまでに達成した注文数をユーザー指定の入力数と比較し、残りの枚数に対して新しい注文を発注します。

注文ブロックの入力

注文ブロックに必要な入力数と種類は、選択した注文タイプによって決定されます。

注文タイプ

  1. 指値注文 (Limit)
  2. 成行注文 (Market)
  3. アイスバーグ 注文
  4. ストップ指値注文 (Stop Limit)
  5. ストップ成行注文 (Stop Market)

選択した注文タイプに基づいて、Order ブロックは以下のブロック入力を公開します。

  • inst: 注文ブロックで取引される限月を特定します。

  • price: 注文を発注する価格を示します。

  • qty: 合計注文枚数を示します。

  • on/off: ブーリアン条件に基づいて注文を執行するかどうかを制御します。

    この True/False 入力が提供されると、入力値が TRUE から FALSE に変化すると、Order ブロックは約定待ち注文を削除します。Order ブロックは、値が FALSE から TRUE に変化すると、新しい注文を追加します。

  • disc qty: アイスバーグ注文に使用する公開枚数を示します。

    これが入力されると、Order ブロックは取引所が認識する公開枚数タグを含んだ指値注文や成行注文を発注します。承認されると、取引所は合計注文枚数を入力枚数として認めますが、一度に指定された枚数のみを公開します。公開枚数が入力枚数より大きい場合、取引所は入力枚数を合計注文枚数として認識します。

  • trigger: ストップ注文にトリガー値を指定します。

    • Order ブロックが買注文を発注するように設定している場合、ストップトリガー価格を、その限月の直近値より大きくする必要があります。売注文の場合、ストップ トリガーは直近値より小さくする必要があります。
    • 注文ブロックが買注文を発注するように設定している場合、価格入力はストップ トリガー以上にする必要があり、売注文の場合、価格入力はストップ トリガー以上にする必要があります。

注文ブロックの入力

  • wrk qty: 市場でまだ約定待ちの注文枚数が表示されます。

    ストップ成行注文とストップ指値注文の場合、ストップ注文がトリガーされるまでポートは 0 を出力し、その時点でポートは注文枚数を出力します。

  • Add Req: 取引所に送信した新規の注文にアクセスできます。

  • Add OK: 取引所から受信した新規の注文の確認にアクセスできます。

  • Chg Req: 取引所に送信した新規の注文にアクセスできます。

  • Chg OK: 取引所から受信した確認や、変更済みの注文にアクセスできます。

    ストップ成行注文とストップ指値注文の場合、ストップ注文がトリガーされると、このポートを通じて送信される離散メッセージにより、isTriggered メッセージ欄が TRUE に設定されます。

  • Del Req: 取引所に送信した注文の取消要求にアクセスできます。

  • Del OK: 取引所から受信した取消注文確認にアクセスできます。

  • fills: 約定確認にアクセスできます。

Autospreader スプレッドで執行される注文ブロックの場合、出力は以下のように変化します。

  • wrk qty: 市場でまだ約定待ちしているスプレッド注文の枚数が表示されます。

    ストップ成行注文とストップ指値注文の場合、ストップ注文がトリガーされるまでポートは 0 を出力し、その時点でポートは注文枚数を出力します。

  • Add Req: 取引所に送信した新規のスプレッド要求にアクセスできます。

  • Add OK: 新規スプレッド確認の離散イベント メッセージにアクセスできます。

  • Chg Req: 取引所に送信したスプレッド変更要求にアクセスできます。

  • Chg OK: 新規スプレッド更新確認の離散イベント メッセージにアクセスできます。

    ストップ成行注文とストップ指値注文の場合、ストップ注文がトリガーされると、このポートを通じて送信される離散メッセージにより、isTriggered メッセージ欄が TRUE に設定されます。

  • Del Req: 取引所に送信したスプレッドの取消要求にアクセスできます。

  • Del OK: スプレッド取消確認の離散イベント メッセージにアクセスできます。

  • Hedge Add OK: Algo Server がスプレッドのヘッジ注文を正常に送信した際に、生成される離散イベント メッセージにアクセスできます。

  • Quote Fills: スプレッドのクォート レッグの約定メッセージにアクセスできます。

  • Hedge Fills: スプレッドのヘッジ レッグの約定メッセージにアクセスできます。

  • fills: スプレッド約定メッセージにアクセスできます。

ブロック プロパティ

ブロックをカスタマイズするには、[Block Properties] を更新します。

プロパティ 説明
名前 ADL キャンバスのブロックの下に表示される名前。
Type (タイプ)

発注する取引所固有の注文のタイプ。

次の項目を選択できます。

  • Limit (指値)
  • Market (成行)
  • Iceberg (アイスバーグ)
  • StopLimit (ストップ指値)
  • StopMarket (ストップ成行)

取引所によりネイティブ サポートされていないタイプを選択すると、注文は拒否されます。

Side (売買側) 注文が買注文または売注文のいずれであるかを示します。
TIF (有効期限)

市場で約定待ち中の生成済みの注文を残す期間を示します。

次の項目を選択できます。

  • [Day] は、取引セッションの最後まで約定待ち注文を残します。
  • [GTC] は、手動で取り消すまで約定待ち注文を残します。
  • [IOC] は、即時に約定しなかった場合に注文の残枚数を取り消します。
  • [FOK] は、即時に完全約定しなかった場合に注文を取り消します。
Flip for Sell Order (フリップ フォー セル注文)

必要に応じて1つのアルゴリズムが買側または売側として機能できるように設定するかどうか。

ADL の自動ストラテジーの多くは、「ピボット」ポイントなどの特定のブロックの動作をもつ、ほぼ同一の買側と売側の方法を使用します。1つのアルゴリズムを有効化し、必要に応じて買側と売側の動作を行うため、ADL の幾つかのブロックに 「Flip For Sell Orders」 のオプションが含まれています。ユーザーが [Order Side] 変数 (買または売) を選択するかどうかによって、このオプションで代わりの機能を実行できるようになります。

[Order Side] 変数は、「Flip For Sell Orders」機能が有効化されているブロックを含むすべてのアルゴリズムに対し自動的に表示され、ユーザーはアルゴリズムを起動する前に子の変数を設定する必要があります。この機能が有効化されている場合、[Order Side] 変数の選択内容に基づいて、[Discrete Order] ブロックは、買注文または売注文のいずれかを発注します (詳細は「Flip For Sell Orders 機能」を参照してください)。

Autospreader

ブロックが Autospreader 注文を管理するかどうか。

これが有効の場合、Order ブロックは 追加の出力を表示し、スプレッド レッグの操作にアクセスできるようにします。

When Ext Mod Occurs (外部変更の発生時)

注文がアルゴリズム外で変更された場合に取る操作。

  • [Ignore] は、ブロック入力を使用し続けて、外部変更を無視します。
  • [StopManaging] は、ブロック入力を無視して、代わりに外部の変更を使用します。
  • [Detach] は、ブロック入力を無視して、ブロック出力の送信を中止します。
Leave Child Order On (子注文を残す)

アルゴリズムが停止または取消されても、[Discrete Order] ブロックにより生成された注文が注文ブロックに残存する必要があるかどうかを示します。

クライアント側の接続の損失により、停止の状態となる可能性があります。

Ignore Inputs After Add (追加後に入力を無視)

入力で変更を無視するかどうかを示します。

このオプションが有効の場合、Order ブロックは注文の発注時にのみ入力を考慮します。注文が一度発注され約定待ちをしていると、Order ブロックは入力の変更を無視します。事実上、このオプションを有効にすると、Order ブロックは「1ショット」注文を提出するよう指示されます。一方、このオプションが有効でない場合は、Order ブロックは約定待ち注文を修正し続けて入力の変更を反映させようとします (入力は動的である可能性があることに注意してください)。

  • 限月の入力が変更されると、ブロックは現在約定待ちの注文を取り消して、指定された限月に関連する新しい注文を追加します。
  • 価格または枚数の入力が変更されると、ブロックは現在約定待ちの注文を修正します。
  • オン/オフ入力が変更されると、ブロックは、入力が FALSE になったときに現在の約定待ち注文を取り消して、入力が TRUE に戻ったときに新しい注文を追加します。
  • ストップ トリガーまたは公開枚数の入力が変更された場合、指定されたストップ トリガーや公開枚数が承認の条件を満たしている限り、ブロックは現在の約定待ち注文を修正します。
Submit in Suspended State (保留状態での発注)

市場に注文を発注するか、保留にするかを示します。

これが有効の場合、注文は保留注文として発注されます。保留注文は、発注されるか取り消されるまでこの状態を保ちます。詳細については、[Trade] ヘルプの 保留での注文の発注を参照してください。

AutoResubmit (自動再発注)

現在の約定待ち注文が取消されるたびに、新しい注文を再発注するかどうかを示します。

有効の場合、新規注文は OrderQty-FillQty の注文枚数で発注されます。事実、このオプションを有効にすると、必要なときに新しい注文を発注するように Order ブロックに指示し、ユーザーが指定した内容を最終的に達成させようとします。このオプションが無効の場合は、Order ブロックは、アルゴリズムの寿命の間に、1つの注文を発注することが許可されます。このオプションが有効か無効かにかかわらず、ユーザーが手動で取り消しを行うと、Order ブロックはユーザーに制御を委ねることになるので注意してください。

ブロックの オン/オフ 入力ポートはその時点で FALSE であり、Order ブロックは TRUE に変わるまで待機して、新規の注文を発注します。

コネクター

選択したイベントを表示する追加の出力ポート。

  • 要求の追加
  • 追加済み
  • 変更の要求
  • 変更済み
  • 取消の要求
  • 取消済み
注文タグ

[Discrete Order] ブロックから生成された注文の [Fills] ウィジェットの [Order Tag] 列に表示するカスタム テキスト。[Algo Dashboard] の インスタンス名でアルゴが起動されると、すべての子の [TextTT] 欄は、親注文の [TextTT] 欄で連結されます。

例えば、この値を [OT123] に設定し、以下のように [Algo Dashboard] から起動します。

アルゴの親注文の [TextTT] 欄は [MM 3x10] に設定されます。このアルゴにより発注された各子注文の [TextTT ] 欄は、[MM 3x10:OT123] に設定されます。

各注文にテキストを割り当てることにより、[TextTT] 列に基づいて [Fills] ウィジェットのこのアルゴの子注文をすばやく並べ替えてフィルターできます。

OpenClose / Strategy フラグ

これが [True] に設定されている場合、[Open/Close]、[TradingStrategy]、[ReverseSpreadOC] フラグを有効化して定義できます。

  • OpenClose: 取引のオープン、クローズ、FIFO (first in、first out) を定義します。
    • オープン
    • クローズ
    • FIFO
  • TradingStrategy: 注文の取引ストラテジーのタイプを定義します。取引ストラテジー インジケータ。特定の取引所の接続のみの注文でサポートされています。以下の値がサポートされています。
    • Arbitrage (裁定取引)
    • Hedge (ヘッジ)
    • Directional (ディレクショナル)
  • ReverseSpreadOC: Open/close でスプレッドを反転させるかどうかを設定します。スプレッド注文の open/close フラグを反転させるかどうかを示しています。DCE や CZCE マルチレッグ注文で必須です。特定の取引所の接続のみの注文でサポートされています。以下の値がサポートされています。
    • 遠方レッグで Open Close フラグを反転させない
    • 遠方レッグでスプレッド オープン クローズを反転させない
注文の配色

TT の [MD Trader] や [Order Book] ウィジェットのこのブロックにより生成された注文の横に表示される配色は、以下に類似しています。