【広告主の開示】当サイトの記事では、商品・サービスの紹介にアフィリエイトプログラムを利用しています。当サイトにある商品リンクには広告サービス提供のリンクがあります。記事で紹介した商品・サービスを購入すると、広告主から当サイトに報酬が支払われることがあります。 MT4/環境/トラブル対応

MT4でEAをバックテストする方法と自動売買の結果の見方【FX初心者でもできる】

MT4でEAをバックテストする方法と自動売買の結果の見方【FX初心者でもできる】
ロボ2号
ロボ2号
MT4でEAのバックテストをする方法を教えてよ!
Exy-2博士
Exy-2博士
FX自動売買をするなかで、バックテストの方法は知っておいてもいいじゃろう。ロボ1号、説明するんじゃ。
わかりました。MT4でEAのバックテスト結果を検証する方法について紹介シマス。
ロボ1号
ロボ1号

こんな方におすすめ

  • FX自動売買のバックテストをしたい方
  • MT4でEAのバックテストをする具体的な方法を知りたい方
  • EAのバックテスト・検証をする時に何を準備すればいいかわからない方

MT4用EAのFX自動売買のバックテスト方法について紹介します。

Exy-2博士
Exy-2博士
バックテストだけでEAが将来的に稼げるかを判断できるわけではないが、似たような相場の場合にどのような結果になるかの予測を立てることは可能じゃ。

こちらの記事を読む事により、公開されているEAのバックテスト結果がどのような状況かを見て判断できるようにもなります。

EAのバックテストとは?初心者でも理解できる解説

バックテストとは、自分で作ってみたEAや入手したEAが、過去のチャートデータを元にどのような取引を行ったか、収支の結果がどうだったかを確認・検証する作業のことです。

MT4で自動売買をする為のEAは、MQL4というプログラムで作られています。

バックテストを行う目的

  • その動作プログラムにエラーがないかを確認、検証する
  • EAに組み込んだロジックが想定通りに動作するかをチェックする
  • 過去の為替相場で、良い成績を出しているかを確認する
  • パラメータを変更して、通貨ペアや時間足に合わせて、より良い結果に繋がる設定を探す

などに使われます。

EAのバックテストはFX初心者であっても本記事に書いてある一連の流れをやってみることで実施することは可能です。

ただし、パソコン初心者の場合など、バックテストを行う為のチャートデータの準備など簡単な操作ではないことや、バックテストに時間がかかるところもありますので、FX研究所で公開しているEAなどは各ページにあるバックテスト結果を利用する判断材料にしてもらえると早いかと思います。

それでは早速、MT4でのEAのバックテスト方法について解説していきます。

MT4でEAをバックテストする前に必要な準備とは?

バックテストを行う為には、テストを行いたいEAをまず最初に入手しておく必要があります。

FX研究所内のEAは以下のページから入手できますので、ご確認ください。

EAが入手できましたら、以下の順番でバックテストの準備をしましょう。

step
1
バックテストをするパソコン環境を準備

step
2
パソコンでMT4を起動しログイン

step
3
バックテスト用MT4の事前設定

step
4
バックテストをするEAをMT4のデータフォルダに格納

step
5
バックテストで使う過去のヒストリカルデータを入手

step
6
MT4に過去のヒストリカルデータを入れる

バックテストをするパソコン環境を準備

バックテストはEAや選択する期間により、実行してから結果が出るまで時間がかかります。

Exy-2博士
Exy-2博士
「最適化」という、複数のパラメータを同時に検証する方法などを選ぶと、何時間も何日もかかることがあるんじゃ。

バックテストを開始してから結果が出る前にパソコンの再起動などをしてしまうとまた最初からやり直しになってしまいますので、普段使っているパソコンとは別に、バックテスト用のパソコンを準備しましょう。

MT4が元々Windows用のソフトウェアであることから、トラブルが起こった際などの事例を確認したりすることを考えると、Windows10以上を推奨します。

また、バックテストにはメモリを多く使うこと、過去のチャートデータやテストログでデータ容量を利用する為、メモリは最低4GB、HDD/SSD容量は80GB以上をおすすめします。

