fx自動売買(ea)のバックテストとは?バックテストの必要性とバックテストの取り方、バックテストが上手くいかない原因と対処法も解説

バックテストとは 必要性や実際の方法まで全て解説
b90at08a
こんな疑問を解決!

バックテストってなに?
バックテストの必要性とは?
バックテストの取り方を知りたい

バックテストという言葉は聞いたことがあるが、それが何なのか、なぜ必要なのかを知らない方もいると思います。
良いfx自動売買(ea)を見極め利益を増やすために役立つので、ぜひこちらの記事を読んで実際にバックテストを取り、fx自動売買(ea)運用に活用してみてください。

このボタンから追加で特典入手

(クリックでYoutubeページに移行)

バックテストについて

バックテストとは?

バックテストとは、過去の相場データを使ってfx自動売買(ea)の動作をテストすることです。実際に過去の相場でfx自動売買(ea)を稼働させていたら利益が出たのかどうかのシミュレーションを行うことができます。

バックテストの必要性

いきなりfx自動売買(ea)を稼働させると本当に勝てるのか、運用資金はいくらがいいのか、ドローダウンはどの程度なのかなど、さまざまな不安要素が残ります。

そのため実際にfx自動売買(ea)を稼働させる前にバックテストを行うことでこれから稼働するfx自動売買(ea)の性能や特性を理解した上で運用することができます。
バックテストは次のようなことに役立ちます。

  • fx自動売買(ea)のパフォーマンスを知ることができる
    利用しようとしているfx自動売買(ea)が過去の相場でどのような成績を出したのかを知ることができます。
  • fx自動売買(ea)のリスク許容度を知り、リスク管理を行うことができる
    過去どのような相場で損失が出たのか、どの程度の損失が出たのか、損切りの幅はどの程度なのかなどを知ることができます。どの程度の資金で運用するべきかの判断材料になります。
  • fx自動売買(ea)の最適化を行うことができる
    バックテストの結果を分析することでパラメータ(設定値)を調整することができます。
  • fx自動売買(ea)の特徴を理解しポートフォリオを組むことができる
    バックテストを行いfx自動売買(ea)の特徴を理解することで、別のfx自動売買(ea)と組み合わせて利用したりなど、ポートフォリオの作成にも役立てることができます。

バックテストの取り方

それでは、実際にバックテストをとる方法を解説します。

バックテストの前準備

まずはMT4にログインし、fx自動売買(ea)を設置、稼働します。
すでにfx自動売買(ea)の設置、稼働済みの方は次に進んでください。

fx自動売買(ea)を設置する方法は以下の記事で1から解説しているので、こちらを参考にfx自動売買(ea)の設置を完了させてください。

あわせて読みたい
fx自動売買(ea)のバックテストとは?バックテストの必要性とバックテストの取り方、バックテストが上手くいかない原因と対処法も解説
fx自動売買(ea)のバックテストとは?バックテストの必要性とバックテストの取り方、バックテストが上手くいかない原因と対処法も解説

チャートの右上にニコニコマークが出て、fx自動売買(ea)の稼働が完了したら次に進みます。

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

デフォルトのMT4内に蓄積されているヒストリカルデータ(価格データ)はそれほど多くないため、バックテストを行うのに十分なデータをダウンロードする必要があります。

以下は「MetaQuotes社」のヒストリカルデータの取得方法です。
ただし「MetaQuotes社」のヒストリカルデータはデータに抜けがあるなどあまり質の良いデータではありません。

少し手間になりますが次の項で精度の高いヒストリカルデータをMT4にインポートする方法を説明しています。
バックテストの精度を上げたい方は次に飛んでください。

まず、MT4内に蓄積する価格データの量を最大にします。
上部分にある「ツール」→「オプション」を選択

fx自動売買(ea)のバックテスト時のヒストリカルデータをインポートする時の画像。MT4内に蓄積する価格データの量を最大にする。

「チャート」を選択し、「ヒストリー内の最大バー数」と「チャートの最大バー数」の項目に「99999999999…」と9をmax打ち込みます。

fx自動売買(ea)のバックテスト時のヒストリカルデータをインポートする時の画像。「チャートの最大バー数」の項目に「99999999999…」と9をmax打ち込む。

