投稿日:2021.08.17

更新日:

MT5バックテストのやり方|ストラテジーテスターの利用方法

MT5には100種類以上のEA(エキスパートアドバイザ)やインジゲーターが用意されています。
これらを活用する事で取引の自動化などが可能となります。
ただし、導入に当たっては事前に「バックテスト」と呼ばれる機能を使い、パフォーマンスを確認しなくてはなりません。

そこでこの記事では、そもそもバックテストとは何なのか様々な設定方法使い方結果の見方などを詳しく紹介していきます。
MT5を活用して利益を上げていくためにも、ぜひ参考にしてください。

ココがおすすめ


MT5のバックテストとは?

ポイント

MT5に装備されているバックテストとは、ヒストリカルデータと呼ばれる過去の取引データ(チャート)を使い、該当のEAを使ったらどんな結果になったかをシミュレーションするものです。
実際にEAやインジゲーターの運用を始める前にテストをする事で、結果が良ければ使う、悪ければ使わないという判断に使えます。

最終的な損益や勝率はもちろん、チャートのどのタイミングで売買が行われているのかを把握できるのがポイントです。
設定を変えながら何回も繰り返して試すことで、よりより良い使い方が分かり、想定外の損失を抑える効果も期待できます。

MT5の自動売買のやり方|EAのインストールから下準備、実行・停止まで解説

MT5には自動売買できる便利な機能が搭載されています。 自動売買を行うためにはEAというプログラムが必要です。 EAは簡単に無料でインストールできます。 この記事では、MT5用のEAの探し方をはじめ、 ...

続きを見る

ヒストリカルデータに基づくEAバックテストの注意点

EAを導入する前に行うことが必須とも言えるバックテストですが、あくまで過去のデータを使ったシミュレーションに過ぎません。
そのため、設定したテスト期間が短かったり、取引が実行された回数が少なかったりすると、再現性に乏しい結果になってしまう可能性があります。

つまり、一定の参考にはなるものの、今後の取引で必ずしも同じ結果が出続けるわけではないということです。
そうした限界に注意して結果を分析し、最後は自分の判断でEAの導入を決めるようにしましょう。

MT5でヒストリカルデータをインポート・ダウンロードする方法

バックテストや過去相場の分析に必要となるヒストリカルデータ。 MT5で、このヒストリカルデータをどうやってダウンロードすれば良いかわからない人も多いのではないでしょうか? そこで、本記事では、MT5で ...

続きを見る

MT5でバックテストを行なう前の事前準備

実際にバックテストを始める前にいくつかしておく事があります。
特に設定項目については数が多く、中には分かりにくい用語もあるので、確認しながら進むようにしてください。

  1. テストしたいEAを指定フォルダ内に格納しておく
  2. ストラテジーテスターを起動する
  3. 「概要」タブでテストの種類を選択
  4. 「設定」タブの項目と設定
  5. テストを実行する

テストしたいEAを指定フォルダ内に格納しておく

MT5には初期状態で既にいくつかのEAが登録されていますが、それ以外のEAを後から追加することもできます。
その場合、追加するEAを指定されたフォルダに入れておきましょう。

まず「ファイル」→「データフォルダを開く」を選択。

次に「MQL5」へ進みます。

ここの「Experts」フォルダ内に、追加するEAのデータを移動させます。
標準で登録されているEAを使う場合、この手順は必要ありません。

ストラテジーテスターを起動する

バックテストでは、MT5画面の中の「ストラテジーテスター」ウィンドウを使います。

画面にウィンドウが表示されていない場合は、メニューバーの「表示」→「ストラテジーテスター」を選択してください。
もしくは、ツールボックスが表示されているようであれば、右下にある「ストラテジーテスター」のアイコンをクリックしてもウィンドウが出てきます。

なお、テスト中は基本的に「ツールボックス」は使いません。
いったん非表示にして「ストラテジーテスター」のウィンドウを引き上げ、サイズを大きくしておくと見やすいでしょう。

