EA Builder ProでEAを構築する
トレーディングロボット(EA)の構築を始めようとしてここにたどり着いたなら、まさに正しい場所に来ました!このチュートリアルでは、EA Builder Proを使用したEAの構築に焦点を当てます。 私たちの手順に従ってサンプルEAを構築することもできますし、このチュートリアルで提供される追加情報を活用して、独自の判断で進めることもできます。
このチュートリアルは高度なEAの構築例を示しており、チュートリアル自体もかなり複雑に感じるかもしれません。
簡単な難易度のEAから始めたい場合は、YouTubeチャンネルをご覧ください:トレーディングボットの構築を学ぶ。
中程度の難易度のEA(MT5のみ)から始めたい場合は、長年のユーザーであるRaoulが、当ツールを使用してEAを構築した方法についてブログを書いていますのでご紹介します。ぜひRaoulのブログをご覧ください。
EA Builder Proを使ってEAを作成するには?
Section titled “EA Builder Proを使ってEAを作成するには?”さあ始めましょう!この上級チュートリアルでは、有名な「Cowabunga」EAを作成します。 このEAは、H4(4時間)タイムフレームのトレンドをフィルターとして使用し、M15タイムフレームでロングまたはショートの機会を探します。
エントリー/エグジットを書き出しましょう。これらはエントリーとエグジットの条件の集合体の総称として「シグナル」と呼びます。
-
買いオープンシグナル:
ロングのフィルターは、トレンドが上昇しているかどうかを確認します。H4タイムフレームで以下の条件を満たすとき、トレンドは上昇しています:- 5本バーEMAが10本バーEMAより上にある
- RSIが50より大きい
- ストキャスティクスが上昇中だが、買われすぎではない
M15タイムフレームでのロングのエントリー機会は:
- MACDが0値を上抜けする、または
- MACDがマイナスだが上昇し始めた
-
売りオープンシグナル:
ショートのフィルターは、トレンドが下降しているかどうかを確認します。H4タイムフレームで以下の条件を満たすとき、トレンドは下降しています:- 5本バーEMAが10本バーEMAより下にある
- RSIが50より小さい
- ストキャスティクスが下降中だが、売られすぎではない
M15タイムフレームでのショートのエントリー条件は:
- MACDが0値を下抜けする、または
- MACDがプラスだが下降し始めた
-
クローズ戦略(買いと売りの両方):
50および00の価格レベルをエグジットシグナルのターゲットとして設定します。したがって、買い注文を開いたときの価格が1.09887の場合、1.10000をターゲットとし、これは11.3ピップス上になります。 ただし、ターゲットが5ピップス未満の距離の場合は、戦術を変更し、注文のオープン価格からParabolic SARまでの距離をエグジットに設定します。Parabolic SARが注文のオープン価格より10ピップス下にある場合、エグジットを注文のオープン価格より10ピップス上に設定します。
また、SARが注文のオープン価格より下にある場合、ストップロスをParabolic SARの値に設定します。
これはかなりの内容ですね!あなたが考えているEAは、これほど複雑ではないかもしれません。実際、10のトレーディング戦略のうち9つはCowabunga戦略ほど複雑ではありません。 しかし、このチュートリアルでは、EA Builder Proが高度なEAを作成できることを示すと同時に、あなた自身が高度なEAを作成するのに十分な知識を身につけられるようにしたいと考えました。 EAの構築を始めたばかりで、このチュートリアル中に質問があり追加のヘルプが必要な場合は、サブスクライブして質問をお送りください。 さあ、続けましょう!
1. はじめに
Section titled “1. はじめに”最初のExpert Advisor(EA)、つまりトレーディングロボットの作成を始めるには、ウェブツールで青い「Add Expert Advisor」ボタンをクリックします。
テンプレートの選択
Section titled “テンプレートの選択”次に、MT4またはMT5のテンプレートを選択するよう求められます。どちらを選ぶべきかわからない場合は、ブログをご覧ください:MT4とMT5、どちらが良い? 次に、動作するサンプル(例えば「Moving average template」)から始めるか、空のEAから始めるかを決めます。新しいEAをゼロから構築し、すべてのステップをガイドするので、「Empty template」を選択します。
名前を付けて作成
Section titled “名前を付けて作成”次に、EAの名前を入力します。EAに「Cowabunga」という名前を付け、「Create EA」をクリックします。
ツールが自動的にEAを開き、4つの主要部分に分割されます:インジケーター、シグナル、ストラテジー、マネーマネジメント。 このチュートリアルの次の部分では、最初のセクション「インジケーター」から始めます。
2. インジケーター
Section titled “2. インジケーター”EAにインジケーターを追加していきましょう。
インジケーターを追加するには、インジケーターリストの「Add」をクリックします。
すべての標準MetaTraderインジケーターがアルファベット順に表示されます。独自の Custom Indicators をアップロードしている場合は、リストの先頭にも表示されます。追加できるインジケーターの数と種類に制限はありません。
EAには「Moving Average」インジケーターを追加します。実際、このインジケーターを2回追加します。このチュートリアルの冒頭で述べたEAの目標を覚えていますか?
2つの異なるバリエーションのEMAを使用します。
リストから「Moving Average」インジケーターを見つけてください:
インジケーターを選択すると、インジケーターのすべてのパラメーターが表示されます。 これらのパラメーターは、MetaTraderでチャートにインジケーターを追加するときに表示されるものと同じパラメーターなので、見覚えがあるはずです。ここで入力する値は、このインジケーターを参照するすべてのトレーディング判断で、EAが使用する値になります。
インジケーターの設定内容は以下の通りです(記載のないパラメーターはデフォルト値のままです):
- Moving average: 名前 ‘5 EMA’, タイムフレーム ‘PERIOD_H4’, Period ‘5’, Method ‘EMA’, Applied price ‘Close’
- Moving average: 名前 ‘10 EMA’, タイムフレーム ‘PERIOD_H4’, Period ‘10’, Method ‘EMA’, Applied price ‘Close’
- Stochastic Oscillator: 名前 ‘Stochastic’, タイムフレーム ‘PERIOD_H4’, K period ‘10’, D period ‘3’, Slowing ‘3’, Method: SMA, Price field: Low/ High, Mode: Main
- Relative Strength Index: 名前 ‘RSI’, タイムフレーム ‘PERIOD_H4’, Period: 9, Apply to: Close
- MACD: 名前 ‘MACD’, Fast EMA: 12, Slow EMA: 26, SMA: 9, Applied price: Close, Mode: Main
- Parabolic SAR: 名前 ‘PSAR’, Step: 0.02, Maximum: 0.2
すべてのインジケーターを設定したら、以下のようなインジケーターリストになるはずです:
すべてのインジケーターを追加したので、次のパートに進みましょう。
2b Custom Indicators
Section titled “2b Custom Indicators”Custom Indicators を使用したい場合は、チュートリアル動画をご覧いただくか、以下で方法をお読みください: Custom Indicators。
3. シグナル
Section titled “3. シグナル”EAにインジケーターが追加されましたが、EAはまだ注文のオープンやクローズを行いません。インジケーター(とそのパラメーター)をEAに認識させただけです。次のタスクは、エントリー/エグジットのシグナルを作成することです。シグナルは、EAがいつ注文をオープンし、いつクローズするかを定義する1つまたは複数の条件で構成されます。 まず、最初に作成するシグナルを選びます。「Open Buy」シグナルを最初に作成し、買い注文が正しいタイミングで開かれることを確認してから、他のシグナルを作成することを強くお勧めします。学習中はシグナルの作成と調整の複雑さをできるだけ低く抑えるためです。ここではそのようにしますので、Open Buyエントリーシグナルの作成から始めます。
4種類のシグナルは以下の通りです:
- Open Buy: このシグナルが有効になると、EAは買い注文を開きます(エントリー)。
- Open Sell: このシグナルが有効になると、EAは売り注文を開きます。
- Close Buy: このシグナルが有効になると、EAは買い注文をクローズ(エグジット)します。ただし、Open Buyシグナルが同時に有効な場合は除きます。
- Close Sell: このシグナルが有効になると、EAは売り注文をクローズします。ただし、Open Sellシグナルが同時に有効な場合は除きます。
Open Buyシグナルを作成するには、EAのメイン画面で「Open Buy」をクリックします。
このパート1(EA Builder Pro - はじめに)で「Empty template」を選択した場合、ほぼ空の画面が表示されます。これは、シグナルにまだ条件がないためです。シグナルを形成する条件を自分で追加する必要があります。
おそらくこのような画面が表示されているでしょう:
シグナルには最初の条件を入力するためのプレースホルダーが表示されます。条件を追加するには、縦に並んだ3つの黒い点のように見える「メニューアイコン」をクリックします。クリックしたら、「Add Condition」を選択して条件を追加します。 このステップをさらに3回繰り返し、シグナルに合計4つの条件を追加します(すべて同じ見た目です)。
チュートリアルの紹介ページのOpen Buyシグナルを覚えていますか?Open Buyシグナルを言い換えてみましょう:
- 5本バーEMAが10本バーEMAより上にある
- RSIが50より上にある
- ストキャスティクスが上昇中だが、買われすぎではない
- MACDが0を上抜けする、または
- MACDがマイナスだが上昇し始めた
作成した条件を、Open Buyシグナルの最初の部分の説明に合わせて調整しましょう:
1. 5本バーEMAが10本バーEMAより上にある
EMA 5インジケーターの値がEMA 10インジケーターの値より上(>)かどうかを確認するために、「above」(>)演算子を使用してインジケーターを別のインジケーターと比較します。
2. RSIが50より上にある
RSIインジケーターの値が50より上(>)かどうかを確認するために、「above」(>)演算子を使用してインジケーターと値を比較します。「50」を選択するには、まず条件の右側を「Indicator」から「Constant」に変更する必要があります。詳細情報。
3. ストキャスティクスが上昇中だが買われすぎではない
ここでは2つの条件を使用する必要があります。1つはインジケーターが上昇しているかを確認するもの、もう1つはインジケーターが買われすぎの領域にないかを確認するものです。
- ストキャスティクスインジケーターが上昇しているかを確認するには、インジケーターの前回の値と現在の値を比較する必要があります。値が増加していれば、上昇しています。つまり、ラインが上昇しているかを確認するには、現在の値(シフト0)が前回の値(シフト1)より上(>)であることを確認する必要があります。
- ストキャスティクスインジケーターが買われすぎの領域にないことを確認するには、インジケーターの値が80未満であることを確認する必要があります。これには「Below」(<)演算子を使用します。
4. MACDが0を上抜けする、または
MACDがマイナスだが上昇し始めた
シグナルにもう1つ(5番目の)条件を追加しますが、今回は「Group」を選択し、「Any」を選びます。新しい「Any」グループのメニューを使用して、もう1つの条件ともう1つ(2番目の)グループを追加します。
2番目のグループでは「All」を選択します。2番目のグループのメニューを使用して3つの条件を追加します。素晴らしい!コツをつかんできましたね!
最初のグループには2つの条件がありますが、1つだけが真であればよいため、最初のグループに「Any」を使用しました。2番目のグループには3つの条件があります。
しかし、2番目のグループでは「All」演算子を使用して、すべての条件が満たされる必要があることをEAに伝えます。
最初のシグナルを作成しました。次はシグナルをテストする番です。以下を行います:
- EAをエクスポートする。
- EAを「Experts」フォルダに配置する(MT5ではダウンロードしたファイルをダブルクリックすると自動的に行われます。MT4では手動で行ってください)。
- MetaTraderのテスターで「Visual mode」でEAを実行する。
- 買い注文が正しいタイミングで開かれたことを確認する。
最初のシグナルが機能したので、他のシグナルも作成していきましょう:
Open Sell
Close Buy
このチュートリアルの冒頭で、これは上級チュートリアルだと言ったことを覚えていますか?さあ、ここからです。
圧倒されそうに感じたら、心配しないでください。まず試してみて、必要なら休んでから戻ってきてください。これは長期的に成果をもたらす学習体験です。
クローズ戦略を振り返りましょう:
50および00の価格レベルをターゲットにしますが、次のレベルが5ピップス以上離れている場合のみです。それ以外の場合は、Parabolic SARの値までの距離をターゲットに設定します。また、ストップロスも設定しますが、これはチュートリアルの後半でストップロスモジュールを使用します。
では、これらすべてをどのように行うのでしょうか?クローズシグナルは2つの条件で構成されることがわかっています:
- 次の価格レベルまでの距離が5ピップス以上離れている必要がある。
- 価格がオープン価格 + 次の価格レベルまでの距離より高い必要がある。
1. 次の価格レベルまでの距離が5ピップス以上離れている必要がある
次の価格レベルまでの距離を知るには、注文のオープン価格を価格レベルの距離(50ピップス)で割った余りを計算する必要があります。ウェブツールで算術演算子を使用する場合、割り算の余りを計算するには「%」(モジュロ)演算子を選択します。つまり、1.09887(オープン価格)% 0.00500を計算すると、余りは0.00387(38.7ピップス)です。余りが45ピップス未満かどうかをチェックする条件を作成できれば、次の価格レベルまでの距離が5ピップス以上離れていることがわかります。
最初の条件を作成しましょう:
Close Buy
2. 価格がオープン価格 + 次の価格レベルまでの距離より高い必要がある。
最初の条件が設定されたので、2番目の条件は次の価格レベルまでの距離が5ピップス以上離れている場合にのみ評価されます。
2番目の条件は、現在の価格が次の価格レベルを超えたかどうかを確認します。これを行うには、価格が注文のオープン価格 + 次の価格レベルまでの距離より上にあるかどうかを確認する必要があります。次の価格レベルまでの距離は、50ピップスから余りを引くことで計算できます。つまり、計算は50ピップス -(オープン価格 % 50ピップス)= 次の価格レベルまでのピップス数です。したがって、Bid価格がオープン価格 +(50ピップス -(オープン価格 % 50ピップス))より上にある場合、買い注文をクローズします。
この例では、1.09887 +(0.00500 -(1.09887 % 0.00500))= 1.01000に変換されます。つまり、価格が11.3ピップス上昇すると注文がクローズされます。以下は、Bidがオープン価格 +(50ピップス -(オープン価格 % 50ピップス))より上(>)かどうかを確認する条件と、最初のクローズ条件を組み合わせたものです:
応援メッセージ すごい!Close Buyシグナルを作成しました!待って…まだ読んでいますか?これらの計算を紙に書いて確認し、理解しようとしていても心配しないでください。EAの構築中に休憩を取ることも自由です。練習が必要で、パズルのように感じることも多いですが、上達していき、気づいた時には思い描いたどんなEAでも構築できるようになっています!
Close Sell 売り注文のクローズシグナルはこちらです。基本的にClose Buyシグナルと同じですが、逆方向です。
シグナルとその機能についてさらに詳しく知りたい場合は、詳細なシグナルドキュメントをご確認ください。 EAのOpen/Closeシグナルを作成しました。つまり、EAはすでに自動的にトレードします。しかし、まだあります。EAの動作を変更するさまざまな方法があります。 これらは「モジュール」と呼ばれるもので、EAにも使用します。
4. モジュール
Section titled “4. モジュール”EAにシグナルが追加されたので、EAは注文のオープンとクローズを行うようになりました。残りのタスクは2つです:ターゲットが5ピップス未満の場合の代替テイクプロフィットをPSARに設定すること、そしてストップロスもPSARの値に設定することです。これを行うには、Take profit - Conditional (Pro)とStop loss - Conditional (Pro)モジュールを買いと売りにそれぞれ1回ずつ、合計2回追加する必要があります。最終的に4つのクローズモジュールになります:テイクプロフィット用に2つ、ストップロス用に2つです。
Take profit - Conditional (Pro)モジュールを追加するには、EAのメイン画面のStrategy部分で「Add」をクリックします。
EAに追加できるすべてのモジュールのリストが表示されます。 最も高度なモジュールの1つであるTake profit - Conditional (Pro)モジュールを追加します。 Addをクリックすると、モジュールのリストが表示されます:
モジュールのパラメーターを入力する必要があります。まず名前とその他の基本設定を入力します:
- 名前: Buy TP
- 有効対象: Is Enabled For Buy Order(このモジュールを買い注文のみに有効にするため)
次に前提条件を定義します。これは、TPが設定される前に満たされなければならない条件です。注文のオープン価格とターゲットの差が5ピップス未満の場合にのみテイクプロフィットを設定したいので、このチュートリアルの前のページと同じロジックを適用します。また、PSARが現在の価格より下にある場合(つまり価格の方向が上向き)にのみTPをPSARの値に設定します。つまり、価格が上昇している場合、オープン価格を50ピップスで割った余りが45ピップスより大きいかどうかを確認します:
次に、テイクプロフィットの値を注文のオープン価格 + PSARまでの距離に設定します:
テイクプロフィットを削除する条件は入力しないので、最後の条件は空のままにします。ただし、最後の値は設定します:
- Trail distance (pips): 0
- Trail step size: 0
- Close percentage: 100
売り注文用にも同じTake profit - Conditional (Pro)を追加します。設定内容は以下の通りです:
次にストップロスモジュールを追加します。前提条件がシンプルなので、設定が簡単です: PSARが現在の価格より上にある場合、ストップロスの値を常に注文の価格からPSARを引いた値に設定します。 つまり、(買いの場合の)前提条件は、PSARが現在の価格より上にあることです。開始値はPSARの値です。
売りの場合、前提条件は逆ですが、それ以外は同じです:
モジュールとその機能についてさらに詳しく知りたい場合は、詳細なモジュールドキュメントをご確認ください。 モジュールを使用して作成できる柔軟性に驚くことでしょう。例として、このブログをご覧ください: ATRインジケーターに基づいてストップロスを設定する方法
5. まとめ
Section titled “5. まとめ”最初の完全に動作するEAが完成しました!
EAをエクスポートしてMetaTraderで使用できます。詳しい手順が必要な場合は、初めてのEAの実行方法のチュートリアルをご覧ください。
次のステップとして以下をお勧めします:
- MetaTraderでバックテストを実行してEAをテストします。「Visual mode」を有効にして、注文が期待通りにオープンおよびクローズされることを視覚的に確認してください。このチュートリアルに従う際にミスがなかったか疑問がある場合は、アカウントに新しいEAを追加する際に選択できる「Tutorial - Cowabunga」テンプレートEAと自分のEAを比較できます。
- EAの設定についてさらにサポートが必要な場合は、サブスクライブしてお問い合わせください。目標を達成するまで回答と例を提供します。
- EAの入力値を改善してEAを調整します。EA Builder Proの無料版を使用している場合は、EA Builder Proで設定を変更できます。サブスクライバーの場合は、MetaTraderで(自動的に)入力を最適化できます。
- 十分に機能するEAができたと思い、実際に使用したい場合は、EAが期待通りに動作していることをあなた自身が確信するまで、デモアカウントでEAを実行してください。VPSでEAを実行することを強くお勧めします(詳細情報)。
- 十分な期間、デモアカウントでEAを実行してください。約1週間EAを実行することは、一般的に十分な期間とは見なされません。 私たちは個人的に、少なくとも200件の注文を手動で確認し、ライブアカウントに移行する前に少なくとも3ヶ月間デモアカウントでEAを実行します。 私たちは投資アドバイスを提供する資格がないことにご注意ください。EAをライブアカウントに設置する決定(およびどの情報に基づいて)は、あなたの責任です。
このチュートリアルを最後までお付き合いいただきありがとうございます。これからもお会いできることを楽しみにしています!50,000人以上のトレーダーがあなたの前にここを訪れました。200万回以上のテストがオンラインバックテスターを使用して実行されました!