Order ブロックは、取引所に買注文や売注文を発注する取引ブロックです。ブロックの [ブロックプロパティ] パネルで、注文の詳細をすべて指定できます。選択した注文タイプに応じて、様々な入力セットを指定します。
例 プロパティが「買い」に設定された Order ブロックは、注文を発注するための限月、価格、枚数データを受信し、注文を有効化または無効化するためのブール値データを受信します。注文が市場に発注されると、注文ブロックは約定待ち注文の枚数を出力します。注文が約定すると、注文ブロックは約定に関するデータを含んだ離散メッセージを出力します。
ブロックは、その注文に対して受信した約定数を追跡し、qty 入力ポートで指定された合計注文枚数から約定数を減算することで、wrk qty 出力ポートの値を減少させます。
注 公開枚数を含んだ注文の場合、wrk qty 出力ポートは、disc qty 入力ポートで指定されたものと同等かそれ以下になります。
ユーザが Order ブロックによって生成された注文を手動で削除や変更する場合、ユーザーに対する制御は放棄されますが、注文執行のための離散イベント メッセージはまだ生成されます。具体的には、Order ブロックは左側の入力を無視しますが、右側の出力に対して値を生成します。ユーザーがアルゴリズムを一時停止して再開する場合、Order ブロックは、管理注文を再び検出して、再び制御を取ろうとします。注文を検出できない場合、Order ブロックは、これまでに達成した注文数をユーザー指定の入力数と比較し、残りの枚数に対して新しい注文を発注します。
注文ブロックに必要な入力数と種類は、選択した注文タイプによって決定されます。
注文タイプ
選択した注文タイプに基づいて、Order ブロックは以下のブロック入力を公開します。
inst: 注文ブロックで取引される限月を特定します。
price: 注文を発注する価格を示します。
qty: 合計注文枚数を示します。
on/off: ブーリアン条件に基づいて注文を執行するかどうかを制御します。
この True/False 入力が提供されると、入力値が TRUE から FALSE に変化すると、Order ブロックは約定待ち注文を削除します。Order ブロックは、値が FALSE から TRUE に変化すると、新しい注文を追加します。
disc qty: アイスバーグ注文に使用する公開枚数を示します。
これが入力されると、Order ブロックは取引所が認識する公開枚数タグを含んだ指値注文や成行注文を発注します。承認されると、取引所は合計注文枚数を入力枚数として認めますが、一度に指定された枚数のみを公開します。公開枚数が入力枚数より大きい場合、取引所は入力枚数を合計注文枚数として認識します。
trigger: ストップ注文にトリガー値を指定します。
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: スプレッド約定メッセージにアクセスできます。
次の例は、取引所上場限月の指値注文と成行注文を発注するのに、注文ブロックを使用する方法を説明しています。
例 買値から1ティック下げた10枚の指値買注文を発注します。
例 5枚の成行買注文を発注します。
注文ブロックのブロック プロパティで Autospreader 設定を有効にすることで、アルゴでカスタム スプレッドを取引できます。この設定を有効にすると、追加の出力ポートが表示されます。またブロックは、その inst 入力ポートを通じて Autospreader 限月のみを受け入れます。
例 5枚の WTI-ブレント スプレッド買注文を発注します。
Single Order Container (シングル注文コンテナ) は、既存の注文を管理します。取引ブロック (注文ブロックなど) が注文を発注するたびに、特定の注文に固有の注文キーを保持します。取引ブロックは、Single Order Container に離散イベントメッセージを出力します。これは、特定された注文を制御するための注文キーを抽出します。
例 Single Order ブロックを使って、買枚数に基づいて約定待ち注文を取消します。
このアルゴは、Order ブロックを使用して、最良売で売注文を発注します。ブロックが取引所から確認を受け取ると、約定待ち注文を管理するための Single Order Container にメッセージを送信します。注文が約定する前に買枚数が 20枚を超過した場合、Single Order Container は約定待ち注文を取り消します。
ブロックをカスタマイズするには、[Block Properties] を更新します。
プロパティ | 説明 |
---|---|
名前 | ADL キャンバスのブロックの下に表示される名前。 |
Type (タイプ) |
発注する取引所固有の注文のタイプ。 次の項目を選択できます。
注 取引所によりネイティブ サポートされていないタイプを選択すると、注文は拒否されます。 |
Side (売買側) | 注文が買注文または売注文のいずれであるかを示します。 |
TIF (有効期限) |
市場で約定待ち中の生成済みの注文を残す期間を示します。 次の項目を選択できます。
|
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 (外部変更の発生時) |
注文がアルゴリズム外で変更された場合に取る操作。
|
Leave Child Order On (子注文を残す) |
アルゴリズムが停止または取消されても、[Discrete Order] ブロックにより生成された注文が注文ブロックに残存する必要があるかどうかを示します。 クライアント側の接続の損失により、停止の状態となる可能性があります。 |
Ignore Inputs After Add (追加後に入力を無視) |
入力で変更を無視するかどうかを示します。 このオプションが有効の場合、Order ブロックは注文の発注時にのみ入力を考慮します。注文が一度発注され約定待ちをしていると、Order ブロックは入力の変更を無視します。事実上、このオプションを有効にすると、Order ブロックは「1ショット」注文を提出するよう指示されます。一方、このオプションが有効でない場合は、Order ブロックは約定待ち注文を修正し続けて入力の変更を反映させようとします (入力は動的である可能性があることに注意してください)。
|
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] フラグを有効化して定義できます。
|
注文の配色 |
TT の [MD Trader] や [Order Book] ウィジェットのこのブロックにより生成された注文の横に表示される配色は、以下に類似しています。 |
説明 | ブロックがどう使用されるかを説明したオプションのテキストです。 |