取引ブロック

取引ブロック

Order ブロック

[Order] ブロックは、取引所に買注文や売注文を送信する取引ブロックです。ブロックをダブルクリックして、ドロップダウン メニューにアクセスし、注文の種類を指定できます。選択された注文タイプによって、様々な入力の設定を指定します。

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

: 公開枚数を持つ注文に関しては、[wrk qty] 出力ポートは、[disc qty] 入力ポートで指定された枚数と同等またはそれ以下となります。

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

Order ブロックの入力

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

注文タイプ

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

選択した注文の種類に基づいて、[Order] ブロックは、以下のブロックの入力を表示します。

  • inst: [Order] ブロックで取引されている銘柄を識別します。

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

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

  • on/off: [Boolean] 値条件に基づいて、注文を実行するかどうかを制御します。

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

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

    この入力が提供されている場合、[Order] ブロックは、取引所が認識する公開枚数タグを含んだ指値注文や成行注文を発注します。承認を受けた後、取引所は、入力枚数として合計注文数量を認識しますが、一度に特定の数量のみ公開します。公開枚数が入力枚数を超えた場合、取引所は、合計注文枚数として入力枚数を認識します。

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

    • [Order] ブロックで、買注文を発注するように設定されている場合は、[Stop Trigger] 値は銘柄の直近値よりも大きい値である必要があります。売注文の場合は、[Stop Trigger] は直近値よりも小さな値である必要があります。
    • [Order] ブロックで、買注文を発注するように設定されている場合は、価格入力は [Stop Trigger] と同等または大きい値である必要があります。売注文の場合は、価格入力は [Stop Trigger] と同等またはである必要があります。

Order ブロックの出力

  • wrk qty: マーケットでまだ約定待ちを続けている注文の数量を示します。

    : StopMarket と StopLimit注文に関しては、ポートが注文枚数をトリガーする時点で、ストップ注文トリガーされるまで、ポートは 0 を出力します。

  • Add Req: 取引所に送信された新規注文要求へのアクセスを提供します。

  • Add OK: 取引所から受信した新規の注文確認へのアクセスを提供します。

  • Chg Req: 取引所に送信された注文の変更要求へのアクセスを提供します。

  • Chg OK: 取引所や変更注文から受信した確認へのアクセスを提供します。

    : StopMarket と StopLimit注文に関しては、ストップ注文がトリガーされた際、このポートを通じて送信された離散メッセージにより、isTriggered メッセージ欄に [TRUE] が設定されます。

  • Del Req: 取引所に送信された注文の削除要求へのアクセスを提供します。

  • Del OK: 取引所から受信した注文削除の確認へのアクセスを提供します。

  • fills: 約定確認へのアクセスを提供します。

Autospreader スプレッドと作動する注文ブロックの場合、出力は以下のように変化します。

  • wrk qty: スプレッド注文枚数がまだ約定待ちを続けている枚数を示します。

    : StopMarket と StopLimit注文に関しては、ポートが注文枚数をトリガーする時点で、ストップ注文トリガーされるまで、ポートは 0 を出力します。

  • Add Req: 取引所に送信された新規スプレッド要求へのアクセスを提供します。

  • Add OK: 新規のスプレッド確認の離散イベント メッセージへのアクセスを提供します。

  • Chg Req: 取引所に送信されたスプレッドの変更要求へのアクセスを提供します。

  • Chg OK: スプレッド更新確認の離散イベント メッセージへのアクセスを提供します。

    : StopMarket と StopLimit注文に関しては、ストップ注文がトリガーされた際、このポートを通じて送信された離散メッセージにより、[isTriggered] メッセージ欄に [TRUE] が設定されます。

  • Del Req: 取引所に送信されたスプレッドの削除要求へのアクセスを提供します。

  • Del OK: スプレッドの削除確認の離散イベント メッセージへのアクセスを提供します。

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

  • Quote Fills: スプレッドのクォート レッグに対し、約定メッセージへのアクセスを提供します。

  • Hedge Fills: スプレッドのヘッジ レッグに対し、約定約定メッセージへのアクセスを提供します。

  • fills: スプレッドの約定メッセージへのアクセスを提供します。

ブロック プロパティ

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

プロパティ 説明
Name (名前) 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] に変わると新注文が追加されます。
  • ストップ トリガーや公開枚数の入力が変化した場合、指定のストップ トリガーや公開枚数が承認済みの条件を満たしている限り、ブロックは現在の約定待ち注文を変更します。
AutoResubmit

現在の約定待ち注文が削除された際に、常に新注文を発注するかどうかを示します。

有効化した場合、新注文は [OrderQty-FillQty] の注文枚数で発注されます。事実、このオプションを有効にすると、ユーザーの指定を達成するため、必要に応じて [Order] ブロックに、新注文を発注するように指示します。このオプションが無効になっている場合、[Order] ブロックは、アルゴリズムの寿命の間に1つの注文を発注することが許可されます。ユーザーが手動で削除すると、このオプションが有効であっても無効であっても、[Order] ブロックはユーザーに対する抑制ができなくなります。

: ブロックの [on/off] 入力ポートがその時点で 「FALSE」 である場合、[Order] ブロックは「TRUE」に戻るのを待って、新注文を発注します。

Connectors (コネクター)

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

  • 要求の追加
  • 追加済み
  • 変更要求
  • 変更済み
  • 削除要求
  • 削除済み
注文タグ (Order Tag)

[Discrete Order] ブロックから生成された注文の [Fills] ウィジェットの [Order Tag] 列に表示するカスタム テキスト。

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