「概要」タブでテストの種類を選択

「ストラテジーテスター」では初期状態から様々なメニューが表示されています。

異なる表示をしている場合は、左下のタブから「概要」をクリックし、メニュー画面に戻してください。

この中でまず使われるのが「単一」メニュー。

単一ではシンプルなテストが行えるとともに、上級者向けの設定も可能です。

その他、「可視化」「最適化を完了」「市場スキャン」などがありますが、いずれのメニューを選択しても次の画面は「設定」となり、テストに関する条件の入力となります。
ではさっそく「単一」を選択してみましょう。

「設定」タブの項目と設定

ここでの大まかな流れは、テストに使うEAを選択→銘柄や時間軸などを設定してバックテストを開始→テストの進行状況をゲージで確認しながら、終了を待つというものになります。

各項目について順番に説明していきましょう。

1、「エキスパート」では、バックテストに使うプログラムを選択します。

プログラムには大きく「EA(エキスパートアドバイザ)」と「インジゲーター」の2種類があり、それぞれフォルダが分かれているので、その中からお目当てのものを探してください。

2、「銘柄」では、テストに使う通貨のペアを選択します。

仮想通貨の取引を行う場合、最も使われるのはビットコインと日本円のペアになるでしょう。

3、「時間足」では、どの時間足を使うかを選択します。

同じ条件でも時間足を変えると結果が大きく変わる事があり、複数の時間足でテストをするケースは多くなるでしょう。

4、「日付」では、テストを行う期間を指定します。

選択肢として用意されているのは、「全履歴」「昨年」「先月」「期間指定」の4つです。
任意の期間に絞ってテストをしたい場合は「期間指定」を選択し、右側にある日付の欄で指定します。

指定はカレンダーからできる他、直接数字を入力することも可能です。

なお、期間をどの程度の長さに設定するかは少し悩ましい所でしょう。

期間が短いと特定のデータが大きな影響を持つので、結果が特定の方向に偏り、今後の再現性が乏しくなります。
逆に期間が長いと昔のデータが反映されてくるため、最近の情勢から離れる可能性が高くなり、やはり再現性に関して十分な信頼がおけません。

投資スタイルや条件設定にもよりますが、短くても1か月以上、期間を長くした場合で1年程度を目安にすると良いでしょう。

5、「フォワードテスト」は、より高度なテスト設定です

最初のうちは使わず、「キャンセル」を選択して問題ありません。

なおフォワードテストとは、テスト期間を分割し、前半の期間で通常のバックテストを実施。
そして後半ではその結果を元にして、あらためて検証のためのテストを行うという機能です。

使う場合、下記のような条件となります。

  • 「キャンセル」
    フォワードテストは行わず、指定された全ての期間でバックテストを実施する、一般的な設定です。
  • 「1/2」
    指定された期間の前半、1/2に当たる期間でバックテストを行い、その結果を元に後半の1/2でフォワードテストを実施します。
  • 「1/3」
    期間の前半に当たる2/3でバックテストを実施、後半の1/3を正しく機能するかのフォワードテストに当てる設定です。
  • 「1/4」
    前半3/4でバックテストを実施、後半の1/4でフォワードテストを実施します。
    選択肢の中では最もバックテストを重視した設定です。
  • 「Custom」
    双方のテストを任意のバランスで行いたい時に使う項目。入力された日時が境目となり、それより前の期間ではバックテストが、それより後の期間ではフォワードテストが実施されます。

6、「延滞」では、サーバに注文が送信されてから約定するまでの時間差を設定します。

注文から約定までは遅延がないのが理想ですが、実際には必ず差が出てしまうため、そこまで含めてのシミュレーションを行うための設定です。

発生する時間差は、専用VPSでは1ms程度ですが、自宅のPC等では数百msになる事も。

メニューには、実際にアクセスした際の情報が表示される事がある他、画面右下でもアクセス速度が確認できます。

