MT4でバックテストとフォワードテスト【理由から方法まで】

ツール

● 当サイトの厳選ランキング! ●

1位XM Trading (エックスエム)評判レビュー公式サイト
2位Gemforex (ゲムフォレックス)評判レビュー公式サイト
3位iForex (アイフォレックス)評判レビュー公式サイト
4位TitanFX (タイタンFX)評判レビュー公式サイト
5位Axiory (アキシオリー)評判レビュー公式サイト
ハイローオーストラリア評判レビュー公式サイト


「バックテストなんて難しそう!」とつい逃げたくなりますが、
生涯利益がプラスの上級者の話を聞くと、トレードするにあたって必ず「テスト」をしているといいます。

自動売買プログラムのテストだけではなく、裁量トレーダーもテストを繰り返し行って成績を上げています。

今回はMT4を使ったテストの意味と方法を詳しく解説します。

商品CFDもできる海外FX口座(ゲムフォレックス、XM、など)を持っていればFXだけでなく商品や株価指数のテストもできますよ!

「他で読んでもよく分からなかった」という方が知りたいことがすべてここにあります!

テストの種類と必要な理由

トレードアイデアが利益を生むかどうかを検証することを「テスト」と呼びます。

方法で分けると手動テストとプログラムによるテストがあり、
期間で分けるとバックテストとフォワードテストがあります。

裁量トレードでいいアイデアを思いついたらテストをして検証すれば自信を持ってトレードすることができます。

そして自動売買であるEAは、見ていないときもトレードを続けるのですからテストなしでは不安で使うことができないですよね。

最初に用語を知っておくと理解が早いので、次にまとめておきます。

混乱しやすいテストの種類と用語

バックテストとフォワードテストの違いは、検証する時期が過去か未来かの違いです。

手動とプログラムによるテストの違いは、裁量トレードかシステムトレードか、ということですね。

どんなテストも、完璧に利益に貢献してくれるとは限らないのは想像できると思います。

市場の未来なんて誰にもわからないですから。

それでもテストすらしないトレードは無謀なものになってしまい、無駄に損失を重ねてしまいやすいのです。

これらのテストの手順ですが、手動かプログラムか決まったらルールや使うインディケータを決めて、バックテストかフォワードテストどちらかを実行し結果を検証するという順です。

もちろんすべて行ってもいいのです。

そして検証が済んで悪いところがあれば直すということを繰り返していくのがポイントです。

つまり、PDCAサイクルを繰り返すということです。

※PDCAサイクルとは https://www.nri.com/jp/knowledge/glossary/lst/alphabet/pdca

では、それぞれについてデメリットも含めて解説します。

手動テストとプログラムによるテストのメリットデメリット

手動テストとは、プログラムによらないテストのことです。

チャートに対して目で見て手でPCやスマホを操作して自分の判断でトレードを続け、結果を集めていくという地道な行動です。

※バックテストではどうするのかという疑問がわきますが、
手動テストができるインディケータも世の中にはありますし、それがなくても過去のチャートを見て「ここでエントリーしたなら?」とメモをとりながら進めることができます。

手動テストのメリットデメリット

自動売買でなく、自分でPCやスマホを操作してトレードするのを「裁量トレード」といいます。

裁量トレードのためにするのが手動テストです。

メリット

  • 目で確かめながらエントリーポイントを吟味できる。
  • デメリットにもなりえるメンタル面については、メリットもあります。
    テスト中に自分の感情がどう動くかをデモ口座で体験できるので、失敗しやすい感情がいつ出るのかを知ることができます。
  • 裁量トレード中心のトレーダーにとっては、トレードの時間帯などの予定を組むためにもやっておくと良いテストです。

デメリット

  • 感情や疲れなどの影響を受け精度が乱れやすい。
  • 長期間のデータが欲しい場合、多くの時間と労力を使う。

プログラムによるテストのメリットデメリット

プログラムがテストをしてくれるということは、自動でトレード結果の検証をしてレポートも出してくれるということです。

MT4でバックテストをするときは「ストラテジーテスター」という機能で行います。

メリットは計り知れないですが、
デメリットとしては「必ずしもテスト通りになるわけではない」ということがあります。

