MetaTrader4バックテスト効率化ツール「MT4BackTester」の概要と設定方法について
MT4BackTesterとは?
MetaTrader4のバックテストを効率的に実行するためのツールです。
主な機能
複数のEA、複数の通貨ペア、複数の時間を選択して一度に実行できます。
たとえば、”あるEAのバックテストを8種類の通貨ペアで3種類の時間でバックテストしたい”場合、24回のバックテストを手動で実行する必要がありますが、このツールを使用すると1回(自動的に24回)の実行で完了できます。
さらに、当バージョンから「一年毎に分割実行」が可能となりました。
MT4では短期トレードシステムを長期間でバックテストを実行すると、最後まで実行されない問題があります。(数年で止まってしまいます)
そのため、今までのバージョンでは「停止しない期間を指定して数回バックテストを実行する必要」がありましたが、このバージョンの新機能「一年毎に分割実行」をチェックすることで「途中で停止しないように自動で分割実行できる」ようになりました。
また、「一年毎に分割実行」することで全体実行では見えてこない「年間の実績」も確認できます。
※別のツールを使うことで分割実行した結果を集計して1つにまとめることもできます(後述)
新機能
Ver2.0.0で追加された機能は以下のとおりです。
1.スプレッド設定の追加
2.一年毎に分割実行
3.MetaTrader4 Build600以降対応
※Build600未満のバージョンは非対応となりました(動作未確認)
Ver2.2.0で追加された機能は以下のとおりです。(2018年11月13日)
1.通貨ペア設定の追加・変更・削除ができるようになりました。
MT4BackTesterの使い方
MT4BackTesterのダウンロード&インストール
2015年10月12日より有料ソフトとなりました。
それに伴い、機能を大幅に制限したFree版をリリースしております。
初めてお使いの方は、まずは無料版で動作をご確認後、ご購入をご検討ください。
※ Google Chrome でダウンロードを行った場合、「一般的にダウンロードされておらず、危険を及ぼす可能性があります。」といった警告が表示されることがあります。これはダウンロード回数が少ない場合に出現するメッセージですので無視してください。
有料版は以下のリンク先から購入可能です。価格は4,900円で販売中です。
MT4BackTesterFree(無料版)の制限事項について
MT4BackTesterFreeの制限事項
- 通貨ペアはUSDJPY、EURJPY、GBPJPYのみ選択可能
- 時間はM1、M5、M15のみ選択可能
- 一年毎に分割実行や結果を上書き、時間毎に設定ファイルを変える機能が使用できません
MT4BackTesterの使用方法
※有料版をご利用になる場合にはラインセンス認証が必要になります。認証方法は同梱の説明書を御覧ください。
MT4BackTesterの起動
先ほど解凍したフォルダ内にある「MT4BackTester.exe」を実行(ダブルクリック)します。
MT4BackTesterの初期設定
1)バックテストに使用するMetaTrader4のインストールフォルダを選択
※画像クリックで大きく表示されます。
2)データフォルダの設定【2014年12月23日追記】
データフォルダ設定ボタンをクリックすると以下の画面が起動します。
バックテストに使用するMT4を起動し、メニューの ファイル>データフォルダを開くを選択します。
起動したエクスプローラの上部にあるパスをコピーし、先ほどの設定画面に貼り付けます。
設定ボタンをクリックすると設定画面が閉じます。
3)EAの一覧が表示されます。バックテストしたいEAを選択
※Ctrlを押しながらクリックすることで複数選択できます。
3)実行したい条件を選択してバックテスト実行をクリック
通貨ペア(複数選択可)、時間(複数選択可)、モデル(EveryTick/ControlPoint/OpenOnly)、最適化の有無、期間の指定、一年毎に分割実行の有無、結果の上書き有無、スプレッド(手入力可、ただし0や小数点不可)を指定して「バックテスト実行」ボタンをクリックします。
実行ボタンを押すとMetaTrader4が起動してバックテストを開始します。
※EAの設定(パラメータ)はMetaTraderの起動時に指定されている設定値を使用します。任意の設定ファイルを読み込ませたい場合には後述の高度な設定「起動時に設定ファイルを読み込ませる」をご覧ください。
4)結果の確認
バックテスト結果は「MetaTrader4のデータフォルダ」に出力されます。 データフォルダの場所はMetaTrader4から確認できます。
ファイル(File)>データフォルダを開く(Open Data Folder)
出力結果はMetaTrader4で「レポート」を「保存」したものと同じです。
ファイル名はEA名_通貨ペア+時間.html(.gif)になります。
(一年毎分割実行の場合、最後に_yyyy(年)が付加されます)
使用方法は以上です。
通貨ペアの追加・変更・削除
初期値の通貨ペアに過不足がある場合や、通貨ペアシンボルの変更が必要な場合には「通貨ペア設定」画面から変更できます。
通貨ペア設定画面が起動しますので、お好みの設定に書き換えてください。
なお、空欄にした場合にはチェックボックスも非表示になります。不要なチェックボックスは空欄にして隠すこともできます。
設定例)株価指数、仮想通貨を追加
↓設定後の通貨ペアチェックボックス
MT4BackTesterの高度な設定
同時起動数設定
複数のMetaTrader4を同時に起動することでバックテストを高速化する機能です。
まずは通常の設定を行いバックテストできることを確認したら「インストールフォルダ」に指定したフォルダをコピーしてMetaTrader4を複製し、「同時起動数」を「2」に変更してインストールフォルダの2番目に指定します。
この状態で「バックテスト実行」すると、2つのMetaTrader4を同時に起動して処理を行います。(3つ・4つ起動したい場合には同様にMetaTrader4を複製してください)
なお「ハードディスク(またはSSD)」を物理的に分けないと効果が出ません。(マルチコアCPUを効率的に使うため開発しましたが、ハードディスクに負荷が集中してしまい1つのハードディスクでは速度が出ませんでした。)
起動時に設定ファイルを読み込ませる
バックテスト実行時、設定ファイルを読み込ませることができます。
1)MT4backTesterで使用するMetaTrader4を起動してStrategy Testerを表示
2)バックテストしたいEAを選択、Expert Properiesをクリック
3)バックテスト実行時に使用したいパラメータを入力し、Saveボタンをクリック
4)EAのファイル名と同じ名前でsetファイルを保存
※EA名が「MACD Sample」の場合、「MACD Sample」と入力して保存
※保存場所はデータフォルダのtesterの下です。通常、保存ダイアログが起動するとこのフォルダが指定されています。 これで準備完了です。 後は通常通りMT4BackTesterから「バックテスト実行」を行うと自動的に設定ファイルを読み込んでバックテストを実行します。
時間毎に設定ファイルを変える
「15分/30分/1時間の複数時間を使用してバックテストする際に、時間毎に読み込ませる設定ファイルを変えたい」場合に使うオプションです。 上記の「起動時に設定ファイルを読み込ませる」と同じ手順で設定ファイルを作りますが、ファイルを保存する際に以下のように保存してください。
※EA名が「MACD Sample」の場合
15分⇒MACD Sample_M15.set
30分⇒MACD Sample_M30.set
1時間⇒MACD Sample_H1.set
最後にMT4BackTesterで「時間毎に設定ファイルを変更する」にチェックを入れてバックテスト実行すると、作成した設定ファイルを読み込んでバックテストを実行します。
出力先設定
結果の出力先をデータフォルダ直下からデータフォルダ下の任意のフォルダに変更できます。
1)MetaTrader4のデータフォルダに任意のフォルダを作成
例)MT4Testerというフォルダを作成
2)MT4BackTesterの「出力先設定」ボタンをクリック
3)先ほど作成したフォルダ名を入力し、設定ボタンをクリック
これで設定は完了です。通常通り「バックテスト実行」すると指定したフォルダに結果を出力します。 (データフォルダの下以外の場所にはMetaTrader4の仕様で出力できません)
Q&A
Q:分割実行した結果を結合したい
A:ReportManagerというツールで結合できます
1)以下のファイルをダウンロード
※http://mqlsoft.com/で公開されていたソフトですが、現在mqlsoft.comにアクセスできない状況です。少し古いバージョンですが1.2.0があったのでこれを置いておきます。(最新は1.3.0だと思います)
【2015年4月13日追記】
mqlsoft.comが復活していました。下記URLから最新版のダウンロードができます。
※このツールはJavaで動作します。Javaがインストールされていない場合にはJavaもインストールしてください。
2)任意のフォルダに解凍し、reportmanager.exeを実行
3)メニューのFile>Open Reportsを選択
4)MT4BackTesterで実行した結果出力フォルダ(MT4のデータフォルダ)を指定し、対象ファイルを選択
※フォルダ指定はMT4からデータフォルダをエクスプローラで開いてReportManegerのファイル選択画面にコピペすると楽です。
※ファイルは複数選択可能です。表示されているhtmファイルを選択してください。
5)メニューのFile>Marge Reportsを選択
6)結合結果が表示されます
※上記は2005年から2014年までを「一年毎に分割実行」した結果を結合したものです。
注意事項等
当ツールを利用したことに関連して生ずる損害について、一切責任を負いません。(自己責任でお使いください)
個人使用・業務使用に関わらず自由にご使用いただいてかまいませんが、著作権は放棄しておりませんので当ツールの加工・販売等は禁止といたします。
なお、ライセンスは1つのご注文につき5ライセンスとなっております。5台のPCまで同時に使用できます。それ以上必要な場合には申し訳ございませんが、も う1つご購入ください。
不要なライセンスは削除することができます。ソフトに同梱している「ライセンス申請説明書.pdf」に削除方法が書いておりますので、削除したい場合にはそちらを御覧ください。
また、ライセンス認証にはインターネット接続が必要です。ご利用の際にはインターネットに接続できるPCをご用意ください。
もし不具合等ございましたら当記事のコメント欄またはメールでご連絡ください。
メールアドレス:support@tasfx.net
最後に
当サイトをご覧いただきありがとうございます。
このツールは私自身が使用するために開発したものですが、私と同じ悩みを抱えている方はいらっしゃるはず・・・と考えて無償で公開しております。
たくさんのご質問があり、当方の負担が大きくなってきましたので有料に切り替えさせていただきました。
私自身、しばらくEAの開発から離れておりましたため、MetaTrader4 Build600対応が遅くなってしまいました。(「動かなくなっている」ことは分かっていたのですが、必要に迫られないとやらない性格でして・・・)
心待ちにしていた方にはお詫びいたします。
「一年毎に分割実行」は今回どうしても実装したかった機能です。
当ツールの開発を始めた当初は「短期トレードシステム」を作っていなかったため「バックテストが途中で止まる」ことは無かったのですが、現在は「全て短期トレードシステム」に置き換わってしまい「止まる」ことが頻発していました・・・。
「これはどうにかしなければ」と重い腰をようやく上げて実装に取り掛かったわけです(笑)
この機能はVer1.0.0公開当初から要望されていた機能でしたので、嬉しい方は多くいるのではないか?と思っています。
当ツールが皆様のお役に立てれば幸いです。
その他開発ツール等
「開発ラボ」に開発したツールの一覧があります。
ご興味がございましたら、ぜひご覧ください。
複数通貨の検証もっと効率的にできないかなぁ~と思ってたら、本ページに辿り着きました。フリーというのは驚きを隠せないですが、お言葉に甘え有難く使わさせて頂きたいと思います。
p.s.
プロフィール見ましたが、専業トレーダー達成おめでとうございます!
自動のみで生計立てられるということを証明され心強い限りです。是非とも今後とも継続して成功・活躍されることを期待しています。
自分現在サラリーマン(SE)やっており、自分もそちらの世界に行きたいのですが、もう少し時間かかりそうです。