MT4のバックテストとは、メタトレーダー専用の自動売買ソフトを使って、過去の相場でテストをすることです。
自動売買のことをEA(Expert Advisor)といい、ソフトが正常に動くかどうか、また、どれほどの成績が期待できるかを、バックテストでチェックします。
このバックテストは、MT4オリジナルの便利な機能で、知識として知っておく価値はあります。
すぐに使いこなすのは難しいかもしれませんが、バックテストを上手く活用できれれば、将来的に、EAを使って自動的に収益を上げる仕組みを作ることも可能になります。
執筆者
ぶせな
FXの専業トレーダー。認定テクニカルアナリスト。 本格的にFXを開始してから10年で1億6,500万円の利益を突破。著書に、『最強のFX 1分足スキャルピング』『最強のFX 15分足デイトレード』(共に、日本実業出版社)がある。ツイッターアカウントは、『@busena_fx』、ブログは『億トレーダーぶせなブログ』。
1.バックテストとは
バックテストとは、EA(自動売買)がどのような損益を出したかを、過去の相場でチェックすることです。このバックテストで大事なことは、過去の相場で行うことです。
仮に、あなたがEAソフトを手に入れたとしても、いきなりリアル口座で稼働させるのは不安ですよね。EAのスイッチをオンにした瞬間、あなたが見ていない間に、自動でトレードしてくれるので、きちんと稼働するか、エントリーやイグジットは問題なく行うか、気になるはずです。
また、本当に利益が出るのかは、一番気になるところですよね。不具合が生じ、短時間で何十回と売買されて大損されても困ります。
そこで、過去のチャートをさかのぼって稼働させた場合に、どれ位の売買回数になるか、勝率、利幅などを細かくバックテストすることができたら、そのEAを信用していいか判断できますよね。初めてEAを使うなら、このバックテストは絶対にしたほうがいいです。
ただし、バックテストは、自動売買ソフトがなければできません。MT4に標準装備されているソフトを使わないのであれば、まずは自動売買ソフトを入手する必要があります。
この自動売買ソフトは、プログラマーや販売業者から購入することができます。サイト上で販売していることが多く、信頼できるものがあれば購入してもいいでしょう。ほとんどは、数万円で購入できます。中には、数十万で販売している場合がありますが、いきなり高額なソフトを購入するのはおすすめしません。
しかし、そもそもネット上で販売しているものなので、信頼できるか分かりません。儲からないソフトを、あたかも勝てるかのように宣伝して高額で販売するサイトもありますので、注意が必要です。
また、自動売買にしたいトレードアイデアがあれば、プログラマーに依頼してソフトを制作してもらうこともできます。その場合、プログラマーを探してコンタクトを取って発注します。複雑なアイデアでなければ、数万円で発注できます。
EAソフトを手に入れる流れは、以上となります。
2.MT4でバックテストをする準備
この章では、MT4に最初から入っているのバックテストのソフト「Moving Average」というバックテストのソフトを使って、バックテストの準備をする方法を解説します。このソフトを使えば、比較的簡単にバックテストをすることができます。
2.1.EAソフトがある場所の確認
「Moving Average」は、MT4をダウンロードしていれば必ず入っているので、次の手順で確認してみて下さい。
まず、上のメニューのナビゲーターのアイコンをクリックします。そして、インジケータ一覧の下に、「エキスパートアドバイザ」とあります。これが、EAのことです。

EAを動かす時は、必ずここから行います。また、新しいEAソフトを格納する場合もここに追加されるので、覚えておきましょう。
さて、EAソフトの場所が分かったら、バックテストの準備をしていきましょう。
バックテストは、過去のチャートをさかのぼって実行します。そのため、過去のデータが必要になります。データというと難しく感じますが、チャートをさかのぼって見た時、ある程度の期間まで過去チャートを見ることができますよね。
データとは、この過去チャートだとお考え下さい。過去チャートが不足していないかどうかチェックし、不足していればダウンロードするということです。
2.2.ヒストリーデータの確認方法
チャートの元になっている過去のデータを「ヒストリーデータ」といいますが、どの位あるかを、MT4上からチェックできます。
このヒストリカルデータは、次の手順で確認できます。
①ツールをクリックし、ヒストリーセンターを選択する
②バックテストしたい通貨ペアおよび時間軸を選択する。
③ここに表示されるのが、チャートの元になるデータです。