メモリ容量、HDD/SSD容量を考えると、VPSよりもパソコンで動かすのが良さそうです。
ロボ1号
ロボ1号

JUNKWORLD(ジャンクワールド)などで中古パソコンを入手したり、ご自身の使っていないパソコンを利用するなどがよいでしょう。

パソコンでMT4を起動しログイン

MT4は各FX会社がそれぞれのホームページ上に無料公開しています。バックテストを行いたいFX会社のMT4をパソコンにダウンロードして設定しましょう。

ヒストリカルデータという過去のチャートデータを入れる時に、現在MT4上に保存されているチャートデータを一度すべて消す必要が出てきます。必要に応じて、MT4を複数起動する方法を参考にバックテスト専用のMT4を準備しておくことをおすすめします。

操作画像付きの詳細な手順は、MT4のダウンロード、インストール、ログイン方法【初心者簡単】を確認してください。

FX会社によって通貨ペア名が変わったり、EAによってはFX会社を制限されているものがありますので、必ず利用予定のFX会社のMT4にログインするようにしましょう。

ご自身のリアル口座でもデモ口座でもバックテストは可能です。

ここでログインしたFX会社のサーバ名は、後ほどの「現在MT4に入っているチャートデータを削除」で利用するのでメモしておくといいです。
ロボ1号
ロボ1号

バックテスト用MT4の事前設定(ローソク足の本数変更)

MT4上のチャートで利用するバー(ローソク足)の数を開きます。

MT4上部メニュー>ツール>オプションをクリックして、オプションを開きます。

チャートタブをクリックし、「ヒストリー内の最大バー数」と「チャートの最大バー数」に9999999999999999 と入力してOKをクリックします。

バックテスト用MT4の事前設定(ローソク足の本数変更)

MT4がチャートに読み込みできるローソク足の本数を増やすことが目的です。初期値はヒストリー内の最大バー数=512000、チャートの最大バー数=65000になっていますが、これだと過去のチャートデータが入り切らない為です。
ロボ1号
ロボ1号

確認の為もう一度、MT4上部メニュー>ツール>オプションをクリックしてチャートタブを開きます。

以下のように、MT4が最大で設定できる「ヒストリー内の最大バー数」と「チャートの最大バー数」が2147483647 に自動で設定されています。

