MT4でEAのバックテストを行う方法をわかりやすく解説!

目次

MT4でEAのバックテストを行う方法

アルパカFX
今回はMT4でEAのバックテストを行う方法です。バックテストってやっていますか?
新米EAトレーダー
えーっと。。実は、バックテストは販売サイトの一覧しか見ていませんでした・・・。
アルパカFX
なるほど。確かに最初はとっつきにくいですもんね。バックテストのやり方は色々なサイトでも解説されているので、あえてここで取り上げる必要もないですね。
新米EAトレーダー
すいません。。サイト見ても実はよくわかっておらず。なんか途中まではできたんだけど、動かないんですよね。
アルパカFX
もしかして、自分のFX口座のスプレッド確認しました?よくあるのが、スプレッドがEAの設定より広く、1トレードも走らないというケース。
新米EAトレーダー
どこ見たら・・・。
アルパカFX
わかりました!ここでも解説とよくある質問をまとめておきますので、参考にしてください。

バックテストは、EA開発者なら当然のこと、使用するトレーダーにとっても大切なテストです。

初心者の方だからと言って、やらなくていいというものではありません。使用するEAがどんなパフォーマンスなのかを知る良いチャンスですので、是非試してみてください。

上の2人の会話のように、購入したEAのスプレッド許容量が狭いと、実際にテストを走らせても、真っ白な結果しか出ません。(私もかつてこれで半日費やしたことがあり。)

以下の手順を参考に、是非バックテストを行ってみてくださいね。ご自身の環境と思いもよらない違いが結果に出てくるかもしれませんよ。

MT4 EAバックテストの初期設定

MT4でバックテストの設定をしていきましょう。バックテストはEAだけでなく、インジケーターの確認をすることもできます。

ヒストリー内の最大バー数とチャートの最大バー数の設定

「ツール」>「オプション」へと進み、チャートタブを開きます。

ヒストリー内の最大バー数と、チャートの最大バー数を最大に設定するために、 99999999999999と入力して保存します。

OKボタンで保存をした後、再度、オプション画面を開くと、MT4の方で自動で、最大数をセットしてくれます。

新米EAトレーダー
これって、どのサイト見ても必ず書いてあるんだけど、なんでやる必要があるの?
アルパカFX
MT4ってデフォルトの設定のままだとバックテストできる期間ってだいたい1年5か月分になります。でも、バクテストって10年とかしますよね?だから、そのテストができるようにするための設定なのです。
新米EAトレーダー
なるほど!じゃあ、1年ぐらいのテストなら設定しなくてもいいってことか!
アルパカFX
間違ってはないですけど、この後説明するバックテストを見ていると10年は最低でもテストしようと思うはずなので、変更はしておいてくださいね。

[補足 1本のバーは何を意味している?]

このヒストリーバーはデフォルトでは、512000と表示されています。1本は1分足のチャートに該当するので、512000  ÷ (24時間×60分)=355日。FX市場の年間取引可能な日数は約245日ほどとなるため、1.45年で大体1年5か月分となります。 FX取引可能カレンダーはコチラ

エキスパートアドバイザで自動売買を許可

同じく、「ツール」>「オプション」へと進み、「エキスパートアドバイザ」タブを開きます。

これは、EAによっては、DLLやWebRecquest必要な場合があるので、チェックをしておきましょう。

アルパカFX
バックテストを始めるためのEAの設定は以上です。
新米EAトレーダー
えっ?これだけですか!?もっと複雑なのかと思っていましたが。
アルパカFX
おそらく、詰まるのはこの後行う過去分のヒストリカルデータを入れる作業ですね。テスト自体はこれでも動かすことが可能です。

ヒストリカルデータを入手する

ヒストリカルデータ議論は尽きない。

アルパカFX
ここさえ、乗り越えれば、設定は楽勝です。実はここもそんなに難しくないのですが、データの正確性にこだわると、今度は結構複雑になります。ようは、「正確」で「長期間」で「登録不要」で「無料」なデータがないんですよね。

ここがみなさんの頭を悩ませるところですので、一度整理をしましょう。

業者別ヒストリカルデータの比較

