MT4 バックテスト結果を見える化するインジケーター(Mi_BackTestViewer)

EAのバックテスト結果を見える化するインジケーター(Mi_BacktestViewer)を作りました。

MT4のバックテストは、プロフィットファクターや勝率など、EAの各種成績を調べるには非常に便利ですが、どうしてそのような成績になったのかという原因を調べることはなかなか困難です。

このインジケーターは、バックテスト結果をチャートに取り込んで見える化します。EAがどのようなトレードをしているのかをチャート上でじっくりとチェックすることができます。

システムトレード派の方に使っていただきたいインジケータです。

2021年4月14日バージョンアップ(v07)

バージョンアップしました。矢印および決済マークのタイプとサイズを指定できるようにしました。その他細かな調整。

どんなインジケーター?

Mi_BacktestViewerは、バックテスト結果のcsvファイルをチャートにインポートして表示するインジケーターです。1分49秒でこのインジの全貌が分かる動画を用意しました(下)。

このインジケーターは、簡単に言うと、「EAのバックテストの結果を通常チャートにコピペして見やすく表示する」というものです。

バックテストのcsvファイルについて

本インジケーターの使用前にバックテストのcsvファイルを事前に作成しておく必要があります。csvファイルの準備方法は後述します。

次に機能をもう少し詳しく説明します。

機能・特徴

このインジケーターは以下のような機能・特徴を持っています。

①バックテストの結果をチャートに表示

Mi_BacktestViewerの動作画面

↑バックテストの結果をチャート上に分かりやすく表示します。メインチャートに1件1件のトレード履歴が表示され、サブチャートには損益の推移が表示されます。

EAがどのような相場でどのようなトレードをしているのかが一目瞭然になります。

②必要な情報はチャート上に視覚化

Lot数、損益、獲得pips

↑分析に必要な情報(Lot数、損益金額、獲得pips数)を一つ一つのトレード履歴に表示します。

③操作はパネルのボタンを押すだけ

操作パネル

↑表示するcsvファイルの選択や、ハイライト表示、矢印、Lot数の表示などは全てパネルボタンをクリックするだけで切替えることができます。

④複数のバックテストを比較できる

バックテストを比較

↑複数のバックテストの結果を一つのチャート内に表示できます(最大10ファイル)。いくつかのEAのバックテストを表示させれば、EAごとのトレードタイミングや傾向の違いが見えてきます。またバックテストのパラメーター変更による影響などを比較する時にも便利です。

こんな時に役立ちます

また、残高の推移も同じチャート内に表示できるので、パッとみてどんな相場で勝っているか・負けているかが直感的に分かります。

このインジケーターのポイントをまとめるとこんな感じです。

得意な相場・苦手な相場を一目でチェック
トレード履歴と損益推移を一つのチャート内で確認できるので、そのEAがどんな相場が得意で逆にどんな相場が苦手なのかを直感的に知ることができます。
タイミングを細かくチェック
EAのエントリータイミングやイグジットタイミング、ロット数、損益などを、時間足や表示情報を切り替えながらじっくりとチェックすることができます。バックテストのcsvファイルを残しておけば、いつでもテスト結果を再確認することができます。
EAの選定やポートフォリオの検討に
複数のEAのバックテストを比較して運用するEAを選定したり、エントリータイミングなどが異なるEA同士でポートフォリオを組んでリスクヘッジするなどの検討に役立ちます。

システムトレードをする方はもちろんのこと、自分でEAを作る方にも役に立つインジケーターです。

使い方(csvファイルの準備)

Mi_BacktestViewerを使うには事前にバックテスト結果のcsvファイルが必要です。以下にcsvファイルの作成手順を説明します。

EAのバックテストを行う

まずは任意のEAのバックテストをいつも通りに行ってください。バックテスト時の設定項目(通貨ペア・期間・時間足・初期証拠金など)に制限はありません。ビジュアルモードはオフでもOKです。

バックテストを行う

結果をソートしてコピー

バックテストが終わったら、テスターウィンドウの「結果」タブを開きます。

