最初のアルゴ作成

最初のアルゴ作成

ポジションの終了

アルゴのエグジット注文部分は、エントリ注文が約定を受信した場合のみ動作を実行します。[Instrument] ブロックで定義した銘柄と、銘柄の最良売、約定枚数をとって、これらの入力を使い、売注文を発注します。アルゴのエグジット注文部分は、以下のブロックが必要です。

  • 売指値注文を発注するために設定された [Order] ブロック。
  • 銘柄の最良売値に注文価格を設定する [Field] ブロック。
  • エントリ注文の約定枚数に基づいて注文枚数を設定する、[MsgInfoExtractor] ブロック。

Add-PIC

売注文への [Order] ブロックの追加

エグジット注文の [Order] ブロックを発注するには

  1. [Blocks] パネルから、ADL キャンバスの売側の注文に [Order] ブロックをクリックしてドラッグします。

    Add pic

  2. [Block Properties] パネルにて、以下のプロパティを指定します。

    • [Side] 欄にて、[Sell] を選択します。

    • オプションで、[Name] に「Exit Order」 を指定し、ブロックを識別し易くすることができます。

  3. [Instrument] ブロックの、[ZB Dec17] 出力ポートと、[Exit Order] ブロックの [inst]入力ポートを接続します。

注文価格への [Field] ブロックの追加

次にエグジット注文の価格を指定する必要があります。このアルゴは、[Field] ブロックを使って、銘柄の最良売値を抽出します。この手順の間に、検索機能を使って、ブロックの指定と事前生成の処理をどのように単純化できるかも示しています。

  1. [Blocks] パネルの検索欄に 「ask」を入力すると、利用可能なブロックをフィルターできます。次に、ADL キャンバスの最良売値の [Field (askPrice)] ブロックをクリックしてドラッグします。

    Add pic

  2. [Block Properties] パネルにて、以下のプロパティを指定します。

    • [Field Name] ドロップダウンにて、[Ask Price] が選択されていることを確認します。

    • オプションで、[Name] に「Best Ask」を指定し、ブロックを識別し易くすることができます。

    • [Lookup Type] ドロップダウンにて、[Best] が選択されていることを確認します (これは既定値です)。

  3. [Instrument] ブロックの [ZB Dec17] 出力と、[Best Ask Field] ブロックの入力ポートを接続し、次に [Best Ask Field] ブロックの出力ポートと、[Exit Order] ブロックの price 入力ポートを接続します。

注文価格への [MsgInfo Extractor] ブロックの追加

最後に、エグジット注文に注文枚数を設定する必要があります。この例では、アルゴが売注文を発注して、エントリ注文から約定の枚数をオフセットさせることを目的としています。約定の枚数が合計エントリ注文枚数よりも少ない場合があるので、[Number] ブロックは良い選択ではありません。[MsgInfoExtractor] ブロックを使って、受信する離散イベント メッセージに含まれた情報を抽出できます。エントリ注文の約定ポートは離散イベント メッセージを出力することが分かります。この離散イベント メッセージには、約定値や枚数をはじめ、約定に関する情報が含まれています。エグジット注文に関しては、約定枚数を取得する必要があります。

[MsgInfoExtractor] ブロックを追加して約定から約定枚数を取得し、エグジット注文に送信するように設定するには...

  1. [Blocks] パネルから、ADL キャンバスの売側注文の [MsgInfoExtractor] ブロックをクリックしてドラッグします。

    Add pic

  2. [Block Properties] パネルにて、以下のプロパティを指定します。

    • [Connectors] 欄にて [fillQuantity] コネクターを確認します。

    • オプションで、[Name] に「Get Entry Fill Qty を指定し、ブロックを識別し易くすることができます。

  3. [Shift] キーを長押しすると、関連性のある接続が表示されます。

  4. [Shift] キーを押すと同時に、2つの点線をクリックして [fills] 出力ポートと [MsgInfo Extractor] ブロックを接続し、[fillQuantity] 出力ポートからエグジット注文の [price] 入力ポートに接続します。

    Add-PIC

これで、エントリ注文が執行されると、約定した枚数の最良売値で注文を発注できる、アルゴのエグジット注文部分を作成できました。これでアルゴは完了です。次の手順はアルゴのテストです。