③のヒストリーデータで、一番上が、最新のローソク足です。
ここでは、2019年7月12日23時45分のローソク足が最新(チャートでいうと一番右端のローソク足)ということです。
また、②で15分足を選択しているので、データは15分ごとですね。ここのデータは、下へ行くほど過去になります。
そして、④のスクロールバーを一番下まで移動させると、最も古いデータが見れます。つまり、過去のデータがどれ位あるかが分かります。
ここでは、一番下までヒストリーデータを見てみましょう。

上の画像を見ると、①2019年5月6日19時45分のローソク足が、一番古いデータになります。
つまり、チャートをさかのぼった時、この時間より前は見ることができないということです。バックテストをする時は、この2019年5月6日19時45分~2019年7月12日23時45分の期間でバックテストをします。
なお、もっと長い期間バックテストをしたい場合、②からデータをダウンロードできます。「ダウンロード」をクリックしてみましょう。

すると、上図のような表示が出てくるので、OKをクリックします。
しばらくすると、ダウンロードが完了します。完了したら、データの一番下を見てみましょう。

2016年11月29日23時00分までダウンロードできましたね。
これで、15分足でバックテストできる期間が、2016年11月29日23時00分~2019年7月12日23時45分まで増え、テスト期間は2年半以上できるようになりました。
2.3.ヒストリカルデータのダウンロード方法
先ほどの方法でヒストリーデータをダウンロードするだけでもバックテストはできますが、「より正確なローソク足」で、「より長い期間テスト」をしたい方もいるでしょう。
その場合、次の手順でさらに過去のデータ(ヒストリカルデータ)をダウンロードできます。
《注意》
ここで説明する手順を踏んでバックテストをすると、少し時間がかかります。まずはバックテストを試してみたいという方は、ここを飛ばして、「3.MT4でバックテストする方法」に進んで構いません。
①ツールから「オプション」をクリックする。(※先ほどは「ヒストリーデータ」)
②オプション項目が表示されたら、「チャート」を選択する。
③「ヒストリー内の最大バー数」「チャートの最大バー数」の数字を最大にする。

ちなみに、③では、9999・・・という任意の数字を入れます。これ以上大きな数字はないので、このあとダウンロードする時に、最大の期間のバックテストができます。
③までできたら、OKをクリックします。そして、再度、「ツール」→「オプション」→「チャート」を開いてみて下さい。
すると、次の画像のように、MT4上の最適な最大値に変更されます。決して、9999・・・ではないので、数値が違っても問題はありません。

次に、現在ダウンロードされているデータを全て削除し、新しいデータに書き換えます。こうすることで、より正確なローソク足になります。
①ファイルをクリックし、「データフォルダを開く」を選択します。
②「history」を選択すると、次の画面に進みます。

すると、自分が使っている口座が出てくるはずなので、そのフォルダをクリックし、中を全て削除して下さい。フォルダごとを削除しないようにして下さい。フォルダの中を削除します。

そして、MT4をいったん消して再起動します。
その後は、「2.2. ヒストリーデータの確認方法」で説明した通りに、「ツール→ヒストリーセンター」の順に進んでダウンロードして下さい。
3.MT4でバックテストをする方法
バックテストの準備ができたら、実際にバックテストをやってみましょう。
3.1.対象通貨ペアの表示方法

まず、①ストラテジーテスターをクリックします。
そして、②MT4の下部に、テスター表示されたことを確認して下さい。①ストラテジーテスターをもう1回クリックすると、消えます。バックテストしない時は、クリックしてオフにしておきます。ここでは、表示したままで大丈夫です。
なお、バックテストしたい通貨ペアをこのあと選択しますが、「気配値表示」に対象の通貨ペアがないと、そもそも選択ができません。気配値に対象の通貨ペアがあるか、次の方法でチェックしておきましょう。