※フォワードテストのときはデモ口座でEAを動しつづければできるのでもっと簡単です。

※EAを入手するときに提供元がバックテストの結果などを提示していることがほとんどですが、
EAを使う前にはご自身でもテストをすることを強くおすすめします。

※EAの選び方と設定方法はここ
『キツネEAが話題!ゲムフォレックスのEAに挑戦しよう』

メリット

  • EAはほったらかしでもトレードを自動でしてくれて利益を積み上げていってくれる便利なものです。
    しかし新たにEAを使う前は不安がつきものです。
    その不安を具体的な数値で確かめてくれるのはありがたいですよね。
  • 今後のトレードの参考資料として、最新でしかも自分に合った検証結果が得られるのがプログラムによるテストの最大のメリットです。

デメリット

  • 結果の過信は禁物で、いざ実際にEAを本口座で使っても、必ずしもテスト通りの成績になるとは限らない。
    特にバックテストでは現実には起きてしまう約定拒否やスリッページまでは起きないので誤差が生じます。
  • 過去のデータでテストするので、未来を確約できない。

※ちなみにEAを売ってくれる業者さんのバックテスト結果は、カーブフィッティングといって成績を上げるような設定をしていることがあります。
こんなこともバックテストを過信するデメリットといえます。

「未来なんてわからないよね」とさえ意識していればデメリットの悪影響は受けにくくなります。

それよりもバックテストなしの荒いトレードをするよりも断然良いです。

バックテストの前にヒストリカルデータを入手しよう

バックテストには過去の価格のデータが必要です。

これを「ヒストリカルデータ」といいます。

「私はフォワードテストしかしない」という人は不要ですが、それでもこの機会に入手方法だけでも読んでおいてください。

世界中のあらゆる銘柄の長期にわたる価格データをぜんぶMT4に入れておくのは負担になるので、
はじめは最小限のデータしか入っていません。

そこで自分がテストしたい銘柄と期間のデータを取ってくる必要があるのです。

ヒストリカルデータをくれるところ

MT4やMT5を作っているメタクオーツ社が提供しています。

他にもオアンダなどがありますが今回は簡単なメタクオーツ社からもらいましょう。

ヒストリカルデータの取り方(ヒストリカルデータのダウンロード)

ヒストリカルデータをメタクオーツ社などからもらってきて、自分のMT4に読み込ませることを
「ヒストリカルデータのダウンロード」といいます。

メタクオーツ社のデータはMT4の操作だけで簡単にダウンロードできるので、それを説明します。

以下の手順で行います。

  • 準備としてMT4のキャパシティを広げておく。
    「ツール」「オプション」を開き「チャート」タブを選択、「ヒストリー内の最大バー数」「チャートの最大バー数」の双方に「99999……」と入力。
    これでたくさんのヒストリカルデータを受け入れることができます。
  • MT4にデータを読み込ませるために「ツール」「ヒストリーセンター」の順にクリックします。
  • ヒストリーセンターのウィンドウに銘柄と時間足がざーっと並びます。
  • もう入っている銘柄は変な四角が黄色と緑になっています。
    まだMT4に取り込んでいない銘柄と時間足は、四角はグレーになっているので、それが欲しい場合にダウンロードの必要があります。
  • 欲しい銘柄の時間足ををクリックして青くし、「追加」をクリックして日付を確認します。
    大抵その日の日付になっているので、それで進めます。
  • 下の「ダウンロード」をクリック。
    注意文が出ますが「OK」にするとダウンロードがはじまります。
  • 数分かかることもあるので気長に待って、終わったら元の画面に戻るので「閉じる」で終了です。

※ダウンロードのときの注意文は、使っているFXブローカーのヒストリカルデータと違うかもしれないという意味です。
これもテスト結果のズレの原因にはなりますが、まずはメタクオーツ社のデータでやってみましょう。

秒足のヒストリカルデータはないの?

ヒストリカルデータで一番短い足は1分足です。

0.1秒足とか1秒足とかの価格が保存されていてまるでビデオを再生するように再生できればいいのですが、
調べたところそこまでの膨大なデータを保存することはどこもしていないようです。