「注文番号」をクリックして昇順(△)にソートしてから、データ上で「右クリック」→「すべてコピー」します。

注文番号でソートして全てコピー

ご注意

ソートしないと、注文結果のラインが表示されない場合があります。忘れずに注文番号で昇順ソートしてからデータをコピーしてください。

エクセルに貼り付けてcsv形式で保存

エクセルで新規ファイルを作成し、②でコピーした結果をA1セルに貼り付けます。

エクセルに貼り付け

「名前を付けて保存」します。ファイル名は「result.csv」、ファイルの種類は「CSV(カンマ区切り)」にします。

csv形式で保存

補足

csv形式で保存できればExcelでなくてもOKです。

csvファイルをMT4のデータフォルダに移動

作成したresult.csvを移動します。

  1. MT4の「ファイル」→「データフォルダを開く」でデータフォルダを開く
  2. 「MQL4」フォルダ→「Files」フォルダと進み、「Files」フォルダの中にresult.csvを保存

csvファイルを移動

チャートを開いてBacktestViewerを適用

新規チャートを開き、BacktestViewerを適用してください。適用時にresult.csvがチャートに読み込まれ、チャート上にバックテストの結果が表示されます。

Mi_BacktestViewerの動作画面

チャートに適用した後は、時間軸をいろいろ変えて、EAがエントリーしたタイミングを細かく見るなどしてじっくり検証してください。

設定パラメータ

設定パラメータは下図の通りです。インポートするcsvファイル名はこの設定パラメーターにて指定してください。csvファイルごとにラインの色や太さなどのスタイルを変更できます。決済マークはデフォルトでは「なし」になっていますので必要に応じて設定を変更してください。

設定パラメータ

↑ファイル10まで同様の設定が続くので図は途中で割愛しています。

ダウンロード

このインジケーターは下記より入手できます。

Trial

Mi_BacktestViewer【試用版】
試用版はGBPUSDで使えます(無料)

ダウンロード

Standard

Mi_BacktestViewer【標準版】
標準版は通貨ペアの制限なし(ゴゴジャンで販売中)

ゴゴジャンで見るバックテストの結果を通常チャートに取り込んで表示するインジケーター | GogoJungle

インジケータのインストール方法が分からない人は「MT4にインジケーターを入れる方法(初心者向け)」を参照してください。

バージョンアップ履歴

更新日 Ver. 概要
2021年4月14日 v07 矢印と決済マークのタイプとサイズを指定できるように改良。他細かな調整。
2021年1月6日 v06 インポート可能ファイル数を10ファイルに増加
2020年9月13日 v05 ボタンの文字表記の位置ずれを修正
2020年9月6日 v04 複数ファイルのインポートに対応
Lot数、損益金額、獲得pipsの表示を追加
矢印マークのデザイン変更
サブチャートの表示内容を累計損益に変更
配色ボタンを廃止し、ハイライトボタンを新設
ボタン等のUIを刷新
取扱説明書を新設
2019年11月16日 v03 トレード結果のラインがうまく表示されないケースがあり、この不具合を解消
2019年6月23日 v02 コードの整理
2018年9月8日 v01 リリース

まとめ

一言で言えば、このインジケーターはバックテストの結果を、通常チャートにインポートして分かりやすく表示するものです。

私は、ロジックの分からないEAを使う場合には、まずこのインジケーターでEAのトレードをチェックをしています。そのEAが得意な相場や苦手な相場をあらかじめ知っていないと、恐ろしくてシステムトレードはできません。逆に言えば、EAの特徴が分かっていればEAの調子が悪くなった場合に稼働を続けるのか休止するのかといった判断などもしやすくなります。

また、自分でEAを作った時に「想定通りに動作しているか」とか「どんなチャートで負けているか」をチェックする時に使うこともよくあります。

システムトレードをやっている方、これからやりたいと思っている方に使っていただきたいインジケーターです。

コメント

