取引ブロック

取引ブロック

Discrete Order ブロック

[Discrete Order] ブロックとは、離散イベント メッセージを受信するたびにユーザーが指定した価格と枚数で、指定の限月の「1ショット」注文を発注する、取引ブロックを示します。[Order] ブロックとは異なり、[Discrete Order] ブロックは、一度発注を行うと注文の管理は行いません。[Discrete Order] ブロックは、最初の注文発注後は、約定待ち注文を更新して入力の変更を反映させることはありませんが、ユーザーがアルゴリズムを停止または一時停止すると、ブロックは約定待ち注文を削除します。さらに、生成注文が自動的または手動で削除された場合、ブロックは再発注を行いません。

[Discrete Order] ブロックがアップストリーム ブロックから離散メッセージを受信すると、[Discrete Order] ブロックは、ブロックのプロパティに記述された数式に基づいて、銘柄の注文を送信します。注文が送信される際に、[Discrete Order] ブロックは、ダウンストリーム ブロックに離散メッセージを出力します。

注文の追加確認を受信した際、ブロックは [Add Ok] 出力ポートを通じて、離散イベント メッセージを生成します。

注文情報を指定するための数式

[Order] ブロックとは異なり、[Discrete Order] ブロックは、ブロックへの入力から、条件を有効化したり、注文価格や枚数を取得することはありません。代わりに、ブロック プロパティからアクセスする、これらの値を指定する数式を使用します。[Fields Formula Editor] を使って、受信する離散イベント メッセージからの情報や他のブロック値を使用して、値を計算できます。

注文枚数の数式の指定

この例では、注文枚数数式は [BidQty Field] ブロックの値を 2 で割り算し、利用可能な枚数の半分に注文枚数を設定します。

[orderType] と [timeInForce] 数式パラメータの可能な値の一覧については、Number ブロック のヘルプを参照してください。

[Single Order Container] ブロックに接続される離散注文ブロック

[Discrete Order] ブロックを [Single Order Container] と一緒に使用して、[Single Order Container] が注文を管理できるようにすることができます。[Discrete Order] ブロックが正常に注文を生成すると、ブロックは離散イベント メッセージを出力します。このメッセージを [Single Order Container] の入力に接続すると、[Single Order Container] により注文が約定するか削除されるまで、または [Discrete Order] ブロックにより新規注文が生成されるまで、[Single Order Container] は生成された注文を完全に制御します。

[Single Order Container] は、一度に1つの注文のみ管理できます。[Single Order Container] が実行中の間に、[Discrete Order] ブロックが新規注文を生成すると、新規注文を受け入れるため、[Container] は現在の注文の制御を放棄させられます。

買発注の [Single Order Container] に接続

ブロック プロパティ

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

プロパティ 説明
名前 ADL キャンバスのブロックの下に表示される名前。
Side (サイド) 注文が買注文または売注文のいずれであるかを示します。
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 機能」を参照してください)。
Qty 数式 ブロックの値の計算に使用される数式。

定義していない場合は、欄に [Click to edit formula] (クリックして数式を編集) リンクが表示され、[Formula Builder] (数式ビルダー) が起動されます。
TIF (有効期限) 市場で約定待ち中の生成済みの注文を残す期間を示します。

次の項目を選択できます。
  • [Day] は、取引セッションの最後まで約定待ち注文を残します。
  • [GTC] は、手動で取り消すまで約定待ち注文を残します。
  • [IOC] は、即時に約定しなかった場合に注文の残枚数を取り消します。
  • [FOK] は、即時に完全約定しなかった場合に注文を取り消します。
Condition 数式 ブロックの値の計算に使用される数式。

定義していない場合は、欄に [Click to edit formula] (クリックして数式を編集) リンクが表示され、[Formula Builder] (数式ビルダー) が起動されます。
When Ext Mod Occurs (外部変更の発生時) 注文がアルゴリズム外で変更された場合に取る操作。
  • [Ignore] は、ブロック入力を使用し続けて、外部変更を無視します。
  • [StopManaging] は、ブロック入力を無視して、代わりに外部変更を使用します。
  • [Detach] は、ブロック入力を無視して、ブロック出力の送信を中止します。

この設定の目的は、希望の動作を下流のブロック (Single Order ブロック等) に渡すことです。
Leave Child Order On (子注文を残す) アルゴリズムが停止または取消されても、[Discrete Order] ブロックにより生成された注文が注文ブロックに残存する必要があるかどうかを示します。

クライアント側の接続の損失により、停止の状態となる可能性があります。
注文タグ (Order Tag)

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

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

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

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

受信注文の複製 保留中の既存の取引所の固有注文や SOA、アルゴ、TT アルゴを複製するかどうか。この設定を有効にすると、rade/mdt-overview.html">MD Trader ウィジェットから OMA を起動できます。

これが有効の場合、ブロックは受信注文を複製するので、[Add OK] 出力ポートとダウンストリーム Single Order Container ブロックを接続する必要があります。
数式 注文の価格や枚数、条件の数式。

編集リンクにより [Fields Formula Editor] が起動され、数式の定義や表示ができます。
注文の配色

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