コンテンツにスキップ

Trading Signal

前のページでは、EA用のすべてのIndicatorを追加しました。Indicatorを編集したい場合は、戻ってIndicatorのパラメータを調整するだけです。次に、注文のオープンまたはクローズに使用するTrading Signal(「Signal」)を作成できます。Signalは、注文がオープンまたはクローズされる前に満たされなければならない条件のグループです。

EAには4つのSignalタイプがあります:

  • Open Buy
  • Open Sell
  • Close Buy
  • Close Sell

Signalは、考えうるほぼあらゆるオープンおよびクローズロジックを作成するための非常に強力なツールです。最初はSignalの作成がかなり難しく感じるかもしれませんが、誰でもすぐに学べると信じています。Signalの作成方法を学ぶ際は、ぜひ粘り強く取り組んでください。このページの情報を読んだ後、進め方がわからない場合はいつでもお問い合わせください。Signalエディタが制限されすぎていると思った場合でも、お問い合わせいただければ、Signalの作成方法をお見せできます。複雑なシナリオの解決に多くの経験があります。

編集したいSignalをクリックします。Signalエディタが開きます。テンプレートに基づいてEAを開始した場合、Signalには既にいくつかの条件が含まれている場合があります。他のSignalは空で、空のルートグループのみを含む場合があります。その場合は、Signalに条件を追加することから始めてください。

Signalを編集
Signalをクリックして編集を開始。

注文タイプを選択した後、条件を設定します。条件はトップにルートグループから始まります。ルートグループではANY/ALLを選択できます。このオプションはこのグループに直接含まれるすべての条件に影響します。

  • ANY: 条件の1つが満たされればSignalが発動します。
  • ALL: すべての条件が満たされなければSignalは発動しません。

このルートグループから条件の構築を開始します。

ルート論理演算子
Signalには1つのルートANY/ALLグループがあります

ANY | ALLグループのオプションメニューを開き、Add Conditionを選択します。Add Conditionをクリックすると、シンプルな条件が追加されます。

条件を追加
条件を追加。

条件は、左辺、演算子、右辺で構成される式です。デフォルトでは、左辺と右辺のオペランドはIndicatorです。EAに追加したIndicatorがここに表示されます。Indicatorを関数(Bid、Ask、Stop Lossなど)や定数値に置き換えることができます。

条件が追加されました
デフォルトのIndicator値を持つシンプルな条件が追加されました。ADXはIndicatorの名前です。MainはMODEの名前です。S0はIndicatorが計算されるShift(バー)です。

Indicator、関数、定数の切り替え

Section titled “Indicator、関数、定数の切り替え”

Indicator、関数、定数を切り替えることができます。編集したい要素をクリックすると、ポップアップウィンドウが表示されます。

  • Indicatorをクリックして、EAに追加したIndicatorにアクセスします。
  • Functionをクリックして、Ask、Bid、hour、minuteなどの関数にアクセスします。
  • Constantをクリックして、定数(固定)値を追加します。デフォルト値はEMPTYで、MetaTraderの空値を表す長い数値(2147483647)です。 MetaTraderのInputsタブから定数値を編集できます。インプット名はウェブツールで指定したInput Nameと一致します。 SignalまたはModuleで同じInput Nameを複数回使用すると、MetaTraderで1つの共有インプットとなり、最適化が簡素化されます。
Indicator、関数、値を切り替え。
Indicator、関数、値を切り替え。

条件で使用する各Indicatorについて、使用するShiftを選択する必要があります。これにより、(Indicatorの)どのバーの値を使用するかを指定します。

  • Shift(バー): 0 - 現在のバー
  • Shift(バー): 1 - 前のバー
  • Shift(バー): 2 - 前のバーの更に前のバー、など。
どのバーでIndicatorが計算されるかを選択
どのバーの値を使用するか選択します。

3つの演算子カテゴリがあります:

  • 比較
  • クロスオーバー
  • 数学

各カテゴリには異なる演算子が含まれています。コンテキストによっては、特定の演算子カテゴリが利用できない場合があります。 利用可能な演算子の完全なリストはこちら。

論理、比較、クロスオーバー、算術演算子を切り替え
演算子のリストはコンテキストに基づいて異なる場合があります。

シンプルな条件が要件を満たさない場合は、高度な条件を追加できます。

高度な条件を追加
<strong>高度な条件</strong>を追加

高度な条件にはさまざまな要素を含めることができます。

  • 演算
  • 数学演算子
高度な条件を追加
高度な条件に追加できる要素。高度な条件を完成させるには、左辺と右辺のオペランドを定義する必要があります。

高度な条件は、あらゆる要件をサポートします。必要に応じて複雑な数学演算を適用できます。

高度な条件の例
高度な条件の例。条件はAsk(価格)が前日のHighとLowの中間点を上回ったかどうかを確認します。この中間点はLowとHighを加算し、結果を2で割ることで計算されます。

高度な条件を完了したら折りたたむことができます。条件のサマリーが表示され、Signalの全体像を把握するのに役立ちます。

条件を追加
高度な条件を折りたたむと、サマリーが表示されます。

条件のネストされたグループを追加できます。「Add Group」をクリックします。

ノードを削除
条件のグループを追加。

ここでさらに条件、高度な条件、または別のネストされたグループを追加できます。

ノードを削除
ネストされたグループの例。いずれかの条件が満たされれば、ネストされたグループが満たされます。

オプションで「Remove」を選択してノードを削除できます。ルートグループ(Any/All)は削除できません。ネストされたグループは削除できます。

ノードを削除
Removeをクリックしてノードを削除。

要素を移動するには2つの方法があります。

  • 条件を上/下に移動
  • カットしてペースト
  • コピーしてペースト

オプションメニューを開いて、コンテナ(グループまたは高度な条件)内でノードを移動します。「Move Up」または「Move Down」をクリックして要素の順序を上下に移動します。

ノードを移動
条件を上に移動。

ノードを別のコンテナ(グループまたは高度な条件)に移動する必要がある場合は、オプションメニューを開いて「Cut」を選択します。インターフェースの編集がブロックされ、ノードを貼り付けるオプションが表示されます。アイテムを移動したい場所の「Paste」ボタンをクリックします。アイテムはその場所に移動されます。あるいは、Cutの代わりにCopyを使用してノードを複製できます。

ノードを貼り付け
Pasteボタンをクリックして条件をその場所に移動。キャンセルをクリックしてこのCutまたはCopyアクションをキャンセル。

Signalを構築する際に、無効なSignalを作成することがあります。無効なSignalは保存できません。上部のサマリーボックスにエラーメッセージ付きの感嘆符が表示されている場合、Signalが無効であることがわかります。

無効なSignal
高度な条件に左辺と右辺のオペランドがありません。これらの要素を追加してこのエラーを修正してください。

Signalは好きなだけ複雑にすることができます。Signalの仕組みを簡単に理解するための良い戦略は、グループに分割することです。各グループは条件が満たされるか、満たされないかの結果になります。

複雑なSignal
Signalをグループに分割。ルートグループに2つの青い条件があり、ネストされたANY/ALLグループに2つの緑の条件があります。各グループは満たされるか満たされないかです。ルートグループはALLグループなので、両方の青い条件が満たされ、かつ緑のネストされたグループの条件が1つ満たされる必要があります。緑の条件の1つが満たされればよいのは、ANYグループだからです。