ADL では、単純かつ複雑なアルゴリズムを作成するのに必要なツールを用意し、様々なタイプのブロックを提供しています。
ADL の各ブロックはそれぞれを処理装置として考えます。入力の受付け数や、固有機能により入力を処理し、結果を出力します。このように、各ブロックには入力ポートと出力ポートがあり、ブロックの左側には入力、右側には出力があります。
各ブロックには独自の入力と出力があります。
1つのブロックの出力ポートから別のブロックの入力ポートに接続でき、最終的に、ストラテジーの全体ロジックを明確に伝ることができます。ただし、接続は 2つの互換性のあるポートタイプ間でのみ可能です。ADL は、5つの異なったタイプの入力・出力ポートを使用し、接続は同じタイプのポートに限定されます。
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] タブには、各必須の入力のエラーが表示されます。入力に接続すると、エラー メッセージが除去されます。