その後「OK」をクリック

fx自動売買(ea)のバックテスト時のヒストリカルデータをインポートする時の画像。MT4内に蓄積する価格データの量を最大にする時の確認画面

その後MT4にヒストリカルデータを読み込みます。

上部分にある「ツール」→「ヒストリーセンター」を選択

fx自動売買(ea)のバックテスト時のヒストリカルデータをインポートする時の画像。ヒストリカルデータの読み込み

fx自動売買(ea)の通貨ペアと時間足を選択
(利用するfx自動売買(ea)配布者が指定した通貨ペアと時間足を選択してください)

まずは通貨ペアをダブルクリック

fx自動売買(ea)のバックテスト時のヒストリカルデータをインポートする時の画像。通貨ペアの選択

その後時間足を選択します。

fx自動売買(ea)のバックテスト時のヒストリカルデータをインポートする時の画像。時間足の選択
Screenshot

その後ダウンロードをクリックします。ダウンロードには数分かかることがあります。

fx自動売買(ea)のバックテスト時のヒストリカルデータをインポートする時の画像。データをダウンロード
Screenshot

精度の高いヒストリカルデータをダウンロードして利用する方法

ヒストリカルデータには過去の価格データが時系列で記録されていますが、このデータの精度が低いとエントリーのタイミングにズレが生じ、実際のトレード条件と異なる結果になったり、ドローダウンや利益率が異なってきます。
そのため信頼できるデータ提供元の精度の高いヒストリカルデータを使うことが望ましいです。

ここではアキシオリーからヒストリカルデータの取得を行います。
ほかにも様々なFX業者がヒストリカルデータを提供しているので、ご自身が使いやすいヒストリカルデータをダウンロードしてください。

MT4のヒストリカルデータを削除する

既にあるいらないデータを削除します。

「ファイル」→「データフォルダを開く」をクリック

fx自動売買(ea)のバックテスト時の外部からヒストリカルデータをインポートする時の画像。
Screenshot

「histroy」をクリック

fx自動売買(ea)のバックテスト時の外部からヒストリカルデータをインポートする時の画像。既にあるいらないデータを削除

ヒストリカルデータを入れたいサーバー名を選択

fx自動売買(ea)のバックテスト時の外部からヒストリカルデータをインポートする時の画像。既にあるいらないデータを削除、サーバーを選択
Screenshot

削除したい通貨ペアを削除します。(右クリック→削除)

fx自動売買(ea)のバックテスト時の外部からヒストリカルデータをインポートする時の画像。既にあるいらないデータを削除、通貨ペアを削除
Screenshot

MT4内に蓄積する価格データの量を最大にする

MT4内に蓄積する価格データの量を最大にします。
上部分にある「ツール」→「オプション」を選択

fx自動売買(ea)のバックテスト時の外部からヒストリカルデータをインポートする時の画像。MT4内に蓄積する価格データの量を最大にする

「チャート」を選択し、「ヒストリー内の最大バー数」と「チャートの最大バー数」の項目に「99999999999…」と9をmax打ち込みます。

fx自動売買(ea)のバックテスト時の外部からヒストリカルデータをインポートする時の画像。MT4内に蓄積する価格データの量を最大にする。9をmax打ち込む

その後「OK」をクリック

fx自動売買(ea)のバックテスト時の外部からヒストリカルデータをインポートする時の画像。MT4内に蓄積する価格データの量を最大にする。確認画面

アキシオリーのヒストリカルデータを取得する

ヒストリカルデータはVPSで検索してVPS上にダウンロードするか、PCでダウンロードしてギガファイルなどにアップロードしてVPSでダウンロードするなど、やりやすい方法で行なってください。

ここではVPS上で操作を行います。

ウェブブラウザを開き、「アキシオリー ヒストリカルデータ」と検索するとアキシオリーのサイトが出てきます。

fx自動売買(ea)のバックテスト時の外部からヒストリカルデータをインポートする時の画像。外部データ検索画面
fx自動売買(ea)のバックテスト時の外部からヒストリカルデータをインポートする時の画像。外部サイト画面

スクロールすると通貨ペアが並んでいるのでダウンロードしたい通貨ペアと年度を選んでダウンロードします。