それらを参考に、平均値を取るなどして数値を決めると良いでしょう。

7、「モデル」では、バックテストで採用する基準データ(ティックモデル)を設定します。

選択肢は「全ティック」「リアルティックに基づいたすべてのティック」「1分足OHLC」「始値のみ」「数値計算」の5つで、並び順に精度が高くなっています。

通常は最も精度が高いとされる「全ティック」にしておけば良いでしょう。
それぞれの設定については下記を参考にしてください。

  • 「全ティック」
    1分足を使ったモデル。時間足が短いため、最も正確な結果が出るとされている方法です。レートの推移もスムーズに表示されます。ただし精度が高い分、テストを完了させるまでの時間も長くなる傾向にあるのが欠点です。
  • 「リアルティックに基づいたすべてのティック」
    過去のヒストリーデータとして保管されているティックデータ(ヒストリーティック)を使ったテスト。
  • 「1分足OHLC」
    1分足の始値(Open)、高値(High)、安値(Low)、終値(Close)を使います。
  • 「始値のみ」
    時間足における4つの値のうち、「始値」のみを使います。他の要素をスキップするため処理が高速ですが、レートが飛び飛びになって精度が落ちるのが欠点です。
  • 「数値計算」
    EAやインジゲーターを使った一般的なテストではなく、数値計算を行う場合に設定します。

なお、右側にある「より高速計算のためのピップ単位利益」は、証拠金の代わりにpipsの単位で損益計算を行うという設定です。
すると計算が高速になりますが、 常に1ロットで売買する設定となり、結果が実際の取引と異なる可能性があるので通常はチェック不要でしょう。

8、「入金」では、テスト開始時に入れておきたい証拠金の金額と通貨を設定します。

通貨がUSD(米ドル)等になっていて、日本円でテストをしたい場合は、プルダウンメニューで「JPY」を選択してください。

※利用している取引所の環境などにより、通貨の種類が固定されて変えられない場合もあります。

金額は、あらかじめ用意されている数値から選択できる他、直接カーソルを当てて任意の数字を入力する事も可能です。

9、「レバレッジ」では、実際に自分が使う数値を設定します。

利用している取引所によってレバレッジできる上限には違いがあるので、実際に取引可能な範囲で設定しましょう。

入金と同じく、入力欄に直接カーソルを当てて任意の数字を設定する事も可能です。

10、「オプティマイズ」では、パラメータの最適化を行うかどうかを設定します。

この最適化はMT5の目玉のひとつで、全ての通貨ペアを一回でテストする事もできる優れた機能です。
ただし、一般的にシンプルなテストを行う場合は「無効化」を選択してください。

各選択肢の詳細は下記のようになります。

  • 「無効化」
    特にオプティマイズはせずにテストを行う方法です。選択すると「ビジュアルモード」が選択できるようになり、チェックを入れるとチャート上で取引の状態が可視化されます。なお、ビジュアルモードは他のオプティマイズメニューでは使用できません。
  • 「完全アルゴリズム(遅い)」
    設定されたパラメーター全ての組み合わせを総当りで行うテストします。そのためオプティマイズの中で最も高い精度を誇りますが、代わりに完了まで非常に長い時間がかかるのが欠点です。この方法を行う場合、対象をプルダウンメニューから選びます。
  • 「遺伝的アルゴリズム(早い)」
    組み合わせを総当りする「完全アルゴリズム」とは異なり、ランダムに選んだものを使うことで効率化を図ったテストです。組み合わせの数が少なくなるので、一定の精度を保持しながらもテストにかかる時間は大幅に短縮でき、人気の高い方法となっています。このメニューを行う場合、「完全アルゴリズム(遅い)」と同様、対象をプルダウンから選択します。
  • 「気配値表示で選択されたすべての銘柄」
    気配値表示に登録されている全ての通貨ペアを対象にしたテストで、MT5における最強とも言える機能です。
    表示されている通貨ペアの数に応じて、テストにかかる時間が変わります。

