時間の一点で離散イベント メッセージが生じ、これを使って正確な瞬間にマーケット データを取得できます。
離散イベント メッセージには重要な特徴があります。ブロックが離散イベント メッセージのパルスを出力すると、アルゴリズムは一時的に、取引所サーバーからの連続メッセージのチャネルを停止します。離散イベント メッセージのパルスがアルゴリズム中に伝達されている間、連続メッセージ チャネルは、閉じられたままとなります。効果では、この動作は、マーケット データのストリーミングにチャネルする [Instrument Field] ブロックとして、ブロックの出力を「フリーズ」します。この静的状態では、離散イベント メッセージのパルスはユーザーが設計した道筋を通過し、道筋に位置するブロックの出力値を更新し、ユーザーは離散イベントの瞬間に正確に存在するマーケット データを取得して使用できます。
この伝達が完了すると、アルゴリズムはすべての取引所サーバーからの連続メッセージのチャネルを再開します。
以下では、効果におけるこのメカニズムを簡略に説明しています。
以下の略図は、Instrument Field ブロック (左の黄色ブロック) が、連続数値を Order ブロック にチャネルしている例を示しています (右側の青ブロック)。[Instrument Field] ブロックはユーザーが指定した銘柄の最良買値をチャネルし、[Order] ブロックは、このストリーミング データを使って、特定の枚数で最良値で買注文をクォートできます (銘柄と枚数の入力は説明図に表示されていません)。
1つ以上のクォート注文が執行されると、[Order] ブロックは取引所サーバーから [Fill Confirmation] メッセージを受信し、単一パルスの形式で離散イベント メッセージを出力します。この時点で、アルゴリズムは取引所サーバーからの連続メッセージのチャネルを停止します。離散イベント メッセージのパルスが、ユーザーにより設計された道筋に従って、アルゴリズムを通じて伝達されます。これは、道筋に存在するブロックの出力値の更新を行います。
伝達が完了すると、アルゴリズムは取引所サーバーからの連続メッセージのチャネルを再開します。