この記事へのコメント(8 件)

  • さんより

    購入を考えておりまして、試しに無料版を試してみましたが、
    手順通りにやってもサブウィンドウ内には何も表示されません。
    何か注意点などございますでしょうか?
    2020.09.29 18:22:39.489 Custom indicator Mi_BacktestViewer_v05_trial USDJPY,M15: loaded successfully
    と読み込みには成功しておりますし、
    通貨ペアはUSDJPY、File1の箇所もリネームしたりして試しましたがダメでした。

  • 管理人ですさんより

    牧さんへ
    コメントありがとうございます。
    メインウィンドウにトレード結果が表示されていて、サブウィンドウに損益グラフが表示されないということでしょうか?
    そうであれば、csvファイルの読み込み自体は実行されていますので、ファイル名は正しく指定されています。
    あと考えられる要因はcsvファイルのデータがおかしいか、プログラム自体の不具合あたりです。

    csvデータを調べれば原因が分かると思うのですが、csvファイルを下記アドレスへ送っていただくことはできませんでしょうか?(あっとの部分は@に置き換えてください。)
    minagachi.com.mngあっとgmail.com
    お手数おかけしますがどうぞ宜しくお願い致します。

  • 投資パパさんより

    お世話になっております。
    今、EA制作をしており、こちらのページを拝見して、昨日購入させて頂きました。
    csvファイルがうまく取り込めなく、チャートにトレード結果が反映されません。
    ハイライトボタンなどを押すとその様にローソク足が変化しますので、インジ自体は稼働すると言う状況です。
    サポートをお願いしたいです。

  • 管理人ですさんより

    投資パパさんへ
    ご購入いただきましてありがとうございます。
    ファイルの取り込みができない原因としては
    ・csvファイル名の指定間違い(〇〇.csvのように拡張子まで指定してください)
    ・csvファイルを別のプログラムで開いているためMT4が操作できない
    ・csvファイルの取り込みはできているが、バックテスト期間分のローソク足データがチャート上にないため表示できない
    が可能性として考えられます。まずは上記3点お確かめください。
    また、細かな状況をお伺いしたいのですがお問合せにご連絡いただけませんでしょうか(内容はカラで結構です。投資パパさんからという事が分かればOKです)。

  • 投資パパさんより

    お世話になります。

    ・csvファイル名の指定間違い(〇〇.csvのように拡張子まで指定してください)
    ・csvファイルを別のプログラムで開いているためMT4が操作できない
    ・csvファイルの取り込みはできているが、バックテスト期間分のローソク足データがチャート上にないため表示できない

    これら3点確認しましたが、解決しません。

  • 管理人ですさんより

    投資パパさんへ
    3点のご確認ありがとうございました。他の原因の可能性としてお手数をおかけしますが追加で3点ご確認お願いします。
    ・本インジケーターはビジュアルモードのチャート(バックテストを行ったチャート)では動作しません。もしvisualモードのチャートでご使用されている場合は新規チャートを開いて本インジケーターを適用してください。
    ・他のインジケーターや他のEAが干渉している可能性もありますので、一度チャートを全て閉じて、新規チャートを1枚だけ開いて本インジケーターのみで動作させてみてください。
    ・csvファイルの保存場所を間違えやすいのでもう一度ご確認下さい。正しい保存場所は、MT4メニューバー「ファイル」→「データフォルダを開く」→「MQL4」フォルダ→「Files」フォルダの中です。

    また私の方で、動作確認が取れているcsvファイルのサンプルを作成しました(サンプルデータ)。とあるEAでドル円2020年1月~12月のバックテストを行ったcsvファイルと本インジケーターでチャートに取り込んだ時の画像ファイルが入っています。ドル円チャートでこのサンプルcsvが動作するか試してみてください。

  • 投資パパさんより

    お世話になります。
    ありがとうございます。
    サンプルファイルも読み込めましたし。
    出力したcsvファイルも読み込むことができました。

    保存先、出力方法も良かったのですが、
    ファイル名の保存方法がまずかったようでした。
    お騒がせ致しました。

  • 管理人ですさんより

    投資パパさんへ
    ご連絡ありがとうございます。
    無事にファイル取り込みができたようで良かったです。
    また何かご不明点があればお気軽にご連絡ください。