テストを実行する

バックテストに関する設定が終わったら、右下のスタートボタンをクリックして、テストを始めましょう。
テストの所要時間は、設定された条件やPCの性能などにより、かなりの時間がかかることもあります。
その進行状況はボタンの横にあるゲージで確認できるようになっており、グリーンのバーが消えたらテストの完了です。

ココがおすすめ

MT5バックテストのやり方

それでは実際にバックテストをしてみましょう。

  1. 条件の設定と結果項目
  2. 設定を変えて比較検証する
  3. 最適化機能を使ってみる
  4. バックテストでエラーが出た場合の対処

条件の設定と結果項目

今回設定する内容は下記のようなものです。

  • EA:ExpertMAPSARSizeOptimized
  • 通貨ペア:BTC/JPY
  • 時間足:M1(1分足)
  • 期間:2020年8月9日から2021年8月8日
  • 初期証拠金:100,000円
  • その他の設定はごく基本的なものとしています。

テストが完了すると、ストラテジーテスターの下記のタブに結果が表示されます(詳細は次の章で説明します)。

  • バックテスト
    利益や勝率、最大ドローダウン、またエントリーの時刻、ロット数、売買ポジションが確認できます。
  • グラフ
    損益の曲線です。

結果、この条件では期間中に1129回の取引を行い、利益が427,261円、損失が467,651円、損益は-40,390円という事が分かりました。

設定を変えて比較検証する

バックテストは設定した条件によって、結果に大きな差が出ます。
大事なのはそこで複数の条件を試し、比較検証する事です。
初回のバックテストが終わったら、条件を変えて何度もテストしてみましょう。

検証1:時間足を変更する

次に、先ほどの設定内容の中から時間足のみ「1分足」に変えてテストをしてみます。
すると、この条件では、期間中に493回の取引を行い、利益が526,756円、損失が506,151円、損益は+20,605円という結果になりました。

つまり、こちらの時間足を使う方が利益を期待できるという事が分かります。

検証2:通貨ペアを変更する

次に、テスト自体の設定はそのまま、通貨ペアのみ「ETH/JPY」に変えてテストをしました。
すると、この条件では、期間中に737回の取引を行い、利益が349,924円、損失が420,030円、損益は-71,015円という結果になりました。

つまり、この条件においてはBTCで使った方が成績が良かったという事になります。
このように便利なテスト機能ですが、いざ比較検討となると設定の組み合わせの数だけ出来てしまうので、追いかけだすとキリがありません。
そのような悩みに対して「最適化機能」を使うと自動で最適値を探してくれるので、活用してみてください。

最適化機能を使ってみる

最適化(オプティマイズ)はMT5の大きな魅力です。
「完全アルゴリズム(遅い)」「遺伝的アルゴリズム(早い)」「気配値表示で選択されたすべての銘柄」の3つのモードで使えます。

「設定タブ」でいずれかを選択の上、「パラメータ」タブで使う変数にチェックを入れてください。

「オプティマイズ結果」タブに結果が表示されます。

「気配値表示で選択されたすべての銘柄」も便利な機能です。

すると各銘柄ごとの結果がまとめて表示されます。

この場合、ETH/USDの通貨ペアが最も良い成績をおさめている事が分かるでしょう。

バックテストでエラーが出た場合の対処

テスト中にエラーが出て結果が得られない場合は、下記を参照してください。

バックテストが始まらない場合

テストを実行するには、あらかじめ過去の相場情報である「ヒストリーデータ」をダウンロードさせておく必要があります。
このデータがない場合、MT5はダウンロードを試みますが、その間はテストを始めることができません。
ダウンロードが終わるまで、しばらく待っていてください。
また、EAやインジケーターの初期化に失敗していたり、ヒストリーデータの履歴が無い期間を含んでいたりしてテストが始まらない可能性もあります。

no image
mt5-oneclickclose5