fx自動売買(ea)のバックテスト時の外部からヒストリカルデータをインポートする時の画像。外部サイト画面、ヒストリカルデータの羅列

ダウンロードマークをクリックするとエクスプローラーが立ち上がるので、ダウンロードしたい場所を選択し、名前をつけて保存します。

fx自動売買(ea)のバックテスト時の外部からヒストリカルデータをインポートする時の画像。ヒストリカルデータのダウンロード

ダウンロードしたzipファイルは圧縮されているので、ダブルクリックして解凍しておきます。

取得したヒストリカルデータをMT4にインポートする

MT4を開き、「ツール」→「ヒストリーセンター」をクリック

fx自動売買(ea)のバックテスト時の外部からヒストリカルデータをインポートする時の画像。ヒストリカルデータをMT4にインポート

通貨ペアと時間足を選択し、「インポート」をクリック

fx自動売買(ea)のバックテスト時の外部からヒストリカルデータをインポートする時の画像。ヒストリカルデータをMT4にインポートし通貨ペアと時間足を選択
Screenshot

「参照」から先ほどダウンロードしたヒストリカルデータを選択します。

fx自動売買(ea)のバックテスト時の外部からヒストリカルデータをインポートする時の画像。取得したヒストリカルデータをMT4にインポート

先ほどダウンロードして解凍したファイルをダブルクリック

fx自動売買(ea)のバックテスト時の外部からヒストリカルデータをインポートする時の画像。取得したヒストリカルデータをMT4にインポート、ファイルを選択

2024年度のデータをインポートしたい場合は「XAUUSD_2024_all」を選択

fx自動売買(ea)のバックテスト時の外部からヒストリカルデータをインポートする時の画像。取得したヒストリカルデータをMT4にインポート、ヒストリカルデータを選択

「セパレーター」は「,」を選択します。その後OKをクリック。

fx自動売買(ea)のバックテスト時の外部からヒストリカルデータをインポートする時の画像。取得したヒストリカルデータをMT4にインポート、セパレーターの選択
Screenshot

複数のファイルをインポートしたい場合は再び「インポート」からヒストリカルデータをインポートしてください。

fx自動売買(ea)のバックテスト時の外部からヒストリカルデータをインポートする時の画像。取得したヒストリカルデータをMT4にインポート、複数の場合の画像
Screenshot

ヒストリカルデータがインポートされました。

fx自動売買(ea)のバックテスト時の外部からヒストリカルデータをインポートする時の画像。取得したヒストリカルデータをMT4にインポートした画面
Screenshot

MT4でバックテストを取るための設定 (ストラテジーテスターの設定)

それでは実際にバックテストを取っていきます。

画面上部の「表示」→「ストラテジーテスター」を選択

fx自動売買(ea)のバックテストを取るための設定。ストラテジーテスターの設定

ストラテジーテスターが表示されます。

fx自動売買(ea)のバックテストを取るための設定。ストラテジーテスターの表示画面
Screenshot

エキスパートアドバイザ

エキスパートアドバイザは、バックテストで使用するfx自動売買(ea)を選択してください。
バックテストを取りたいfx自動売買(ea)が表示されない場合はMT4を再起動します。

fx自動売買(ea)のバックテストを取るための設定。ストラテジーテスターのエキスパートアドバイザの設定

通貨ペア

通貨ペアを選択します。
ヒストリカルデータで読み込んだ通貨ペアを選択してください。

fx自動売買(ea)のバックテストを取るための設定。ストラテジーテスターの通貨ペアの設定

期間

期間は時間足を選択します。
ヒストリカルデータで読み込んだ時間足を選択してください。

fx自動売買(ea)のバックテストを取るための設定。ストラテジーテスターの期間の設定

モデル

モデルではバックテストを行う方法を選択します。
全ティックコントロールポイント始値のみの3種類があります。

fx自動売買(ea)の動作確認、パラメータの変更など大まかなチェックの場合は「始値のみ」でも問題ありませんが、しっかりとシミュレーションを行いたい場合や最終確認では「全ティック」を選択するのがおすすめです。
ただし、全ティックの場合は処理が重くバックテストの時間も長くなるデメリットがあります。