ヒストリカルデータが正しくダウンロードできているかどうか確認する

ヒストリカルデータが正しくダウンロードできているかどうかは、ストラテジーテスターの下のタブのうち「レポート」を開いて確認します。

右上の「モデリング品質」が90%になっていれば成功しています。

※この例はダウンロード前の様子です。「モデリング品質」は「n/a」ですがこのままでもバックテストができます。

MT4のテスト方法【1.手動テスト】

ではテストの方法です。

MT4の機能はすべて無料で使えるので、もちろんバックテストも無料でできます。

最初は裁量トレードの検証のための手動テストの方法と便利なインディケータの紹介です。

手動のバックテストの方法

バックテストは過去のチャートの値動きを再現しながら、注文を入れたいところをエクセルなどに記録し続けて成績も計算して検証します。

MT4のストラテジーテスターを起動して検証したい過去の期間を指定、
チャートを動かして自分でエントリーポイントをチェック
していくことになります。

※ちなみにこれがMT4上に架空の注文を入れられるインディケータ。
ブロガーの方が配布されているので感謝と共に自己責任で使ってください。
http://fx-dollaryen.seesaa.net/article/414172748.html

手順を解説します。

ここでは「2021年前半には、ゴールドの日足のトレードにドンチャンチャネルが有効だったのかどうかを検証する」を例にとります。

「Donchian.ex4」というインディケータは、あらかじめ無料サイトで入手して入れてあるものです。

※無料インディケータを探せるところの例「abysee」 https://www.abysse.co.jp/mt4/

細かい手順に分けますが、することはとても簡単です。

  1. ヒストリカルデータを事前に準備しておく。
  2. MT4を開く。
  3. バックテストをしたいインディケータがMT4に入っているなら次に進みます。
  4. メニューバーから「表示」「ストラテジーテスター」をクリックしてストラテジーテスターを表示。
  5. ストラテジーテスターの左から「インディケータ」「Donchian.ex4」「GOLD」「Daily」「コントロールポイント」「現在値」と選んでいきます。
  6. 一番下の列は「期間を指定」にチェックして、「開始日」と「終了日」を入力。
    例では2021年の1月1日から6月1日にしてあります。
  7. 設定が終わったので、右下の「スタート」をクリックで6月1日からの値動きを再現してくれます。
    このとき「スタート」が「ストップ」に変わります。
  8. 裁量トレードのルールを検証したいので、自分で「ここでエントリーしたい」と思ったら「ストップ」を押します。
    そして「挿入」「矢印類」で矢印をつけるなど後でわかるようにしておきます。
    損切りや利益確定の場所に来たらまた「ストップ」して印をして結果を手計算してどこかに記録しておきます。
  9. 再び「スタート」をクリックして、値動きを進めて手順を繰り返します。

※エントリーポイントに矢印が描けないときは記録に価格と時間を書いておくか、スクリーンショットをとってペイントなどで印をつけておき、後でわかるようにしておきます。

テスト結果の検証について

最後に8.のエントリーに対して検証します。

だいたい以下のようなことを記録して今後に生かします。

用語の説明と使い方は下に書きますね。

  • エントリーのルールは正しく守られたか?
  • 損切りと利益確定のルールは正しく守られたか?
  • 勝率
  • プロフィットファクター(リスクリワード比と同じ使い方です)は良いか?
  • 利益と損失のバランスはどうか?
  • どんなときにどんな感情が起きたか?
  • このルールは今後、利益を残せそうかどうか?

※「コントロールポイント」はざっくりした値動き、「全ティック」は微細な値動きを再現してくれるのでテストの精度を上げるには時間がかかるのを覚悟しつつ全ティックが良いです。

以上、地道な作業ですが意外と面白くてやりはじめると時間を忘れてしまったりして面白いですよ。

手動のフォワードテストの方法

次は手動のフォワードテストの説明です。

これはバックテストよりも簡単で、テストをはじめたければデモ口座でトレードを続けてみればいいだけです。

検証の方法は同じです。

決めたルールで勝てるのかどうか実際に試すということで、やったことのある人は多いはずです。

