高度観念

高度観念

機能拡張 Exit ブロックの機能

Exit ブロックは、仮想グループ ブロック内で使用され、不必要なインスタンスを廃棄するのに使用されます。アルゴリズムに Exit ブロックを追加するには、仮想グループ ブロック内でキャンバスを右クリックして「Exit ブロックの追加」を選択します。Boolean または離散メッセージのいずれかを使って、アルゴリズムでロジックを作成し、必要でなくなった場合はいつでも仮想インスタンスを廃棄できます。

Exit ブロックを使うのではなく、場合によっては、アルゴリズムの効率性に影響が及ぼされ、遅延の問題を生じることがあります。これは、仮想インスタンスが作成される際は常に、メモリーに保存され、ADL は各仮想インスタンスを更新する必要があります。更新する必要があるインスタンスが多ければ多いほど、この手順により時間がかかります。

デモ取引モード例

1000 の1ロット注文を発注しようとしているエントリ側の注文があります。そして1ティックの利益値のため各個々の1ロットのエントリ側注文を約定待ちしようとしています。全部のエグジット側のヘッジ ロジックを仮想化しました。そしてヘッジ ロジックで約定した場合に各仮想インスタンスのインサイドをトリガーさせるように、 EXIT ブロック内に作成します。

次に入力コネクターに Exit ブロック ロジックを接続させて、1000 個の仮想インスタンスでロジック構造をセットアップします (連続ブール値)。ユーザー定義の Boolean ブロックを今作成した入力に接続させます。アルゴリズムを開始して、アルゴがこれらの1000の仮想ブロック インスタンスを起動している間に、サーバーで利用するシステム リソースを監視します。リソースが均質化するのを待機します (メモリー、スワップファイル、CPU など)。

Boolean ブロックのスイッチを入れて、すべての Exit ブロックを一度にトリガーするようにすると、.NET がゴミ箱の集合をトリガーした際にリソースの空き容量が確保されるのがわかります。

離散メッセージにより仮想化 (Virtualization) が生成される際:

  1. 仮想グループ内のブロックが作成されます。
  2. これらの各ブロックの連続入力が生成されます (存在する場合)。
  3. この仮想化コピーの作成を誘導する離散メッセージは、経路をつうじて循環します。
  4. 実行可能な機能をもつブロックは執行を行います。一般的に、この状況での操作ブロックとは、アルゴの寿命の任意の時点において市場で操作を行うものを示しています。例えば、注文管理ブロックがあります。

Exit ブロック (連続入力を使用するブロック) がトリガーされると...

  1. Exit ブロックで Boolean 連続入力が「偽」から「真」に変わった瞬間、仮想化がエグジットを予定します。操作はまだ行われていません。
  2. 各仮想化グループの連続入力は更新されます。Boolean 変更のメッセージを表示したアルゴの変更が (Exit ブロックのトリガーに使用) 他の連続値の変更のメッセージも表示する場合、これらの変更が発生します。
  3. これらの連続値がトリガー操作ブロックを更新して何か操作を行おうとしている場合、これらの操作も実行されます。
  4. Exit ブロックは意図された内容を実行します。つまり ADL は仮想化グループのインスタンスを廃棄します。

Exit ブロック (離散入力を使用するブロック) がトリガーされると...

  1. Exit ブロックをトリガーするのに使用される離散メッセージは、言ってみれば経路の一部です。これは経路の最後のブロックか、経路の一部であることがあり (例えば Sequence ブロックからトリガーされた最初の項目である場合で、Sequence ブロックの他の出力が使用される場合)。この離散メッセージがソースから生成されると、経路全体が完了します。つまりトリガーされた Exit ブロックからのすべての下流の項目は、同じ離散メッセージ経路にあるので、更新されます。
  2. この経路の更新値が、操作ブロックに対し何か操作を行うようにトリガーした場合、これらの操作が実行されます。
  3. Exit ブロックは意図された内容を実行します。ADL は仮想化グループのインスタンスを廃棄します。