fx自動売買(ea)のバックテストを取るための設定。ストラテジーテスターのモデルの設定

スプレッド

スプレッドは、実際に取引する通貨ペアのスプレッドを選択します。
もし選択肢にちょうどの数字がない場合は近い数字を選びます。
ここに表示されているスプレッド「2」は、「0.2pips」を表しています。

fx自動売買(ea)のバックテストを取るための設定。ストラテジーテスターのスプレッドの設定

期間を指定

期間を指定では、バックテストを行う期間を入力します。
開始日と終了日を入力すると、その期間のバックテストを行うことができます。
ここでは直近3年のバックテストをとるため、開始日をまる、終了日をまると入力します。

利用するfx自動売買(ea)によってもバックテストを取るべき期間は異なってきます。
調べてもわからない方はコメントしてください。

fx自動売買(ea)のバックテストを取るための設定。ストラテジーテスターの期間の設定

最適化

最適化のチェックは外しておきます。
最適化にチェックを入れると、過去のデータをもとに、パラメータ設定をどの数値にしたら利益が出やすいのかを検証してくれます。最適化をするとバックテストに時間がかかるのと、CPUにも負荷がかかるので通常のバックテストではチェックを外します。

fx自動売買(ea)のバックテストを取るための設定。ストラテジーテスターの最適化の設定

ビジュアルモード

期間の下に「ビジュアルモード」が表示されている方もいるかと思います。
fx自動売買(ea)がチャート上のどこで注文を行ったのかを確認することができます。
チェックは外していても問題ありません。
チェックを入れているとバックテストに時間がかかるため、普通にバックテストを取る場合は外しておきましょう。

エキスパート設定

次にエキスパート設定をクリックします。

fx自動売買(ea)のバックテストを取るための設定。ストラテジーテスターのエキスパート設定

エキスパート設定では、fx自動売買(ea)のパラメータやトレード条件をカスタマイズするための設定をすることができます。
テスト設定、パラメーターの入力、最適化の3つの項目があります。

fx自動売買(ea)のバックテストを取るための設定。ストラテジーテスターのエキスパート設定の画面

「テスト設定」では、まず初期証拠金の金額を設定します。
ご自身がfx自動売買(ea)を稼働させる時の運用資金の額に設定します。

fx自動売買(ea)のバックテストを取るための設定。ストラテジーテスターのエキスパート設定のテスト、証拠金設定

ポジションでは買い(Long)と売り(Short)の両方で行うかどちらか片方で行うかを選択します。特に指定されていない場合は両方を選択します。

fx自動売買(ea)のバックテストを取るための設定。ストラテジーテスターのエキスパート設定のテスト設定、ポジション設定

下の最適化の部分は、最適化を行う場合のみ使用します。

fx自動売買(ea)のバックテストを取るための設定。ストラテジーテスターのエキスパート設定のテスト、最適化設定画面

「パラメーターの入力」では、パラメーターの設定をします。
値の部分にバックテストで試したいパラメーターを入力してください。
そのほかの部分は変更しなくて大丈夫です。

fx自動売買(ea)のバックテストを取るための設定。ストラテジーテスターのエキスパート設定のパラメーターの入力

「最適化」では、ある条件になったらテストを止めるという制限をつけることができます。
入力しなくても問題ありません。

fx自動売買(ea)のバックテストを取るための設定。ストラテジーテスターのエキスパート設定の最適化の設定

「OK」をクリックし、その後右下の「スタート」をクリックするとバックテストが始まります。

fx自動売買(ea)のバックテストを取るための設定。ストラテジーテスターのエキスパート設定の確認画面
fx自動売買(ea)のバックテストを取るための設定。ストラテジーテスターの確認画面

正常にバックテストが始まった場合は以下のように「スタート」の部分が「ストップ」になり、緑のバーが動きます。

fx自動売買(ea)のバックテストを開始時の画面

時間がかかる場合があるので気長に待ちましょう。

バックテストの結果の確認方法

バックテストの完了

赤枠内が全て緑になっていて、緑のバーの右側の「Stop」が「Start」に変わっていたらバックテストが終了したということになります。

fx自動売買(ea)のバックテストの完了画面

Graph

グラフでは資産の推移を表しています。