①気配値を表示し、通貨ペアを出します。
②バックテストしたい通貨ペアがない場合、気配値の上で右クリックをし、「すべて表示」を選択します。
そして、MT4をいったん消して再起動します。
そうすると、次の画像のように、MT4に登録されている全ての通貨ペアが表示されます。

ここから、バックテストしたい通貨ペアを探しましょう。
3.2.バックテストの手順
次に、バックテストが正常に作動するように設定をします。

①ツールからオプションを選択します。
②上図の3つの箇所に、チェックが入っているか確認して下さい。入っていなければ、チェックを入れてOKをクリックします。
これでようやく、ストラテジーテスターを実行することができました。
引き続き、下図の手順で進めていきましょう。

①「エキスパートアドバイザ」を選択します。
②バックテストするEAソフトを選択します。ここでは、「Moving Average」でテストします。なお、インストールしたにもかかわらず、ここに表示されない場合は、失敗した可能性があるので、再度試して下さい。
③テストする通貨ペアを選択します。ここでは、AUD/JPYで実行してみます。
④モデルは、テストする価格のタイプで、次の3つがあります(下になるほど、テストの精度が落ちます)。
それぞれのモデルをプルダウンすると、説明が出てきます。特にこだわりがなければ、「全ティック」を選択すると良いでしょう。時間がかかると書いてありますが、精度の低いバックテストをしても意味がありません。
⑤検証する期間を選択します。
指定をしないと、ヒストリカルデータの全てのローソク足で検証します。検証期間が長すぎると、EAソフトによっては、何時間もかかる場合があります。その場合は、一度テストを止めて、期間を短く指定して下さい。徐々に期間を長くしていき、時間を調整していくと良いでしょう。
⑥ビジュアルモードをオンにすると、バックテストの状況がチャート上に表示されます。
テストの開始日からローソク足が形成され、エントリーからイグジットまでトレードしている状況が分かります。チェックしてもしなくても、どちらでも大丈夫です。
⑦通貨ペアの時間軸を決めます。ここでは、1時間足を選択しました。つまり、AUD/JPYの1時間足でバックテストするということです。
⑧スプレッドを選択します。現在値とは、今のスプレッドです。相場が動いている時なら、現在値が良いでしょう。
ただし、週末にバックテストをする場合は注意が必要です。なぜなら、マーケットがクローズする土曜日の明け方は市場参加者が少ないため、スプレッドが開いている可能性が高いからです。開いたままのスプレッドで検証しても意味ないので、普段のスプレッドで行なうべきです。
なお、プルダウンの数字は、「10=1pips」です。50を選択すると、5pipsということです。
⑨エキスパート設定は、テスト資金やロット数の設定の他、EAソフトの細かいパラメータを入力するところで、バックテストで一番重要な部分と言っていいでしょう。
当然ですが、パラメータは、EAソフトごとに異なります。同じEAだとしても、パラメータの数字を変えるだけで、バックテストの結果は大きく異なります。
勝てなかったEAが、数字を変えるだけで勝てるようになったり、その逆もあります。EAを使う上で、パラメータの設定一つで、いかようにでもなるとお考え下さい。それだけ大事な部分です。
EAを使い倒すトレーダーは、このパラメータを何度も変え、同じEAでも何十回とテストをして、勝てるEAを作り込んでいきます。
⑩最後に、OKをクリックすると、バックテストがスタートします。テストが終わるまで待ちましょう。
3.3.バックテストの結果の見方
バックテストが完了したら、結果をしっかりチェックする必要があります。
テストが完了すると、次のように、テスターの下部に結果が表示されます。

ご覧のように、エントリー時間、約定価格、損益結果といった全トレードの詳細が、1トレードごとに出てきます。リアルトレードをした時の、トレード履歴と同じようなものです。
次に、グラフを見てみましょう。

折れ線グラフが証拠金の推移で、縦軸が証拠金額、横軸がトレード回数です。
上記の結果では、終了時点で、開始時点より資金が減っていることが一目で分かります。
次に、レポートを見てみましょう。

