ADL 基本概念

ADL 基本概念

ブロック

ブロック タイプ

ADL では、単純かつ複雑なアルゴリズムを作成するのに必要なツールを用意し、様々なタイプのブロックを提供しています。

  • Trading ブロック を使って、マーケット データやステータスの取得、取引データの取得、さらに新注文の発注や既存注文の管理ができます。[Trading] ブロックは主に、価格の更新など、常に更新されるデータの処理を行います。
  • Discrete ブロック を使って、約定確認からの情報の抽出や、イベントが発生した際にとる操作など、アルゴの執行中に発生した離散マーケット イベントからのデータを監視して管理できます。
  • Arithmetic ブロック では、他のブロックからのデータを使って、算術計算を実行するためのアルゴのツールを提供しています。例えば、[Arithmetic] ブロックでは、インサイド マーケットから 2ティック離れた注文価格を計算できます。
  • Basic ブロック は、アルゴの定義と、数値または [Boolean] 値のユーザー定義入力を取得します。
  • Logic ブロック を使って、価格帯で利用可能な枚数の多さに基づいて、注文を発注する価格帯を決定するなど、アルゴは論理条件に基づいて処理の決定を行うことができます。Logic ブロックは主に [Boolean] 値の生成を行います。
  • Misc ブロック は、時間の制御や操作の反復、通知の生成やアルゴへの情報メモの追加など、他のブロック タイプには見られない機能を提供しています。

ブロックの入力と出力

ADL の各ブロックはそれぞれを処理装置として考えます。入力の受付け数や、固有機能により入力を処理し、結果を出力します。このように、各ブロックには入力ポートと出力ポートがあり、ブロックの左側には入力、右側には出力があります。

各ブロックには独自の入力と出力があります。

ADL ブロックは、5つの異なったタイプの入力・出力ポートをサポートしています。各ポートを流れる情報のタイプによって、ポートが区別されます。異なったポート タイプを容易に識別できるようにするため、ADL では各タイプのポートに異なった配色を使用し、入力ポートに薄い色を、出力ポートに濃い色を使用します。

  • Numeric ポート: 整数または小数値を入力・出力します。Numeric ポートは薄赤色と濃赤色で表示されます。

    例えば、[Add] ブロックには、数字の入力ポートと出力ポートがあります。

  • True/False ポート: [True] または [False] (または [Boolean] 値といいます) のいずれかを入力・出力します。[True/False] ポートは緑色で表示されます。

    [And] ブロックには、[True/False] 入力ポートと出力ポートがあります。

  • Instrument ポート: 銘柄のマーケット データを入力・出力します。[Instrument] ポートは青色で表示されます。

    例えば、[Instrument] ブロックには、銘柄の出力ポートがあります。

  • Variable ポート: 変数ポートは上記の3つのタイプのいずれにでも変化できます。ブロックに1つのタイプの出力ポート (numeric 等) を、ブロックにある [Variable] 入力ポートに接続する場合、ブロックのすべての他の [Variable] ポートは自動的にそのタイプに変化します (例: すべての他の [Variable] ポートは [Numeric] ポートに変わります)。[Variable] ポートは黄色で表示されます。

    例えば、[If-Then] ブロックには、変数の入力ポートと出力ポートがあります。

    数値を変数ポートに接続する場合、数値ポートに関連するとして、黄色の変数ポートは赤色に変化します。

  • Discrete Event Message ポート: 約定などの重要なマーケットのイベントが発生した際には常に、複数の指定ブロックにより生成された離散イベント メッセージを入力または出力します。離散イベント メッセージ ポートは白色と黒色に色表示されます。

    例えば、[Branch] ブロックには、離散入力ポートと出力ポートがあります。

必須のブロック入力の欠落の通知

ADL の各ブロックには1つ以上の必須入力があります。キャンバスにブロックを追加すると、[Information Panel] の [Problems] タブには、各必須の入力のエラーが表示されます。入力に接続すると、エラー メッセージが除去されます。