Alpari DUkascopy tickstory FXCM GMO FXDD MetaQuotes HistData
信頼性 高い 高い Dukascopyから取得 高い 高い やや低い 低い 不明
簡単  普通 普通 普通 面倒 時間がかかる 簡単 超簡単 簡単
期間 1999- 2003- 2001- 2007- 2005- 1971- 2000-
有料・無料 無料 無料 有料 有料 無料 無料 無料 無料
口座開設 デモ必要 デモ必要 不要 不要 必要 不要 不要 不要
特徴 FXCM同様人気 スイス銀行グループの会社。NDDデータ。 Dukascopyから取得できるが面倒な方はこちら。 精度が一番高いといわれている。 GMT+9(日本時間)

口座登録して取得。

期間と無料が魅力MetaQuotesのデータを一部流用のためやや信頼度が低い。 MT4から直接ダウンロードが可能。データの信頼性が低い。 海外の有志メンバーで作成。精度は不明。海外サイトだと人気

なぜ、ヒストリカルデータに多くの開発者が頭を悩ませるかというと、その精度が100点のデータがないということです。

MetaQuotesのデータがきれいだったら、誰しもがこの議論をせずに使用しているでしょうが、残念ながらMetaQuotes社のヒストリかるデータは不足が多いといわれています。

続いてFXDD。こちらは過去のデータでMetaQuotesのデータを流用していることもあり、精度が高いかというと、EA開発者は使用しないケースが多いです。

EAの開発者に人気なのは、FXCM、Alpari、Dukascopyです。国内証券をターゲットにしたEAはGMOも人気です。

この辺りは、口座解説か有料等の違いがありますので、気に入ったものを使用するのがよいでしょう。会社名ごとに比較検索すると、考察記事が無限に出てきます。

結論 EAトレーダーのバックテストを行うなら

いったん出し切りましたので、結論です。

最初は使用するならFXDDがよいかと思います。精度にやや不安が残るものの、完全におかしいというわけではありませんから。

また、導入コストという観点でも、無料で使いやすいことからこちらをお勧めします。

新米EAトレーダー
アルパカFX相当悩んだでしょ笑
アルパカFX

ほんと一長一短ですね。しかも、この議論下に一番大事な、運用する口座のヒストリカルデータで検証というのがないですから。EA提供者も、結局いずれかのヒストリカルデータを使って検証して、トレーダーはその口座含む複数の口座の中から選ぶわけですからね。

バックテストの結果はやはりどこまでいっても、100%保障とはなりません。

FXDDのヒストリカルデータをダウンロード

FXDDのヒストリーデータのダウンロードサイトに行きます。

今回はUSDJPYを使ってみましょう。USD/JPYのリンクをクリックするとダウンロードします。

データフォルダに入った過去チャートデータを削除

続いて、「ファイル」>「データフォルダ」をクリックします。

「history」>「Server名」フォルダへ移動します。

※ Server名としては、各FX会社事に異なります。「FX-MT4 Live Server 3」、「FX-MT4 Demo Server」などのフォルダ名が付けられています。

ここにある、USDJPYデータを削除します。

新米EAトレーダー
これは何やってるの?
アルパカFX
今から新しいデータを入れるので、ゴミデータを先に削除しているのです。

ヒストリカルデータをMT4にインポート

「ツール」>「ヒストリーセンター」へ行きます。

ヒストリーセンターからUSDJPYを探し、1分足をクリックします。

この時、もしデーベースにレコードがある場合は、レコードを選択して削除をしておいてください。

下のように何もなければ大丈夫です。

インポートボタンをクリックし、USDJPY.hstデータをインポートします。

以下のように取り込みができたらOKを押します。

インポートの際に、All Filesを選んでください。デフォルトだと、ファイルが表示されません。

以下がデータが全て入った状態です。2005年からデータが全部入っていますね。

ここまでできたら、一度MT4を閉じます。

新米EAトレーダー
ふぅ。やっぱり、作業をするのは大変ですね。データを入れる作業は難しくはないですが、やはり一つ一つ確認しながらやらないと何がやりおとしているかわからないですもんね。
アルパカFX”
そうですね。ヒストリカルデータはデータさえ取得できれば、あとは取り込むだけなので、慣れれば他の通貨もやってみてくださいね。
新米EAトレーダー
そっか!他にも通貨があるんですね。手順をここで覚えて全部やっちゃいます。後でやると面倒そうなので。
アルパカFX”
よいと思います!またわからないことがあれば聞いてくださいね。いよいよ次は、最後の仕上げです。
新米EAトレーダー
えっ。。。まだあるの?

他の時間足のヒストリーデータをMT4で作成する