バックテスト用MT4の事前設定(ローソク足の本数変更後の画面

 

バックテストをするEAをMT4のデータフォルダに格納

次に、MT4でバックテストを行うEAをMT4のデータフォルダに格納します。

上部メニュー>ファイル>データフォルダを開く をクリックすると、MT4のデータフォルダが開きます。

その後、MQL4>Experts の順番に移動し、EAのデータ(拡張子が「.ex4」または「.mq4」)を格納します。

MQL4のexpertsフォルダを開く

手順がわからない場合は、MT4にEA(FX自動売買)を設定する方法(画像でやり方を解説)を参考にしてください。

バックテストで使う過去のヒストリカルデータを入手

バックテストを行うために、過去の相場データであるヒストリカルデータを入手する必要があります。

Exy-2博士
Exy-2博士
インストールしたばかりのMT4には数日分のチャートデータしか入っていない状況だから、そのままではバックテストはできないんじゃ。

ヒストリカルデータは、FXDDやFXCMなどのFX会社やMT4を作成しているMetaQuotes本社など、入手ルートが様々ありますが、場合により精度が悪く期待している結果が得られない可能性があります。

ある程度精度を求める場合は、以下いずれかの方法で入手することをおすすめします。

おすすめのヒストリカルデータ入手方法

  • おすすめ FXTFからヒストリカルデータをダウンロードする方法
    精度が高め、2012年1月3日以降のデータをCSVでダウンロード可能。口座開設~マイページにログインして無料でダウンロードが必要。
  • Tick Data Suite(TDS)を利用する方法
    精度が高くリアル。複数のMT4を使ってバックテストを行うのが簡単、最新版のヒストリカルデータを簡単に使える。
    ただし、初期費用が12,090円、月額費用1,349円がかかる。2003年からのデータを利用可能。

今回のバックテスト手順では、わかりやすくて精度も高いFXTFからダウンロードしたCSVのヒストリカルデータを例にしてすすめます。

Exy-2博士
Exy-2博士
たくさんのパターンでバックテストを同時にしたい。精度を高めたい方は、有料のTick Data Suite(TDS)を検討してもよいな。

FXTFからヒストリカルデータをダウンロードする方法

FXTFのトップページからマイページにログインを行います。

左側のメニューから、チャートデータをクリック。

FXTFからヒストリカルデータをダウンロードする方法

チャートデータ一覧になるので、バックテストをしたい通貨ペアをクリック。

FXTFからヒストリカルデータをダウンロードする方法2

ZIPファイルがパソコンのダウンロードフォルダにダウンロードされます。

ZIPファイルを解凍すると、CSVファイルが出てきます。こちらをMT4に読み込ませることで、過去のチャートの値動きを入れることが可能です。

FXTFからヒストリカルデータをダウンロード、実際に使うUSDJPYのCSVファイル

Exy-2博士
Exy-2博士
複数の通貨ペアでバックテストをしていく予定がある場合は、同じ流れでそれぞれダウンロードして、環境を整えていくことをおすすめするぞ。

MT4に過去のヒストリカルデータを入れる

ここからがMT4に過去のヒストリカルデータを入れる作業です。

入手したチャートデータと今使っているMT4上のチャートデータが重複したりすると、バックテストでエラーが出たり、正常な結果にならないなどで初めからやり直しになってしまうことがありますので注意しましょう。

以下の流れ通りに作業することで、入手したヒストリカルデータを正しくMT4に入れることが可能です。

現在MT4に入っているチャートデータを削除

MT4に過去のヒストリカルデータを入れるうえで、現在MT4に入っているチャートデータをすべて削除します。

MT4はログインすると自動で画面上に開いているチャートのデータをダウンロードしてしまうので、やり直しを防ぐために、MT4にログインしている場合は以下をします。

  • 今開いているチャートを全部「✕」で閉じる
  • ログアウトする

MT4上部メニュー>ファイル>取引口座にログイン でログイン画面を開き、ログインIDとパスワードを空にした状態でログインボタンを押すことでログアウトすることが可能です。ログアウトすると、MT4右下のステータスが「回線不通!」になります。

MT4上部メニューファイル取引口座にログイン でログイン画面

この状態で、MT4上部メニュー>ファイル>データフォルダ から、MT4のデータフォルダを開きます。

MT4のデータフォルダが開けたら、一度MT4自体を右上の「✕」で閉じてMT4を停止しましょう。

開いたデータフォルダの「history」をクリック。

MT4のデータフォルダでHistoryを選択

その後、パソコンでMT4を起動しログイン でログインしたサーバ名のフォルダをクリックします。(説明の画面はXM Tradingのデモ口座を利用した場合です)

historyフォルダ内のファイルについては、利用しているFX会社によって異なることがありますので、状況によりフォルダを選択します。

MT4のデータフォルダHistoryからFX会社のサーバ名を選択

以下のようにファイルがいくつか出てきますので、種類で並べ替えをして、ヒストリカルデータを追加予定の通貨ペアの「HSTファイル」を削除します。

Exy-2博士
Exy-2博士
バックテスト用なので、HSTファイルをすべて削除することをおすすめする。

MT4のデータフォルダから通貨ペアのHSTファイルを削除

period converter ALL スクリプトのダウンロード

入手したFXTF社のヒストリカルデータは、1分足のみのデータです。

その為、1分足のデータを元に、他の時間足のデータ(5分足・15分足・30分足・1時間足・4時間足・日足・週足・月足)を作る必要があります。

データの作成には「period converter ALL」というスクリプトを使います。

こちらは1分足のデータを元に自動で他の時間足データを作成してくれるのでとても便利です。

参考

「period converter ALL」スクリプトはMQL5の公式サイトからダウンロードすることが可能です。

ダウンロードページURL:https://www.mql5.com/ru/code/11201

「period converter ALL」スクリプトをMQL5からダウンロード

ダウンロードした「period_converter_ALL.mq4」をMT4のデータフォルダ>MQL4>Scripts にコピーします。

「period_converter_ALL.mq4」をMT4のデータフォルダScripts にコピー

Exy-2博士
Exy-2博士
MT4にはもともとPeriodConverterというスクリプトが入っているが、これだと同時に複数の時間足を作成することができないので操作が面倒じゃ。ミスもしやすくなるので、「period_converter_ALL」を使うのがおすすめじゃ。

MT4に1分足のヒストリカルデータをインポート

MT4を起動します。

口座にログインしない状態のまま、上部メニュー>ツール>ヒストリーセンターをクリックします。

Mt4のヒストリーセンターを開く

ヒストリーセンターが開いたら、バックテストに利用するヒストリカルデータに対応する通貨ペアをダブルクリックします。(画面は、XM TradingのUSDJPYの例です)

バックテストに利用するヒストリカルデータに対応する通貨ペアをダブルクリック

「1分足(M1)」をクリックして選択し、インポートをクリックします。

「1分足(M1)」をクリックして選択し、インポートをクリック

インポート画面で、ファイル名の右側の参照ボタンから、FXTFからダウンロードしたCSVファイルを選択します。

少し読み込みに時間がかかるので待っていると、以下のように「時間」「始値」「高値」「安値」「終値」「出来高」が表示されます。

表示されたら、OKボタンをクリックします。

ダウンロードしたヒストリカルデータCSVファイルを読み込み

ヒストリーセンターに戻るので、左ツリーの1分足(M1)の左の記号に色がついていること、上部のレコード数が入っていることを確認する。

ヒストリーセンターにヒストリカルデータが入ったことを確認

他の通貨ペアのヒストリカルデータがある場合は、同じ手順で1分足(M1)にデータをインポートしていきます。

すべて終わったら、ヒストリーセンター右下の閉じるボタンをクリックした後、MT4の右上の「✕」をクリックして一度停止します。

MT4を再起動することで、次の全時間足のチャートデータを作るために、一度入れた1分足のデータを正しくMT4に読み込ませなおします。
ロボ2号
ロボ2号

全時間足のチャートデータを作成

1分足のヒストリカルデータをMT4にインポートし終わったら、MT4を再度起動し直してから、全時間足のチャートデータ作成作業を行います。

上部メニュー >ファイル>オフラインチャートをクリックします。

MT4のオフラインチャートを起動

全時間足のチャートデータを作りたいヒストリーデータを選択して、開くボタンをクリックします。

オフラインチャートで1分足のデータを選択

以下の画面のように、USDJPY.M1(offline)というチャートが表示されます。

このオフラインチャートに、左側のナビゲーターツリーから、スクリプト>「period_converter_ALL」をドラッグ&ドロップします。

period_converter_ALLをチャートに入れる

すると、チャート左上に、「Converting to Period(**) bars to end :XXXXXX」と高速に処理が走り、各時間足のチャートデータを自動で作成してくれます。

この表示が消えるまで待ちましょう。これが消えれば問題なく作成完了です。

Converting to Period(XX) bars to endXXXXXX

作成が完了したら、上部メニュー >ファイル>オフラインチャートを開くと以下のようにM5以降の時間足のチャートデータができていることを確認します。

オフラインチャートを確認して全部の時間足を有効にする

必要に応じて、他の通貨ペアも同じ手順で1分足のデータから他の時間足を作成します。

これで過去のバックテストで利用するチャートデータの整備が完了です。実際のバックテストを行う前にMT4を再起動しましょう。

MT4でEAをバックテストする方法

バックテストをするための準備が終わったら、早速バックテスト開始です。

MT4でストラテジーテスターを開く

MT4にログインして、上部メニュー>表示>ストラテジーテスターをクリックします。

MT4でストラテジーテスターを開く

MT4の下部に、ストラテジーテスターのウィンドウが開きます。

各項目を設定して、バックテストを行っていきます。

MT4の下部ストラテジーテスターのウィンドウ

バックテストの基本設定をする

まずはバックテストを行う自動売買用のEAを選択します。

今回は例として、移動平均線を利用したEA「exy-2perfectorderUSDJPY」を使います。

エキスパートアドバイザの右側に表示されているEA選択画面の右側の▽をクリックして、プルダウンからバックテストを行いたいEAを選択してダブルクリックします。

EAの選択

バックテストを行う自動売買用のEAをダブルクリックで選択

EAが表示されていない場合

MT4のデータフォルダ>MQL4>Experts にEAデータ(拡張子「.ex4」または「.mq4」)が入っていない可能性があります。

確認して、EAを設置した後に、MT4を再起動して再度やり直してみましょう。

通貨ペアの選択

通貨ペアのプルダウンをクリックして、バックテストする通貨ペアをクリックします。

バックテストする通貨ペアを選択

今回は、「exy-2perfectorderUSDJPY」に対応しているUSDJPYを選択します。

事前に過去のヒストリカルデータをインポートしている通貨ペアであることが前提です。
ロボ1号
ロボ1号

モデルの選択

バックテストを行う時に、過去のヒストリカルデータをどのように利用してテストするかをプルダウンから選択します。

バックテストのモデルをプルダウンから選択

モデル種別精度所要時間
全ティック(利用可能な最小時間枠を使いすべてのティックを生成する、最も正確な方法)時間がかかる
コントロールポイント(ひとつ下の時間枠を使った大まかな方法。結果はあまり信頼性はない)早い
始値のみ(最も早い方法。バーのはじめにしか動かないEA向け)早い

バックテストに精度を求める場合は、全ティックで行うことをおすすめしますが、バックテストに時間がかかります。

コントロールポイント、始値のみは、バックテスト時間はかなり短縮されますが、精度がどうしても下がってしまいます。

ひとまずどのような結果になるかを試してみたい、作り途中のEAの動作確認をしたい等の場合は、「始値のみ」や「コントロールポイント」を利用してみるのもいいでしょう。

今回は全ティックを選択します。

Exy-2博士
Exy-2博士
EAによっては、始値のみではちゃんと動作しないものもあるから、一旦は全ティックでやってみるのが良いかもしれんのう。

期間の選択

バックテストをしたい時間足をプルダウンから選択します。

バックテストするローソク足の時間足を選択

EAによっては通貨ペアの指定が合ったりするものもあるから注意だね。
ロボ2号
ロボ2号

今回は「exy-2perfectorderUSDJPY」に対応しているM15(15分足)を選択します。

スプレッドの選択

バックテストを行う期間内の、スプレッドの設定をします。

初期値は現在値になっていますが、プルダウンから選択、または数字を直接手入力することができます。

バックテストする時のスプレッドを選択

スプレッドが1.0pipsの場合は、上記のスプレッドを「10」にします。

今回は、XM Tradingのスタンダード口座の場合(USDJPY(ドル円)は約1.6pips)を想定して「16」と入力します。

最適化のチェックボックスは外す

「最適化」は、EAのバックテストをパラメータを指定した値に変更して、繰り返し実施する場合に利用します。

今回は単体でのバックテスト方法ということで、最適化のチェックボックスは外します。

EAの最適化のチェックボックス

どのパラメータを設定変更した時にどのように結果が変化するのか、過去の相場に対してどんな設定が良い結果が出るか比較したい時などに利用します。
ロボ1号
ロボ1号

最適化については、同時にたくさんのパターンの検証ができる代わりに、組み合わせパターンによってはとても多くの時間がかかります。

設定方法等もバックテストとは若干変わって来ますので、また別の記事で紹介します。

期間を指定で、開始日、終了日を選択

バックテストを行う期間を設定することが可能です。

最初に、「期間を指定」にチェックを入れ、バックテスト開始日、終了日を入力します。

期間を指定で、開始日、終了日を選択

今回は、2016/1/1~2022/10/31を設定します。

ビジュアルモードのチェックボックスでチャート上のどこでトレードしたか確認が可能

ビジュアルモードは、バックテスト結果だけでなく、チャートも同時に表示をしてどこでトレードをしたかなどを目視で確認したい場合に利用します。

利用する場合は、ビジュアルモードにチェックを入れます。

ボリュームのような横に動かす部分で、チャートが進むスピードを調整可能です。一番右が一番スピードが早いです。

MT4のストラテジーテスターのビジュアルモード説明

一番右にするとチャートの動きが早すぎる、一つ左に動かすと遅すぎる…。微妙な設定です。スピードを調整するスクリプトが無料で入手できるところはありますが、こちらは必要に応じてですね!
ロボ1号
ロボ1号
Exy-2博士
Exy-2博士
ビジュアルモードはチャートを表示するため、メモリをたくさん消費すること、バックテスト時間が増えることに注意じゃ。

今回はビジュアルモードにチェックを入れず先に進みます。

EAのエキスパート設定でパラメータを設定する

次に、エキスパート設定に移ります。

テスターウィンドウ右上のエキスパート設定をクリックします。

EAのエキスパート設定を開く

テスト設定でバックテストの証拠金を設定

エキスパート設定が開いたら、テスト設定タブをクリック。

ここで、バックテストの初期証拠金設定ができます。初期証拠金はプルダウン、または手入力が可能です。

ご自身がテストしたい初期証拠金設定にします。

プルダウンに日本円(JPY)がないですが、左側に金額の数値を入力、右側に手入力で「JPY」と入力すれば日本円でのバックテストが可能です。
ロボ1号
ロボ1号

エキスパート設定のテスト設定

今回は100,000円を入力します。

ポジションは基本的に初期値のLong&Shortで大丈夫です。

「Long&Short」=買い、売りどちらもバックテスト、「Long only」=買いだけバックテスト、「Short only」=売りだけバックテスト にするための設定です。

エキスパート設定のポジションの選択肢

最適化内の、最適化パラメータ、遺伝的アルゴリズムは今回のバックテストでは利用しないため、そのままの設定にします。

パラメータの入力

次にパラメータの入力タブを選択します。

以下のように、バックテストしたいEAのパラメータ設定画面になります。

「値」に入っている各数値を元に、バックテストが行われることになりますので、ご自身の設定に合わせて各項目を設定します。

最初は、EAの初期設定が入っており、変更したい場合は数字の部分をダブルクリックすることで変更ができます。

変更が完了したら、下のOKボタンをクリックします。

ストラテジーテスターのバックテストパラメータ画面

左側のチェックボックスや、スタート、ステップ、ストップは、最適化を実施する時に利用しますので通常のバックテストを行うだけの場合は変更不要です。

ここまで設定ができたら、バックテスト前の各種設定は完了です。

EAのバックテストをスタート

テスターウィンドウ右下の、スタートボタンを押します。

EAのバックテストをスタートします

すると、使用中M1… と表示され、バックテストが開始されます。

バックテスト中は、緑色のゲージが左から右に増えていき、一番右まで行けば完了です。途中でバックテストを中断したい場合は右下のストップボタンをクリックしましょう。

ストラテジーテスターのバックテスト中の進捗画面1

実際に、ちゃんとトレードされているかを見るには、結果タブやグラフタブをクリックすることで確認することが可能です。

以下のように、ゲージが満タンになり、右下のボタンが「スタート」に戻ったらバックテスト完了です。

ゲージが満タンになって右下のボタンがスタートになったらバックテスト終了

Exy-2博士
Exy-2博士
バックテスト結果はレポートタブで確認できるぞ。次の章でレポートの見方について説明しよう。

(参考)結果、グラフを見てもテスト結果が出てこず動作していない可能性がある場合

操作履歴タブをクリックすることで、バックテスト中のログを見ることが可能です。

パラメータがおかしくてテストがされない場合など、こちらを確認してみるといいでしょう。

操作履歴タブをクリックするとログが見れる

 

EAのバックテスト結果を確認

バックテストが終わったら、まずはレポートタブをクリックします。

その後、空いているところを右クリック>レポートの保存をクリックします。

EAのバックテストが終わったらレポートを保存する

名前をつけて保存画面になるので、StrategyTester.htmファイルを好きな場所に保存します。

保存すると、自動でGoogleChromeなど通常使うブラウザで、レポートが表示されます。

大きく分けて、3つのブロックに分かれます。

レポートの主な部分

  1. EA名やバックテスト環境、EAのパラメータ部
    ・・・バックテスト実施前に設定した部分です。
  2. バックテスト期間の成績、残高の推移グラフ
    ・・・EAの成績を確認したい時はここを見ます。
  3. バックテスト期間の個別トレード詳細
    ・・・個別のトレードの注文状況を1つずつ確認することができます。

バックテスト結果レポートの大きな分類

 

バックテスト結果のレポートの見方

それでは、EAのバックテスト結果を見ていきましょう。公開されているEAのバックテスト結果を見る時のポイントにもなります。

EA名やバックテスト環境、EAのパラメータ部

EA名やバックテスト環境、EAのパラメータ部

各パラメータの説明

  1. EA名と利用しているFX会社のサーバ名
  2. 通貨ペア:バックテストした通貨ペアが表示されます。
  3. 期間:バックテストしたチャートの時間足、バックテスト期間が表示されます。
  4. モデル:バックテストをどのように実施したかです。「全ティック」が一番精度が高いことを覚えておきましょう。
  5. パラメーター:EAの各パラメータを何に設定したか表示されます。名称はプログラム上の表記になっていますが、基本的にエキスパート設定ウィンドウの順番になっています。
  6. テストバー数:バックテストに利用したローソク足の本数です。
  7. モデルティック数:バックテストに利用したティックの数です。
  8. モデリング品質:バックテストの品質です。90%付近であればよいといわれています。
  9. 不整合チャートエラー:バックテストしたチャートに欠損や異常があるかの数値です。0~20くらいが理想です。不整合チャートエラーが多い場合は、ヒストリカルデータを入れ直すなど検討が必要かもしれません。
  10. 初期証拠金:バックテストの初期証拠金です。
  11. スプレッド:バックテストで利用したスプレッド値です。

不整合チャートエラーの値が大きすぎないか確認しましょう。

公開されているバックテスト結果を見る際は、期間、モデル、不整合チャートエラー、スプレッドあたりを注目してみると良いですね。
ロボ1号
ロボ1号

バックテスト期間の成績、残高の推移グラフ

ここからが、実際のバックテスト結果です。

バックテスト期間の成績1

各結果の説明

  1. 純益:バックテスト期間の利益です。総利益と総損失の差額です。
  2. 総利益:利益の合計です。
  3. 総損失:損失の合計です。
  4. プロフィットファクター:EAの性能を評価する指標です。総利益÷総損失です。高ければ高いほどよい結果ですが、2.0以上など高すぎる場合、バックテスト期間が短かったりという場合もあります。1.2以上だと良いEAな印象です。
  5. 期待利得:1回の取引あたりに平均でどのくらいの利益が得られるかを表す数値です。
  6. 絶対ドローダウン:初期の証拠金から最も減った金額です。
  7. 最大ドローダウン:最も資産が増えた時から、最も資産が減った金額で、バックテスト期間の中で最大の損失になった金額です。数字が少ないほど安定感があるといえます。
  8. 相対ドローダウン:最も資産が増えた時から最も資産が減った時の資産が減った比率です。
  9. 総取引数:バックテスト期間中にトレードした回数です。
  10. 売りポジション(勝率%):売りポジションの勝率です。
  11. 買いポジション(勝率%):買いポジションの勝率です。

使うEAの種類や特徴にもよりますが、純益、プロフィットファクター、最大ドローダウン、総取引数はチェックしておきたいですね。

勝率は1個1個のトレードの勝率なので、ナンピンマーチンゲールタイプや都度ロットを自動調整して利益を目指すタイプのEAにはあまり関係がない数値になりますね。
ロボ1号
ロボ1号

EAのバックテスト期間の成績

各結果の説明

  1. 勝率(%):勝ったトレードの合計数と勝率
  2. 負率(%):負けたトレードの合計数と負けた確率
  3. 最大 勝トレード:勝ったトレードの最大金額
  4. 最大 敗トレード:負けたトレードの最大金額
  5. 平均 勝トレード:勝ったトレードの平均金額
  6. 平均 敗トレード:負けたトレードの平均金額
  7. 最大 連勝(金額):最も連勝が続いたトレード数とその合計利益
  8. 最大 連敗(金額):最も連敗が続いたトレード数とその合計損失
  9. 最大 連勝(トレード数):最も連勝が続いた時の合計利益と続いたトレード数
  10. 最大 連敗(トレード数):最も連敗が続いた時の合計損失と続いたトレード数
  11. 平均 連勝:連勝回数の平均
  12. 平均 連敗:連敗回数の平均

ここは、具体的な勝率やトレード回数などです。

EAバックテストの結果グラフ

EAのバックテスト後は、こちらのような残高の推移を表すグラフも表示されます。

横軸がトレード回数、縦軸が口座残高を表しています。

残高の推移が右肩上がりになっているEAは、期間内に利益が出たってことがわかるわけだね。
ロボ2号
ロボ2号

バックテスト期間の個別トレード詳細

一番下はバックテスト期間中の個別トレードの結果です。

buy=買いトレード、sell=売りトレード、modify=注文変更、s/l=ストップロス、t/p=テイクプロフィットです。

バックテスト期間の個別トレード詳細

「exy-2perfectorderUSDJPY」はトレーリングストップを採用している関係で、ポジションを持った後に損切りラインが切り上がっている動きをしています。
ロボ1号
ロボ1号

ここまでが、バックテスト結果レポートの確認方法です。

Exy-2博士
Exy-2博士
損益グラフや純利益、プロフィットファクターなど各バックテスト結果を参考に、EAのバックテストがどんな調子化を確認する感じじゃな。
EAを使ったFX自動売買をしていくうえで、このバックテストレポートの見方は覚えておきましょう。
ロボ1号
ロボ1号

EAのバックテストをパターンごとに繰り返し検証する方法

ここまでは決めたパラメータでバックテストを行う方法や、レポートの見方について紹介しました。

しかし、これだけではなくMT4のストラテジーテスターには、バックテストのパラメーターを変更して様々なパターンを繰り返し行う機能「最適化」も搭載されています。

EAのバックテストをパターンごとに繰り返し検証する方法

ストラテジーテスターの右下の最適化チェックボックスをチェックして行いますが、各種設定等についてはまた別の記事で紹介したいと思います。

MT4でEAのバックテストをする方法【FX初心者でも自動売買の検証ができる】 まとめ

FX初心者でも自動売買の検証が可能なMT4でEAのバックテストをする方法について紹介しました。

まとめ

  • MT4では、自動売買用のEAを過去のチャートデータを使ってバックテスト(検証)が可能
  • バックテストをするための過去のチャートデータを入手する必要あり
  • period_converter_ALLスクリプトを利用するとチャートデータの作成が簡単
  • バックテスト結果レポートは、EAで自動売買をする上では知っておきたいこと!

FX研究所で無料公開している自動売買用EAFX便利ツールは、今回紹介したMT4が利用できるFX会社で利用することができます。

もちろん、バックテストをすることも可能になっています。
ロボ1号
ロボ1号

以下の記事に利用の流れを紹介していますので、気にいったツールがあれば活用してください。

  • この記事を書いた人
  • 最新記事
blank

exy-2 博士

2014年からFXを開始。スキャルピングやデイトレードでの裁量取引から始めたが、なかなか思い通りに結果を出すことが出来ず苦戦。スイングトレードが自分に合っていると知る。 その中でEAでの自動売買とも出会う。様々なEAを利用する中で自分のロジックを形にしたいと考え、MT4やMQL4を学び、今もなおFXトレードと合わせて研究中。 自分の開発したEAで、多くの人に利益を出してもらいたいという夢と、FXを始めた頃の自分のようなトレーダーの方にブログを通して有益な情報を発信したいと思い、2019年にExy-2博士のブログを開設。

-MT4/環境/トラブル対応
-, , ,

blank