続きを見る

その他、何らかのエラーが発生した場合

「操作ログ」タブにエラーの記録が表示されますので確認してください。
内容が英語表記なので分かりにくい場合もありますが、WEB検索などで調べるなどしましょう。
またビジュアルモードの「ジャーナル」タブでも確認できる事があります。

ココがおすすめ

MT5バックテストの結果の確認・検証方法

最後に、テスト結果やレポートの見方についての紹介を行います。

  1. バックテストの結果を表示する
  2. レポートの見方
  3. 注文や約定の履歴を表示する
  4. バックテストの結果「グラフ」タブ
  5. テスト結果のの保存方法

バックテストの結果を表示する

テストが終わると、ストラテジーテスターの下に、「バックテスト」というタブが表示されるので、クリックしましょう。

すると結果の概要が示されます。

この画面は「レポート」と呼ばれ、バックテストの結果を細かく確認できます。
外部に出力する事もできるので、必要に応じて保存しておくようにしましょう。
画面の上部にはテスト結果の数値が並びます。

レポートの見方

レポートには多くの要素があるので、全てに目を通すのはなかなか大変です。
そこで特に重要となる項目について、説明をしていきます。

まず左側の一覧から。

  • 「総損益」
    最優先で見るべき項目で、最終的な利益や損益を指します。
  • 「プロフィットファクター」
    総利益と総損失の比で、1より大きい場合は純利益がプラスという意味です。
  • 「リカバリーファクター」
    純利益と最大ドローダウンの比で、ドローダウン(リスク)に対する利益(リターン)の期待値を意味します。

次いで、中央の一覧の中では、ドローダウンを確認しましょう。
ドローダウンには「残高絶対ドローダウン」「残高最大ドローダウン」「残高相対ドローダウン」の3項目があります。

  • 残高絶対ドローダウン
    初期証拠金を基準にして、最も下落した場合の金額です。例えば初期証拠金が10万円で、最大下落時の残高が8万円なら、残高絶対ドローダウンは下落額である2万円となります。
  • 残高最大ドローダウン
    グラフの中で山から谷に下落したケースの中で、最も下落幅が大きかった場合の金額。
  • 残高相対ドローダウン
    グラフの中で山から谷に下落したケースの中で、最も下落率が大きかった場合の比率をパーセントで出したものです。

右側の一覧にも「ドローダウン」がありますが、こちらは名称に「残高」ではなく「証拠金」が付いています。
両者の違いは、「残高〜」の方は、現在開いているポジションの利益や損失を「含まない」。
「証拠金〜」の方は、現在開いているポジションの利益/損失を「含む」です。

画面の下側はグラフが並ぶパートです。
ウィンドウの高さがない場合、隠れてしまっているので、スクロールして表示させましょう。
ここで確認できるのは、時間別・曜日別・月別の取引件数や損益の推移です。

さらにその下には横幅の大きなグラフがあります。

ここではポジションを保有した時間と損益の相関性などが示されるので、自分のトレードスタイルに合わせて分析を試みましょう。

上の方のグラフは「MFE散布図」と言い、横軸がポジション保有中の最大含み益、縦軸が最終的な損益となります。
最大含み益がそのまま最終収益になるのが理想的です。

2つ目のグラフは「MAE散布図」と言い、横軸がポジション保有中の最大含み損、縦軸は最終的な損益となります。
「MFE散布図」に対して「含み損」を対象としており、それが最終的に減少して決済されているのが理想的です。

一番下のグラフは「ポジション保有期間散布図」と言い、横軸がポジションの保有期間、縦軸が損益となります。
つまり、左側の点は短期間のトレードで、右に行くほど長期的なトレードです。
点が左側に多ければ短期間で利益を積み上げるスタイル、右側が多ければじっくり利益を伸ばしていくスタイルである事が分かります。

注文や約定の履歴を表示する