前回までは、1分足だけを取り込んだ状態になるので、5分足、15分足、30分足、1時間足、4時間足、日足までのデータがありません。

ここでは、取り込んだ1分足を各時間足に成形する作業を行います。

新米EAトレーダー
ゴクリ・・・。
アルパカFX
慣れれば大丈夫ですよ笑

Period Converter ALLをダウンロードしてインストール

今から5分足他、各時間足を作成するのですが、MT4でデフォルトで使用できるツールは、5分足、15分足・・と合計7回も作業を行う必要があります。

1通貨ペアならいいのですが、複数あると面倒くさいので、ここは一括でやってくれるツールを導入しましょう!

新米EAトレーダー
こういうマル秘ツールってホント感謝ですよね。

Period Converter ALLのダウンロードサイトへ行きダウンロードします。

ダウンとロードしたら、「ファイル」>「データフォルダ」>「MQL4」>「Scripts」へ行きます。

ダウンロードしたperiod_converter_ALL.mq4を、このフォルダへドラッグアンドドロップします。

MT4を再起動しましょう。(または、ナビゲーター>スクリプト> period_converter_ALL を更新)

オフラインチャートを開いて各時間足を作成

「ファイル」>「オフライン・チャート」から、オフラインチャートを開きます。

USDJPY,M1のデータを選択して、開くをクリックします。

USDJPY,M1(Offline)というオフラインチャートが開きます。

次に、ナビゲーター>スクリプトから、 PeriodConverterAllTimeframesを選択してUSDJPY,M1(Offline)チャートにドラッグアンドドロップします。

日足も欲しい場合は、ConverterD1をTrueにします。

完了したら、「ファイル」>「オフラインチャート」を開いてみましょう。

赤枠のように、各時間足のデータができていたらMT4を再起動させて完成です!

新米EAトレーダー
結構大変でしたね。毎回、こんなに作業が続くのですか。
アルパカFX
これで終わりですよ笑 バックテストをする前に疲れてしまうかもしれませんが、最後のテストに取り掛かってしまいましょう!
新米EAトレーダー
アルパカFXさん、テスト好きなんですね。
アルパカFX
割と好きな方かもしれませんね笑 一回でも動かせば、自分のMT4で実際どう動くかがわかりますからね。

MT4でEAをバックテストしてみる

MT4のストラテジーテスターでEAのバックテストを実行

さて、いよいよバックテストです。

バックテストは、ストラテジーテスターを表示して実行します。

まずは、簡単に動かしてみましょう。

  1. 使用したいEAを選択
  2. EAで使用する通貨を選ぶ
  3. EAで使用する時間足を選ぶ

以上が、セットできたらスタートを押してみます!!

数分すると「ピプーッ!!」という音とともに完了します。

完了後、タブを見てみると、結果、グラフ、レポートが表示されます。

レポートタブで右クリック、「レポートの保存」をすると・・・

新米EAトレーダー
おおお!いつもEAの販売サイトで見るバックテストだ!!
アルパカFX
そうです。これをEAの開発者さんは掲載しているのです。ここまでやって、検証をしている開発者さんには感謝ですね。
新米EAトレーダー
バックテストがなんだか楽しみになってきましたね。早速、自分のEAでも試してみます!

テストを行っても結果が白紙の場合

利用している口座のスプレッドが、EAの許容スプレッドを超えている可能性があります。

スプレッドを現在値から低くするか、EA側の許容スプレッドを上げてください。

Flashes usdjpyのEAの初期許容スプレッドは1.5となります。

こちらを1.6以上に変更してテストしてみてください。

ストラテジーテスターの各種パラメータ

各項目は以下の通りとなります。

項目 説明
EA(エキスパートアドバイザー) 使用するEAを選択します
通貨ペア 通貨ペアを選択します
モデル 使用する価格の種類を選択します。始値のみが早いですが、より正確を求める場合、全ティックを選択します。
期間を指定 期間を設定します
ビジュアルモード バックテスト状況がチャート上に表示されます
エキスパート設定 バックテストの詳細やパラメーターを設定します
通貨ペアのプロパティー 通貨ペア情報を表示します
チャートを開く 選択した通貨ペアのチャートを表示します
エキスパート編集 Meta Editorを起動し、選択したEAを編集します
最適化 一つのパラメータだけでなく、複数のパラメータを検証します。
よかったらシェアしてね!
  • URLをコピーしました!
目次