どうも、カイです。
EAを購入する際には様々なポイントがありますが、バックテストの成績もその1つですよね。
しかしながら、EAの商品ページで紹介されているバックテストは使用している自分が運用予定のFX口座と業者が違うことや、EA開発者がデータをよく見せる為に最適化を行っていることもしばしば。
購入したものの、本当に今のトレード環境でこのEAは稼ぎ続けてくれるのか・・・?と慎重な方なら思うかもしれませんね。
実は、MT4を利用すれば、自信のトレード環境におけるバックテストを行うことができるんです。
自分のトレード環境におけるバックテスト成績なら信頼度は高いですし、環境下でのEAのパフォーマンスを検証することができます。
そこで今回は、自分のトレード環境におけるバックテストの実施方法を図解付きで紹介していきます!
Contents
バックテスト実施の手順
EAをMT4に設置する
まずはバックテストを実施したいEAをMT4に設置する必要があります。
すでに設置している場合は問題ないので次の手順へ進んでください。
MT4を起動し、「ファイル」から「データフォルダを開く」をクリックし、「MQL4」→「Experts」と進みます。

「Experts」内に販売からダウンロードしたEAのファイルを貼り付けましょう。
これでEAの設置はOKです。
MT4にEAを認識させるために再起動しましょう。
MT4の設定を変更する
バックテストを実施するには、まずはMT4側の設定を変更するところから始めます。
初期設定ではバックテストで検証できる期間が1年半程度と非常に短いため、そこを長期間に変更していきます。
なぜなら、EAはなるべく長期間で検証するほうが信頼度が高いからです。
まずMT4を起動し、「ツール」から「オプション」を開き、「チャート」のタブを選択します。
選択すると下のような画面になるので、「ヒストリー内の最大バー数」と「チャートの最大バー数」に入力できるだけ9を入れます。

入力し終えたらOKをクリックし閉じてください。
その後、もう一度「ツール」→「オプション」→「チャート」に進みます。
下の画面のように、両方の数字が「2147483647」になっていることを確認してください。

確認できたらOKをクリックして閉じましょう。
次に、「ツール」→「オプション」をクリックし、「エキスパートアドバイザ」タブを選択します。
下のような画面が出てくるので、「自動売買を許可する」、「DLLの使用を許可する」、「WebRequestを許可する」の3つにチェックをいれてOKをクリック。

次に、MT4のツールバーから「ストラテジーテスター」をクリック。
下のような絵のやつです。

ストラテジーテスターがない!という方は、「表示」をクリックして「ツールバー」にチェックをいれると出てきます。
ストラテジーテスターをクリックするとテスターウィンドウが開きます。
開いたらMT4の設定はひとまず終わりです。
次に、ヒストリカルデータをダウンロードします。
ヒストリカルデータをダウンロードする
ヒストリカルデータとは、過去のチャートのデータのことだと思っていただればと思います。
MT4のデータでは先ほど述べたように短期間のデータしか残ってないので、バックテストではヒストリカルデータを使うのが一般的です。
ヒストリカルデータの入手法はたくさんありますが、ここではFXDDという海外FX業者から入手する方法を紹介します。
まず、「FXDDのヒストリカルデータのダウンロードページ」へアクセスします。
下のボタンからサイトに飛べます。
ページ内の画像赤枠の部分に各通貨ペアのヒストリカルデータをダウンロードできます。
バックテストしたいEAに対応している通貨ペアを選択してダウンロードしてください。
ダウンロードするとZipファイルの中にhstという拡張子のファイルがありますが、これが選択した通貨ペアのヒストリカルデータになります。
次に、ダウンロードしたhstファイルをMT4にインポートします。
ヒストリカルデータをインポートする
今回は例として「pipsminer_EA」というEAをバックテストしていきますので、
対応通貨ペアのGBP/USDのヒストリカルデータをインポートしていきます。
MT4の「ファイル」→「データフォルダを開く」をクリックし、「history」をクリック。

その後、「使用しているFX業者のサーバー名」のフォルダをクリック。
今回の場合はTaitanFXのDemo口座になるので下の画像のようになります。

開くと、フォルダ内に「GBPUSD○○.hst」というファイルがいくつかあります。
インポートするのにこいつらは邪魔なのですべて削除します。

削除したら、いったん閉じてMT4を再起動しましょう。
再起動したら、「ツール」から「ヒストリーセンター」をクリック。
すると、下のような画面が出てくるので、画面左から目的の通貨ペア(今回はGBPUSD)を探し、「1分足(1M)」を選択してダブルクリック。