この「レポート」画面を開いた状態で右クリックをすると、下記のようなメニューが現れます。
この時点では現在の画面である「レポート」にチェックが入っていますが、その上に「約定」「注文」「注文と約定」というメニューがあるのが分かります。

ここから、個々の取引事例の一覧画面を表示させられます。

スッキリ見たい場合は「約定」のみにすると良いでしょう。

バックテストの結果「グラフ」タブ

「グラフ」では、口座残高の推移が表示され、ライングラフで資産がどのように推移したかが確認できます。
グラフの理想は、右肩上がりにまっすぐ伸びているものです。
途中で大きな谷がある形は、最終的な利益が大きくても安定性が欠けるため、安心して運用することができません。

また、グラフの下にある緑の棒グラフは、取引ロット数を示しています。
この長さが不規則な場合、ロット数を増やして買い増ししていくスタイルとなるため、急激な値動きがあった時に強制ロスカットされてしまう危険があります。
そうではなく、常に同じくらいの長さでそろっていると安心です。

テスト結果のの保存方法

この記事のまとめとして、レポートとグラフの保存方法をご紹介しておきましょう。
MT5では、バックテストの結果を外部に書き出すことができます。

まず「バックテスト」タブを開いた状態で右クリック、メニューを表示させて、その中から「レポート」を選択。

ファイル形式は、エクセルで開ける「Open XML形式」と、WEBブラウザで開ける「HTML形式」の2つがあります。

  • 「HTML形式」
    グラフなどのビジュアル要素も含め、ストラテジーテスターの画面と同様に情報が再現されるのでおすすめです。
  • 「Open XML形式」
    「レポート」画面のグラフは収録されませんが、それ以外の情報は「HTML形式」に準じて書き出されます。

いずれかを選ぶと保存画面になるので、テストに使ったEAの名前や設定した条件など、後から見て内容を判別できる名前を入力してください。

ファイル形式を確認の上、任意の場所を指定して保存します。

保存されたレポートがHTML形式の場合、見る時はブラウザで開く形です。
PCの設定によってはファイルが自動で開かない事もあるので、その場合は表示された候補の中から任意のWEBブラウザを選択して開いてください。

書き出されたレポートを開くと下記のような状態で確認できます。

これと同様に、グラフも外部に書き出せます。

「グラフ」タブを開いた状態で右クリック、メニューを表示させて、その中から形式を選んでください。

「クリップボードにコピー」は、ワード等に貼り付けをする場合に、「CSVにエクスポート」は、エクセル等で読み込む場合に、そして「PNGにエクスポート」は画像として保存する場合に選択します。

バックテストは終了した後、複数の条件を比べて検討する事が重要です。
そのため、このような保存機能を使って記録を残しておきましょう。

MT5の自動売買のやり方|EAのインストールから下準備、実行・停止まで解説

MT5には自動売買できる便利な機能が搭載されています。 自動売買を行うためにはEAというプログラムが必要です。 EAは簡単に無料でインストールできます。 この記事では、MT5用のEAの探し方をはじめ、 ...

続きを見る

今なら新規口座開設で
ビットコイン5,000円~10,000円分プレゼント!

Bitterzで仮想通貨FXを始めてみませんか?

仮想通貨FXとは何か? >>

  • 元手の888倍の資金でトレードできる
  • ハイリターンを得られる可能性が高い
  • 取引手数料無料
  • 入出金手数料無料

Bitterzでは、お客様が利益を上げられるような、新しいトレード体験をご用意しております。
また、ただいま新規口座開設でビットコイン5,000円~10,000円分をプレゼントしております。
このご機会にぜひ、Bitterzをお試しくださいませ。


わずか1分で登録完了!新規口座開設でビットコインを手に入れる

Related Articles関連記事

PREV
MT5でローソク足の残り時間を表示するインジケーター一覧
NEXT
MT5で一括決済に必要なOneClickCloseのダウンロード・設定方法・使い方

Copyright© Bitterzコラム , 2021 All Rights Reserved.