資金に余裕のある場合は、本口座で小さなロットでフォワードテストをしてもいいでしょう。

このとき、感情に左右されてルールを守れないことが増えるので
その感情も記録しておくと、自分のメンタルの癖や特徴を知る手掛かりになります。

半年間のテストがしたいなら、ほんとうに半年間続けなくてはならないので大変ですが、
ここで得るものも大きいので1日1時間ずつなど無理のない方法で行います。

「欧州時間の前後1時間の動きで勝てるかどうか?」といったテストも実りがあるものです。

フォワードテストが終わったら、バックテストのときと同じように検証し、次に生かします。

MT4のテスト方法【2.プログラムによるテスト】

手動のときにも使ったMT4の「ストラテジーテスター」は、EA(自動売買)プログラムのテストによく使われます。

操作が簡単で多彩なテストができます。

EAのバックテストの方法

では例として「2021年前半には、ドル/円の日足のトレードに移動平均戦が有効だったのかどうかを検証する」でやってみましょう。

MT4には最初からインディケータのセットやEAがいくつか入っています。

そのなかの「Moving Average.ex4」でテストをしてみます。

これは”バー(ローソク足みたいなもの)が移動平均線を上抜けたらロング、
下抜けたらショート”というとても単純なルールのEAです。

操作方法は、”手動のバックテストの方法”とほとんど同じです。

  1. ヒストリカルデータを事前に準備しておく。
  2. MT4を開く。
  3. バックテストをしたいEAがMT4に入っているのを確認。
  4. メニューバーから「表示」「ストラテジーテスター」をクリックしてストラテジーテスターを表示。
  5. 左から「エキスパートアドバイザ」「Moving Average.ex4」「USDJPY,US Dollar vs Japanese Yen」「Daily」「コントロールポイント」「現在値」と選んでいきます。
  6. 一番下の列で「期間を指定」にチェック、「開始日」と「終了日」を入力しましょう。
  7. 設定が終わり「スタート」をクリックすると、EAもチャートも自動で作動し始めます。
  8. 裁量トレードと違い、ほったらかしで終わるまで待ちます。
  9. 設定した期間まで動いたら終了、下にあるタブのうち「結果」「グラフ」「レポート」で結果の検証ができます。

待っていれば自動ですべて終わってしまい、勝率やプロフィットファクターなども出してくれるのでとても楽です。

これでEAの成績がよければそのEAを本口座で運用すればいいのです。
(必ずしもテスト結果と同じ未来になるとは限りませんが)

成績の詳細がレポートで出るので、使い方も下のほうに書いておきます。

EAのフォワードテストの方法

裁量トレードのための手動フォワードテストと考え方は同じです。

海外FXはだいたいデモ口座を用意してくれていますので、デモ口座でEAを運用し結果を待ちます。

その後、MT4のレポートを検証します。

ファンダメンタルもチェックしつつリアルタイムで見守りながらなので、
テスト記録に書き込むことも多いし最新のテスト結果が得られます。

MT4のレポートの見方

バックテストとフォワードテストが終わったら、レポートを見て検証します。

バックテストとフォワードテストのレポートは少し違いますが、重要なところは同じです。
(手動のバックテストで、注文などをメモしていた場合は自分で計算しないと勝率などは出せません)

レポートの出し方

レポートの出し方どこで見る?
バックテストストラテジーテスターの下のタブの「グラフ」と「レポート」を開けば見られるし、右クリックで保存もできるストラテジーテスターのタブの「レポート」で見られる
「グラフ」は成績グラフ
保存するとブラウザなどで見る
フォワードテストターミナルの下のタブの「口座履歴」を開き、適当なところで右クリックして「詳細レポートの保存」を選択、ブラウザが立ち上がって自動で表示される ブラウザなどで開く

要するにストラテジーテスターが動いた後出してくれるレポートと、リアルにトレードした後出るレポートとちょっと違うということです。

下の図で見た目を比べてあります。

MT4のレポートの用語

重要な用語を先にまとめておきましょう。

用語はすべてのテストに共通です。

