最初のアルゴ作成

最初のアルゴ作成

エントリ ロジックの作成

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

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

Order ブロックは、市場に注文を発注します。キャンバスOrder ブロックを配置し、注文の発注に使用します。

  1. [Blocks] パネルから、ADL に Order ブロックをクリック・ドラッグします。

    Add pic

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

  2. [Block Properties] パネルにて、以下のプロパティを指定します。
    • エントリ注文名前を指定して、ブロックを識別しやすいようにします。
    • [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 (デモ) 環境で [Account] を選択すると以下の内容が含まれます。

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

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

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

      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] ドロップダウンが既に選択されているのが分かります。
    • [Name] を [Entry Order Qty] に設定します。
    • ユーザーが 5 の既定値以外に注文枚数を設定できるように、[Variable Type] を [User Defined] に設定します。
    • 希望に応じて、[Max Value] と [Min Value] を使って、不合理な注文枚数をユーザーが間違えて発注しないように設定できます。

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

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

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