![見出し画像](https://assets.st-note.com/production/uploads/images/16956146/rectangle_large_type_2_ef4eb81e9f8524c2cfee911a55a8a7d3.jpeg?width=1200)
MT4のEAをバックテストする方法
MT4でEA(エキスパートアドバイザー:自動売買プログラム)やインジケーターをストラテジーテスターでバックテストする方法についての説明です。
今回はEAを中心に説明をさせていただきます。
YOUTUBEにて作成した動画を公開していますが、こんな風に簡単にバックテストができます。
1. ストラテジーテスターを開く
MT4にてストラテジーテスターを開いてください。
MT4にあるこの虫眼鏡のマークがストラテジーテスターです。
もしMT4の上部にあるメニューにて「ストラテジーテスター(虫眼鏡)」が見当たらない場合には、「View」をクリックして開いて「ストラテジーテスター」をクリックしても開けることができます。
クリックする前はこういう状態ですが...
クリックすると、こうなります。チャートの下側にバックテストを行うためのストラテジーテスターが表示されます。
もし最初からストラテジーテスターを開いているのであれば、この操作は不要です。
2. EAを選ぶ
使用したいEAをまず選びます。
こちらの画像の矢印の部分です。
ここをクリックすると、このように入っているEAを選ぶことができます。
ちなみに、MT4には最初から「Moving Average(移動平均線)」「MACD」の2つが用意されています。
EAを持っていない場合には、最初からあるMAやMACDを使ってみてもらっても良いと思います。
3. 期間を選ぶ
期間を選ぶには「use date(日にちを使用する)」にチェックを入れて、バックテストする期間を設定することができます。
「from」が開始日時、「to」が終了日時です。
なので「from」「to」いつからいつまでバックテストしたいか日にちを指定するだけで良いのです。
ここでかなり過去のバックテストをする場合にはヒストリカルデータが必要になります。
4. モデルを選ぶ
モデルというのはどういうデータでバックテストをするかというのを選択できます。
ストラテジーテスターのここの部分にあります。
モデルには3種類ありまして、こういう位置付けになっています。
1. Every tick:信頼性が最も高い。実際のトレードと同様のもの。
2. Control points:信頼性が低い。
3. Open prices only:信頼性が最も低い。
とにかく、「Every tick」を使用して入れば間違い無いです。このEvery Tickが実際の動きに最も近いバックテストです。
「Every Tick」だとティックごとにバックテストを行いますので、チャートの一つずつの動きに対してEAが動きます。
結局、Control pointsを使用したりしても、最後には「Every tick」で確認は必要なので最初から使用して入ればいいかと思います。
ただ物によっては終値をみてトレードする場合のEAであれば「Control points」を使用すると効率よくEAバックテストを行えます。
5. ビジュアルモードを選択
「Visual mode(ビジュアルモード)」かどうかを選択できます。
ここをクリックしてチェックを入れると、ビジュアルモードにできます。
ビジュアルモードというのは、ローソク足やEAの動きチャートに表示させてそれを見ながらバックテストできるというモードです。
これを使用するデメリットがあります。単純にバックテストが遅くなります。
バックテストをするのに時間がかかりますので私はただバックテストをするという際にはこれを使用しません。
動作確認を行うのに適しているモードです。ただ最終的にはバックテストではなく、リアルタイムのチャートを使用してから動作確認を行う必要があります。
5. 設定を変更する
EAのバックテストする際に、それぞれのEAのセッティングを変更して行うことができます。
むしろこの設定をイジって、最高な設定を見つけるのが「バックテストの醍醐味」です。
この設定に関してはそれぞれのEAによって違いますので、それぞれでご確認ください。
バックテストが動かない場合
結果が表示されない場合にはいくつか可能性があります。
1. そもそもEAが動かない
購入したEAではまず無いと思いますが、プログラミングなどのミスによって動かない場合があります。
そういう時は最初から入っている「Moving Average(移動平均線)」を使用してEAが悪いのか?バックテストが悪いのか?を確認すると良いと思います。
2. ヒストリカルデータがない。
かなり過去のバックテストをしようとする場合にはヒストリカルデータがその分必要になります。もし直近の結果は表示されるけど、ある一定以上の過去だけバックテストをできない場合にはヒストリーデータが足りていません。
その場合にはこちらの記事を参考にしてヒストリカルデータを入手してください。
3. 設定値の間違い
もしEAの設定値が間違いがあれば、EAは稼働しません。
たとえば、RSI期間100で99以上なら売りというような条件でまずトレードをすることがないだろうと思います。
そういう場合には、確実にトレードをする設定値でまずはEAが動くかを確認するようにしてください。
4. 通貨ペアとタイムフレームの間違い
EAによっては通貨ペアやタイムフレームによる縛りがあるものがあります。
それはそのEAによって異なりますが、説明書を再確認して正しい通貨ペアやタイムフレームを使いバックテストをするようにしてください。
5. アカウントによる制限
EAによってはアカウント番号で縛りをつけているものがあります。
その場合、その紐づけられたMT4のアカウントでバックテストを行わないといけません。これはEAによって違いますので、そのEAのマニュアルなどの説明をご確認ください。
6.パスワードによる制限
こちらも同様にEAによってはパスワードによる制限がかかっているものがあります。バックテストでもそのパスワードによる制限が有効になっています。ただしくパスワードを入力するようにしましょう。
7. スプレッドの制限
EAでよくあるのですが、スプレッドが高い時にはトレードしないような制限がかかっているものがあります。
土日や朝方だとスプレッドが開いており、そのバックテストする時の条件にマッチしていない可能性があります。
その場合には、設定値で変更できる場合には一度「最大スプレッド」の設定を変更してみて動くかどうかを確認してください。
もしくはストラテジーテスターの方のスプレッドを変更しても良いかと思います。
8. メモリ不足
VPSでも安いプランを選択しているとメモリが1GB以下のものだとメモリ不足になります。
VPSを使用するなら2GBは最低でも契約して使うと良いかと思います。
最終的にはパソコンを変えたり、VPSの契約を見直していただければいいのですが、今できる対策としては「その他のソフトをすべて閉じる」というところだと思います。
ソフトが動いているほどメモリを消費して動きが遅くなっていきます。そのソフトを減らすことで消費メモリを少なくしてください。
9. 容量不足
バックテストをするためにヒストリカルデータを入れたりしていると、パソコンの容量が満タンになる時があります。
そうなると、フリーズしまくります。
そんな時は不要なヒストリカルデータを一旦削除すると良いかと思います。
もし今後も使う予定で削除したく無い場合には、ヒストリカルデータ専用のUSBメモリを用意したりしてそちらに必要な時から持ってきたりしても良いかと思います。
最近ではUSBメモリもだいぶ安いので。
10.チャートを開きすぎ
チャートの数を多く開けるほど、重くなります。あとチャートに表示しているバーの数が多いほど重くなります。
もしフリーズをしてバックテストどころでは無い時には開いているチャートを閉じてください。
あとオプションから「Max bars in chart」の数字を減らしてください。
普段トレードで使用するレベルなら「2000」ほどであれば十分かと思います。
11. 原因不明
なぜだかわからない...と言うことはよくあることです。
基本は原因がわかって、それに対して対策を打つべきですが、よくわからないけどよくなる方法があると良いと思います。
そういう時によくやるのが、再起動です。
まずMT4を閉じて、再度開いてください。
最後に...
LINE@やっています。ぜひお友達をお願いします。