用語意味使い方
純益総利益-総損失 ですこれがプラスじゃないと意味がない( ;∀;)
プロフィットファクタ(PF)総利益÷総損失 です1より大きいのが良いです
総取引数期間中、取引が成功した数自分の想定した数と少なすぎても多すぎても良くないことが多い
テストバー数テストで使ったローソク足の本数変な数値でなければテストが正常だったということ
モデルティック数テストで使ったティック数
不整合チャートエラーエラーのあった数多すぎればなにかあるので、設定やルールを変えてやり直したほうがいいです
総利益期間中の利益これだけではトレードの良しあしはわからない
総損失期間中の損失
期待利得総利益÷トレード数
(よくいう期待値と同じ)
これがトレードの成績をみるうえで重要。1回のトレードでどのくらいの利益が期待できるかなので、大きいほうがいい。マイナスのときは、トレードの見直しが必要。EAなら使わない。
最大ドローダウン損益グラフが下がったときの幅のうち、最大のもの
下がる前の残高-下がった後の残高
あまり大きくないほうがいい
相対ドローダウン最大ドローダウンのときの口座残高の比較。
最大ドローダウンのときの残高÷ピークのときの残高
一概にいえないが50%を超えるEAは不安
絶対ドローダウン初期投資額-期間中の口座最低金額下がりすぎ(大きすぎ)は口座残高が減り危険
売りポジション
買いポジション
期間中、売りポジション、買いポジションをいくつ取ったか。その勝率も出ます。「その銘柄のその期間は買いで勝てたのかどうか?」などがわかります。ファンダメンタルと付き合わせてみましょう。
平均勝トレード
平均負トレード
1トレードあたりの損益の平均です。平均負けトレードのほうが大きければトレードルールの見直しが必要
最大勝トレード
最大負トレード
みたとおりの意味で、それぞれ回数と金額が出ます。最大負トレードが大きすぎるのは見直しが必要

※この一覧ではローソク足としましたが、バーも同じです。

テスト結果とトレード改善方法まとめ

レポートで出たテスト結果を改善するにはどうしたらいいのでしょうか?

上の一覧表でだいたい説明しましたが、
テストは一度だけでなく設定を変えながら何度か試すものです。

ほとんどの市場が休みの土日などに、PDCFを意識しながらやってみましょう。
(MT5のレポートの使い方もほぼ同じです)

その他のテストプログラム

有料のテストプログラムも販売されています。

無料で優れたモノもあるので少し紹介しましょう。

  • 有名な「フォレックステスター」は今も使う人が多いソフトですが、高額です。
  • Trade Interceptor(トレード・インターセプター)はダウンロード型のプログラムなので雰囲気はMT4と似ていますが見た目やメニュー、内蔵インディケータが違います。
    インディケータはこちらのほうが豊富ですし、トレード練習が無料でできます。
    裁量トレーダーにおすすめですが、表記はすべて英語です。
  • トレーディングビューはリプレイモードがあります。
    過去のチャートの動きを再生し、巻き戻し、早送りもできる優れモノです。
    無料でも一部の機能が使えます。

思いついたらまずテスト!

テクニカル分析をひとつでも知ると「それならボリンジャーバンドをこう使ったらどうだろう?」と思いついたりします。

一度やってみるとやみつきになってしまうかも。

それにアノマリーの話を聞いてもテストしてみたくなります。

「4月にドル/円が3%下がる」みたいなアノマリーがあれば、
数年間でいいので適当なインディケータでロングのテストをしてみるといいかもしれませんね。

バックテストの期間ですが、
政治的な理由のアノマリーを何十年も前にさかのぼってするのはあまり意味がありません。

金融政策もガラッと変わっていますよね。

そんなふうにテスト期間も決めながら「思いついたらまずテスト!」を合言葉に習慣化するといいのです。

そして形にしてトレード成績という結果に残しましょう!

● 当サイトの厳選ランキング! ●

1位XM Trading (エックスエム)評判レビュー公式サイト
2位Gemforex (ゲムフォレックス)評判レビュー公式サイト
3位iForex (アイフォレックス)評判レビュー公式サイト
4位TitanFX (タイタンFX)評判レビュー公式サイト
5位Axiory (アキシオリー)評判レビュー公式サイト
ハイローオーストラリア評判レビュー公式サイト