青線:残高(Balance) → 確定した利益・損失(決済済みの資金
緑線:有効証拠金(Equity) → 含み損益を含めた資金の増減

横軸は取引回数を示しています。

fx自動売買(ea)のバックテストの完了画面、グラフ

Report

レポートタブでは、以下の結果を見ることができます。

fx自動売買(ea)のバックテストの完了画面、レポートタブ
  • テストバー数:テストをしたバーの数
  • モデルティック数:テストに用いたティック数
  • モデリング品質:バックテストの品質
  • 不整合チャートエラー:チャートのデータに抜けなどがある場合
  • スプレッド:テストをした時のスプレッド
  • 初期証拠金:テスト開始時の金額
  • 純益:損益金額
  • 総利益:利益の合計
  • 総損失:損失の合計
  • プロフィットファクタ:総利益÷総損失
  • 期待利益:損益÷トレード回数
  • 絶対ドローダウン:開始資金に対して最大のドローダウン
  • 最大ドローダウン:テスト期間での最大のドローダウン
  • 相対ドローダウン:最大ドローダウンの比率
  • 総取引数:取引を行った回数
  • 売りポジション、買いポジション:売りで入った回数と買いで入った回数
  • 最大勝トレード、最大負トレード:勝ちトレードの最高利益、負けトレードの最高損失
  • 平均勝トレード、平均負トレード:勝ちトレードの平均利益、負けトレードの平均損失

レポートの保存

レポートタブを開き画面を右クリックし、「レポートを保存」をクリックするとレポートを保存することができます。

fx自動売買(ea)のバックテストの完了画面、レポートの保存方法
Screenshot

以下のようなレポートが保存されます。

fx自動売買(ea)のバックテストの完了画面、保存されたレポート
Screenshot

バックテストが上手く行えない時の対処法

バックテストが上手く行えない時のよくある原因と解決策を説明します。

PCとMT4を再起動する

まずはPCとMT4を再起動してもう一度挑戦してみてください。

口座縛りのfx自動売買(ea)の場合、口座番号を間違えていないか

fx自動売買(ea)によっては特定の取引口座でしか動作しないように制限されたものがあります。fx自動売買(ea)を入手した際に口座が限定されていたり口座番号が指定されている場合はその指定された口座でログインできているかどうかを確認してください。

スプレッドが適切でない

バックテストのスプレッド設定を「現在値」にしている場合バックテストが動かない可能性があります。

fx自動売買(ea)によってはスプレッドが一定の値より広い時は取引を行わない(スプレッドフィルター)という設定があります。
早朝や休日の市場が休場している時はスプレッドが広くなるため、そのような時に「現在値」に設定を行うとバックテストが動きません。

そのためfx自動売買(ea)のスプレッドフィルターの値よりも狭いスプレッドの値を設定する必要があります。

ヒストリカルデータが正しく取り込まれていない

ヒストリカルデータが正しく取り込まれていないとバックテストは正常に行われません。

まず、ヒストリカルデータを上手くダウンロードできているかどうかのチェックを行います。
「レポート」→「モデリング品質」をチェックします。

バックテストが上手く行えない時の対処法、ヒストリカルデータが正しく取りこまれていない場合
Screenshot

モデリング品質が90%の場合問題なくヒストリカルデータのダウンロードができています。
90%以下の数値の場合はヒストリカルデータのダウンロードをやり直す必要があります。
上記の場合はモデリング品質が25%のため、ヒストリカルデータが正しく読み込まれていない可能性があります。

またヒストリカルデータの期間にバックテストの期間が含まれていない場合なども、バックテストは正常に行われません。

ヒストリカルデータをの期間チェックするために、MT4の「ファイル」→「オフラインチャート」を選択

バックテストが上手く行えない時の対処法、ヒストリカルデータが正しく取りこまれていない場合、期間をチェックする
バックテストが上手く行えない時の対処法、ヒストリカルデータが正しく取りこまれていない場合、期間をチェックする、オフラインチャートを開く
Screenshot

バックテストをしたい通貨ペアの差出人(開始日)と終了の日付を確認します。
この期間にバックテストを行いたい期間が含まれている必要があるので、期間がずれていたり含まれていなかった場合はヒストリカルデータの範囲内でバックテストを行なってください。

バックテストが上手く行えない時の対処法、ヒストリカルデータが正しく取りこまれていない場合、期間をチェックする、オフラインチャートの期間を確認する
Screenshot

通貨ペアや時間足が間違っている

fx自動売買(ea)のバックテストは、fx自動売買(ea)配布者から指定された通貨ペアと時間足を使用する必要があります。
仮に別の通貨ペアでバックテストが取れたとしても正しい結果ではありません。
fx自動売買(ea)配布者から伝えられたものを設定できているか確認してください。

バックテストが上手く行えない時の対処法、通貨ペアや時間足が間違っている

モデルを「全ティック」で設定していない

バックテストのストラテジーテスターで設定したモデルですが、fx自動売買(ea)によっては「全ティック」の設定でしか動作しない場合があります。

もしコントロールポイントや始値のみで設定をしていた場合は、全ティックに変更して再度バックテストを行なってみてください。

バックテストが上手く行えない時の対処法、モデルを「全ティック」で設定していない

初期証拠金の金額が少ない

バックテストのストラテジーテスターの「エキスパート設定」→「テスト設定」の初期証拠金ですが、少なすぎると正常にバックテストが行われない可能性があります。

バックテストが上手く行えない時の対処法、初期証拠金の金額が少ない
バックテストが上手く行えない時の対処法、初期証拠金の金額が少ない、証拠金の確認

fx自動売買(ea)配布者に伝えられた推奨証拠金より少なく設定していた場合は推奨証拠金の金額で再度設定してみてください。

HDDの容量不足

バックテスト中にディスクの容量不足の警告が出ることがありますが、その場合はディスクの容量を空ける必要があります。

fx自動売買(ea)によっては大量のデータ容量を使うものがあるので、その場合は不要なデータを削除しましょう。

MT4の「ファイル」→「データフォルダを開く」

バックテストが上手く行えない時の対処法、HDDの容量不足、データフォルダを開く
Screenshot

「tester」をクリック

バックテストが上手く行えない時の対処法、HDDの容量不足、データフォルダを開く、teaster

「history」「logs」のファイルがあります。

バックテストが上手く行えない時の対処法、HDDの容量不足、データフォルダを開く、teaster、historyとlogs

MT4を開いたままではデータの削除を行えないため、不要なファイルを消す前にデータフォルダを開いたままMT4を終了します。

バックテストが上手く行えない時の対処法、HDDの容量不足、データフォルダを開いたままMT4を終了

「history」フォルダの中の「FXTファイル」を削除します。
historyフォルダの中のデータは全て削除して問題ありません。

続いて「logs」フォルダの中の「LOGファイル」を削除します。
logsフォルダの中のデータも全て削除して問題ありません。

容量不足の方はこの方法で容量を空けましょう。

まとめ

今回は初心者の方向けにバックテストとは何か、必要性や実際の方法までを解説しました。

ブログでは初心者の方からいただくことが多い疑問に答える記事を多く書いていますので、ぜひ参考にしてください。

あわせて読みたい
【FX自動売買の始め方ガイドブック】自動売買の探し方・選び方・MT4設定の仕方など徹底解説!
【FX自動売買の始め方ガイドブック】自動売買の探し方・選び方・MT4設定の仕方など徹底解説!

また、YouTubeではリアルマネーでEAを検証した内容を発信しています。

運用スタイルや運用資金は人それぞれだと思いますので、自分に合った自動売買が知りたい方は動画を参考にしてください。

今回の内容で分からないことがあれば公式LINEやコメントをお願いします。

このボタンから追加で特典入手

ABOUT ME
ふらっと社長
ふらっと社長
事業家・投資家
当ブログは、fx自動売買を中心として投資で成果を出す方を増やす目的で開設しました。巷に溢れている自動売買を自分のお金で運用して検証して結果を報告します。EAの運用方法や、EAの知識なども中心的に発信します。FX自動売買以外の投資や副業に関しての内容も発信します。結構重要なことも発信しますのでお楽しみに。 Youtubeはチャンネル登録7000越え、X(旧twitter)は2900越えです。是非フォローください(^_^)//
記事URLをコピーしました