このときに、「デー・ベース:○○レコード」の○○部分を確認しておきます(画像赤枠部分)
今回は2048になってますね。
後でインポートされているかの確認に使うので、この数字を覚えておいてください。
次に、同画面から「インポート」をクリック。
下のような画面が出てくるので、「参照」をクリックし、ダウンロードしたhstファイルを選択しましょう。

選択したらOKをクリックします。
すると「デー・ベース:○○レコード」の数字が多くなっているので確認します。

多くなっていればインポートは完了なので、「閉じる」をクリックします。
各時間足を生成する
次に、「period_converter_ALL.mq4」というファイルをネットからダウンロードします。
下のボタンからダウンロードできます。
そして「ファイル」→「データフォルダを開く」→「MQL4」→「Scripts」内にダウンロードしたファイルをぶち込みましょう。

ぶち込んだら、ここでMT4を再起動します。
次に「ファイル」から「オフラインチャート」をクリックしてください。
すると下のような画面が出てきます。

するとインポートしたGBPUSDのM1チャートがあるので、選択して「開く」をクリック。
MT4でインポートしたGBPUSDのオフラインチャートが開きますので、「ナビゲーター」から「period_converter_ALL]を探し、チャート内にドラッグ&ドロップします。

すると各時間足の生成が始まるので、チャート左上の赤枠部分の表示が消えるまで待ちます。

赤枠部分の表示が消えたら、もう一度「ファイル」から「オフラインチャートを開く」をクリックし、GBPUSDの各時間足が生成されているのを確認します。
ここまできたら、いよいよバックテストを実施していきます!
バックテストの設定
バックテストを開始するにあたり、ここで先ほど開いたテスターウィンドウの各項目を設定していきます。
各項目について番号を割り振ってますので解説をよんで設定してくださいね。

①プルダウンから「エキスパートアドバイザ」を選択。
②プルダウンからバックテストに使用するEAをダブルクリックして選択。
③EAで使用する通貨ペアをプルダウンから選択。
⓸「全ティック~」をプルダウンから選択。
⑤「期間を指定する」にチェックを入れ、バックテスト期間を選択。
(終了テスト期間は先週の金曜日より前に設定すること!)
⑥EAが使用する時間足を選択。
⑦スプレッドを指定。業者の平均スプレッドより大きめに設定しよう。
⑧エキスパート設定。初期額とEAのパラメータを設定できます。
⑦のスプレッドはpips単位になっているので、例えば1.2pipsでテストしたい場合は「12」、0.6pipsなら「6」といった感じで入力します。
⑧のエキスパート設定を開くとこんな画面になります。

ここで初期の証拠金を設定できるのですが、デフォルトの通貨単位に「JPY」はありません。
しかし、直接JPYと入力すれば問題なく日本円でバックテストを行ってくれます。
EAのパラメーターはEAのマニュアルに沿って色々いじってみて下さい。もちろんデフォルトのままでもOKです。
バックテストを開始する
今回は例として「Pips_miner_EA」というEAを用いてバックテストを行います。
設定はこんな感じ。

準備ができたら、「スタート」を押します。

スタートすると、赤枠のように進捗が見れますので完了まで待ちましょう。
テスト期間や環境によりますが、数分~数時間くらいかかりますので気長に待ちます。
終了すると「ストップ」の部分が再び「スタート」に戻りますのでそれが合図です。
また、終了時におもちゃのアヒルを踏んだときのような音が鳴ります。(笑)
バックテストが完了したら「レポート」を開き、「モデリング品質」と「不整合チャートエラー」の値を確認しましょう。

きちんとバックテストが行われていればモデリング品質が「90.00%」付近、不整合チャートエラーが0になっているはずです。
1分足の期間でバックテストを行った場合、計算の都合上モデリング品質は25.00%になりますが、これは問題ないです。
これらを確認したら、右クリックで「レポートを保存」をクリックします。
保存するとブラウザが開き、レポートの一覧を閲覧できます。
よくEAの商品ページでも掲載されているやつですね。

これが今回私が実施したバックテストの結果です。
期間は少し短めですが、グラフはしっかり右肩上がりになってますね。
今の環境で運用しても大丈夫そうだな、というのがこれでなんとなくわかる(あくまで過去のデータでは)というわけです。
これで一通りのバックテストは終了です。お疲れさまでした!
まとめ
いかがだったでしょうか?
初めてバックテストをする方にとっては、結構時間のかかる作業になったのではないかと思います。
しかし、慣れたらすぐにできるようになるので全然大丈夫です!
慣れてきたらパラメータをいじって、より収益率の高い設定を見つけたり、FXDD以外からヒストリカルデータを入手して試したり・・・。といろいろなことが出来ちゃいます。
ぜひバックテストのやり方を覚えて、EAの検証や最適の設定の模索に役立てて下さい!