最初のアルゴ作成

最初のアルゴ作成

エントリ ロジックの作成

[Scalper] (スカルパー) アルゴの最初の作成部分は、エントリ注文を定義することです。アルゴのこの部分は、定義済みの限月の最良買で指定した枚数の買注文を発注します。

注文ブロックを使ったエントリ注文の開始

[Order] ブロックは、マーケットに注文を発注します。[Canvas] で [Order] ブロックを配置し、エントリ注文を発注するのに使用します。

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

    Add pic

    一度発注すると、[Order] ブロックが黄色に強調表示され、現在選択されているブロックであることが示されます。[Block Properties] パネルにて、強調表示されたブロックのプロパティを表示して編集できます。

  2. [Block Properties] パネルにて、以下のプロパティを指定します。
    • [Entry Order] の名前を指定し、ブロックを識別し易くできます。
    • [Type] に [Limit] を設定します。
    • [Side] に [Buy] を設定します。
    • [TIF] に [Day] を設定します。

    キャンバスの [Order] ブロックの下に、ブロック名が表示されるのが分かります。

  3. [Information Panel] (情報パネル) の [Problems] (問題) タブのメッセージは、たった今発注した [Order] ブロックに入力接続が欠落しているのが分かります。ブロックをさらに追加して [Order] ブロックに接続すると、これらのメッセージは消去されます。

Instrument ブロックを使った限月の選択

注文ブロックがあるので、発注したい限月を選択する必要があります。[Instrument] ブロックを使って、使用する銘柄を選択できます。このアルゴにて、CME の期近 e-Mini S&P の既定限月を選択しますが、アルゴを起動する際にユーザーは異なった限月を選択することもできます。

エントリ注文の限月を定義するには

  1. [Blocks] パネルから、[Instrument] ブロックをダブルクリックし、ADL キャンバス内で整理します。

  2. [Block Properties] パネルにて、以下のプロパティを指定します。
    • ブロックに 限月名前を指定します。
    • [Instrument] 欄にて、アルゴの既定の限月を設定します。この例では、CME の期近 e-Mini S&P 限月を使用します。
    • [Type] プロパティには、アルゴを起動時にユーザーが異なった限月を選択できるように、[User-defined] を選択します。
    • SIM 環境にて次の口座を選択します。

      • ログインに割り当てられている口座。
      • ADL で実行可能なユーザーアクセス許可。
      • ADL の実行可能なユーザーアクセス許可。

      Instrument ブロックのプロパティ パネル

      青色の限月出力ポートの横に、選択済みの限月が表示されているのが分かります。

      Instrument ブロックのプロパティ パネル

    • エントリ注文に限月を設定するには、[Entry Order] ブロックの [inst] 入力ポートに左マウス ボタンをクリックしてドラッグして、[Instrument] ブロックを [Entry Order] ブロックに接続します。

      Instrument ブロックのプロパティ パネル

      無効な限月に関する最初の問題メッセージは消去され、2つの問題が残されているのが分かります。

Field ブロックを使った注文価格の設定

次に、選択した限月の最良買でエントリ注文の価格を設定します。このアルゴは [Field] ブロックを使って [Instrument] ブロックから限月データを受信し、限月の最良買値を連続して抽出し、[Entry Order] ブロックの [price] ポートに値を提供します。

[Field] ブロックを配置して必要な接続を確立するには:

  1. 検索機能を使って、ブロックの指定と事前生成の処理を単純化できます。[Blocks] パネルの [Search] 欄に、「bid」を入力します。

    パネルのブロックの一覧には、文字列「bid」を含んだプロパティ名をもつブロックのみが含まれます。

  2. [Blocks] パネルから、ADL キャンバスに [Field (bidPrice)] ブロックをクリックしてドラッグします。

    [Information Panel] の [Problems] タブに新規の問題が追加されたのが分かります。これは解決する必要があることを示しています。
  3. [Block Properties] パネルにて、以下のプロパティを指定します。
    • ブロック検索の結果に、[Field Name] ドロップダウンが既に選択されているのが分かります。
    • [Name] に [Best Bid] を設定します。
    • [Lookup Type] が [Best] に選択されていることを確認します。

  4. [Edge Finder] を使って簡単にブロックを接続するには、[Shift] キーを長押しして、[Instrument] ブロックから [Field] ブロックへの接続や、また [Field] ブロックから [Order] ブロックの [price] ポートへの接続を暗示した破線が表示されます。

  5. [Shift] キーを押しながら、2つの破線のうち1つを左クリックして接続を確立するか、または点線の1つを右クリックして一度に両方のエッジを作成します。

Number ブロックを使った注文枚数の設定

エントリ注文枚数を定義するには、アルゴは [Number] ブロックを使用します。5 の既定値を設定しますが、ユーザーはアルゴを実行する際に異なった枚数を指定することができます。

[Number] ブロックを配置して必要な接続を確立するには...

  1. [Blocks] パネルの [Search] 欄に、「5」を入力します。

    パネルには、既に 5 が設定された [Number] ブロックが自動的に表示されます。

  2. ADL キャンバスで [Number] ブロックをクリックしてドラッグします。

  3. [Block Properties] パネルにて、以下のプロパティを指定します。
    • ブロック検索の結果に、[Default Value] ドロップダウンに 5 が既に選択されているのが分かります。
    • [Name] を [Entry Order Qty] に設定します。
    • ユーザーが 5 の既定値以外に注文枚数を設定できるように、[Variable Type] を [User Defined] に設定します。
    • 希望に応じて、[Max Value] と [Min Value] を使って、不合理な注文枚数をユーザーが間違えて発注しないように設定できます。

  4. [Number] ブロック を [Order] ブロックの [ qty] 入力ポートに接続します。

    ブロックを接続した後、問題の内容の最後に取り組むことができたので、[Problems] タブは空白になります。

これで、[Instrument] ブロックで定義された限月の最良買値で5枚の注文を発注する、アルゴのエントリ注文部分を作成できました。次の手順はアルゴのこの部分のテストです。