ご覧のように、テスト結果を数字で分析して表示してくれます。
勝ちトレード数や最大ドローダウンなど、検証すべき項目を解析してくれていますね。このような検証は、スキャルピングやデイトレードにしても、本来は自分でやるものです。しかし、時間がかかる上、都合よく解釈してしまったりと、適切な分析をするのは意外と難しいです。
MT4のバックテストなら、手間がかからない上、客観的な分析をしてくれるので、重宝します。
また、右クリックして、「レポートの保存」を選択すると、バックテストの結果を保存することもできます。一度実行したバックテストは記録に残しておかないと、パラメータを変更した時に比較ができません。
なお、レポートを保存すると、次のようなページに移ります。

分析結果に難しい項目はないはずなので、一つずつチェックしていきましょう。時間をかけて、丁寧に見ていくといいでしょう。
最初は、勝率の良し悪しや、勝ち負けくらいしか頭に入らないかもしれません。しかし、何度もパラメータを変えてテストしたり、違うEAを使ったりすると、そのEAの特徴が分かるようになります。
例えば、「勝率も連勝も多いけど1回の負けが致命的である」「ドローダウンが少なく右肩上がりの利益になる」など、EAのクセを発見することができます。そうなると、自動売買のメリットとデメリットも分かるようになって、利益をあげるEAを作りたいと思い始めるでしょう。
3.4.検証方法を変えてみる
たった一度のバックテストでは、そのEAが得意とする相場は分かりません。
1回テストして、マイナスだったから使わない、というのはもったいないです。検証が足りないでしょう。これでは、新しいEAをどれだけ使ったとしても、使いこなせないです。
逆に、1回のテストでプラスだったからといって、いきなりリアル口座で稼働させるのは、極めて危険です。今回の結果は、あくまでも過去であり、未来も利益が出るという保証はありません。
上述したように、パラメータやスプレッド、期間を少し変えるだけで、結果は大幅に異なります。それは忘れないで下さい。
では、さきほど行なったバックテストを、スプレッドを変更して再度テストしてみます。
上図では、スプレッドが7.8pipsでしたが、今回は0.2pipsです。下図を見て下さい。

スプレッドを変えると、結果は大違いです。今回は、大幅に利益が出ました。
スプレッド7.8pipsと0.2pipsというのはちょっと極端ですが、条件によって、全く結果は異なるものだと分かって頂けると思います。1回のトレードでは、わずかな差かもしれませんが、それが重なると結果は大違いです。
スプレッドが7.8pipsのときにトレードなんてしない、と考えるかもしれません。
しかし、それは裁量トレードのときですよね。自動売買は、経済指標でスプレッドが大幅に開こうが、売買シグナルが出ればエントリーします。通貨ペアによっては、スプレッド数十pips開いている場合もありますので、頭に入れておいて下さい。
また、ひとたび自動売買のスイッチをオンにすると、100回や1000回と勝手にトレードします。むしろ、たくさんトレードして欲しいと思いますよね。スイッチをオンにしているのに、週に数回しかトレードしないなら、自分でやった方がましだと思ってしまうのではないでしょうか。もちろん売買シグナルを出すルールにもよります。
しかし、トレードをこなすことで、利益は積みあがるのですから、トレードしないEAはストレスを感じるでしょう。心理的に、回数をこなすEAの方が、自動売買をやっている気になるものです。これからバックテストするときは、このような点も注意して下さいね。
まとめ
MT4は、自動売買が使えることが、最大の特徴です。
まずはバックテストの方法を覚えることからスタートして下さい。この記事で紹介したように、MT4には無料のEAが備わっているので、自分でテストしてみると良いでしょう。
そして、検証期間や通貨ペア、時間軸、パラメータを変え、たくさんバックテストして下さい。どのようなEAが良さそうか、分かってくるでしょう。
バックテストができるようになると、自動で利益を上げてくれる不労所得のような仕組みに、きっと虜になるのではないでしょうか。FXの利益の出し方の一つとして、ぜひ取り入れてみて下さい。