MetaTrader EA / 便利ツールツールや技術メモ

【MT4/MT5】バックテストサポートツール【Excel版】MetaTradeのバックテストを効率化

MetaTraderのバックテストを効率的に!通貨ペアや開始日~終了日などを変えながら連続でテストをまわせます。

※MT5用のバックテストサポートツール【Excel版】も用意しました。ダウンロードは後述のリンク先からどうぞ!

スポンサーリンク / Sponsored links

MT4バックテストサポートツール【Excel版】とは?

MetaTrader4のバックテストを効率化するツールです。

通貨ペアやテストの開始日~終了日などのパターンを変えながら自動で連続してテストをまわせます。

f:id:takonegi15:20210602211949p:plain

f:id:takonegi15:20210602212002p:plain

使用場面(使用例)

例えば2種類のEAをUSDJPY、EURUSD、EURJPYの3通貨ペアでそれぞれバックテストしたい場合、通常ではまずは1つ目のEAでUSDJPYでテストを実行して、終わったらEURUSDを設定してテストを、それが終わったらまた設定して・・・と2EA×3通貨ペアで6回バックテストの設定と実行を繰り返すことになりますが、

このツールは最初に2種類のEAと3通貨ペアの設定をしておくことで、テストを自動で連続実行することができます。

寝る前にセットして朝起きたら終わっている!という使い方ができます!

使い方に多少のクセがありますが、Excelファイルを編集するだけで簡単に連続バックテストできます。

バックテストで設定可能な項目

・EA
・EAのパラメータファイル
・通貨ペア
・期間(チャートの周期 M1、H1など)
・モデル
・スプレッド
・再計算(有効/無効)
・最適化(有効/無効)
・期間指定(有効/無効)、テストの開始日、テストの終了日
・テストレポートのファイル名
・テスト終了後のMT終了(有効/無効)
・ビジュアルモード(有効/無効)

ダウンロード

まずは無料版をお試しください。気に入っていただけましたら有料版をご検討ください。
次のリンク先(GogoJungleサイト)からダウンロードできます。

MetaTrader4用
MT4バックテストサポートツール<無料版>のダウンロード
MT4バックテストサポートツール<有料版>のダウンロード

MetaTrader5用
MT5バックテストサポートツール<無料版>のダウンロード
MT5バックテストサポートツール<有料版>のダウンロード

無料版の機能制限

無料版は連続テスト数に最大2回までの制限があります。

とりあえず動かしてみたい場合

「param_com」シートのオレンジ色網掛け項目(2箇所)の情報を入力して、「使い方」シートの「バッチファイル作成」ボタンをクリック。
作成されたバッチファイルをダブルクリックで実行!

使い方

起動

「MT4バックテストサポートツール.xls」をExcelで開きます。

※マクロに関するポップアップが表示された場合は「マクロを有効にする」を選択してください。

f:id:takonegi15:20210602214052p:plain

テスト情報入力:「param_com」シートの設定

オレンジ網掛けの項目を設定していきます。

f:id:takonegi15:20210602214230p:plain

①インストールフォルダPATH
説明
MT4の terminal.exe があるPATHを指定します。外為ファイネスト社提供のMT4であれば次の入力例のようになります。
入力例
C:\Program Files (x86)\MT4 Gaitame Finest Company Limited
②データフォルダPATH
説明
MT4のメニューから ファイル→データフォルダを開く で表示されるフォルダのPATHを指定します。
入力例
C:\Users\takonegia\AppData\Roaming\MetaQuotes\Terminal\34B08C83A5AAE27A4079DE708E60511E
f:id:takonegi15:20210602215058p:plain

テスト情報入力:「param_launch」シートの設定

オレンジ網掛けの項目を設定します。1行1テストの設定になります。3連続でテストする場合は3行の設定を記載することになります。

f:id:takonegi15:20210602220010p:plain

f:id:takonegi15:20210602220022p:plain

①起動構成ファイル名

※初期値として入力済ですので個別に設定する必要はありません。

説明
作成する起動構成ファイル名を指定する項目です。テストごとに読み込まれるファイルになります。
※ファイル名は一意にする必要があります。同名のファイルは上書きされます。
※起動構成ファイル名を変更したい場合のみこの項目を編集します。
入力例
1_startparam.ini
②テスト数の終端フラグ(C列の■■■)
説明
説明C列に「■■■」を記入すると、この行の1行前までを最終行として認識します。
例えば、C7セルに「■■■」と入力した場合、4行目(最初の行)~6行目までの計3行に入力されたデータをもとに3連続テスト用のバッチファイルが作成されます。
入力例
■■■
③テスト設定項目の終端フラグ(1行目の■■■)

※初期値として入力済ですので個別に設定する必要はありません。

説明
1行目に「■■■」を記入すると、この列の1列前までを最終列として認識します。
例えば、R1セルに「■■■」と入力した場合、C列(最初の列)~Q列までの計15列に入力されたデータをもとにテスト用のバッチファイルが作成されます。
※MT4の起動構成ファイルに設定可能な項目は15個で、初期値としてR1セルに「■■■」を入力済ですので、この項目を編集する必要はありません。
入力例
■■■
④TestExpert(EA)
説明
テストの目的で起動するエキスパートの名前です。このパラメータが指定されていない場合には、テストは開始されません。
入力例
MACD Sample
Moving Average
⑤TestExpertParameters(EAのパラメータファイル)
説明
パラメータを含むファイル(\testerディレクトリ)の名前です。このファイルは、テスト用エキスパートの「プロパティ」ウィンドウで「入力」タブの「保存」ボタンを押すことにより作成されます。通常は、デフォルトのパラメータと異なるパラメータを保存するときに使われます。テスト用エキスパートの「テスティング」及び「最適化」タブ内のその他のパラメータ(及びこのパラメータが指定されていない場合には「入力」タブ内のパラメータ)については、最後のテスト後に\tester\[エキスパート名].iniファイルに自動保存された値が入力されます。
ファイルはtesterディレクトリ配下に格納する必要があります。このディレクトリからの相対PATHで設定します。
入力例
MT4BackTest\myopt.set
(入力値なし)
⑥TestSymbol(通貨ペア)
説明
エキスパートのテストで使用する通貨ペアの名前です。このパラメータが指定されていない場合には、テスターで最後に使用された値が使われます。
入力例
USDJPY
⑦TestPeriod(期間)
説明
チャートの周期(1分、5分、15分、30分、1時間、4時間、1日、1週間、月)です。このパラメータが指定されていないときは、1時間を使用します。
入力例
M1
⑧TestModel(モデル)
説明
テスティングモデルの種類(「レートごと」、「コントロールポイント」、「オープン価格のみ」)によって、0、1、または2のいずれかとなります。このパラメータが指定されていないときは、0(Every tick)を使用します。
0:EveryTick, 1:ControlPoint, 2:OpenOnly
入力例
0
⑨TestSpread(スプレッド)
説明
スプレッド
現在値:Current, 数値指定可能:0~
入力例
Current
5
 
⑩TestRecalculate(再計算)
説明
「再計算」フラグを有効/無効にします。「true」または「false」のいずれかの値をとります。このパラメータが指定されていない場合は、「false」の値が使われます。
入力例
false
⑪TestOptimization(最適化)
説明
最適化を有効/無効にします。「true」または「false」のいずれかの値をとります。このパラメータが指定されていない場合は、「false」の値が使われます。
入力例
false
⑫TestDateEnable(期間指定)
説明
「日付を使用」フラグを有効/無効にします。「true」または「false」のいずれかの値をとります。このパラメータが指定されていない場合は、「false」の値が使われます。
※期間指定する場合は「true」にする必要があります。Falseにすると全期間で計算されます。
入力例
True
⑬TestFromDate(テストの開始日)
説明
テストを開始する日付です。YYYY.MM.DDの形式になります。このパラメータが指定されていない場合には、この日付は1970.01.01となります。
入力例
2021.01.01
⑭TestToDate(テストの終了日)
説明
説明テストを終了する日付です。YYYY.MM.DDの形式になります。このパラメータが指定されていない場合には、この日付は1970.01.01となります。
入力例
2021.01.10
⑮TestReport(テストレポートのファイル名)
説明
テストレポートファイルの名前です。このファイルはクライアントターミナルのディレクトリ内に作成されます。ファイル名の中で拡張子が指定されていない場合には、「.htm」が自動的に付加されます。このパラメータが指定されていない場合には、テストレポートは作成されません。
入力例
1_backtestrepot
⑯TestReplaceReport(テストレポートのファイル名が重複した場合の動作)
説明
レポートファイルの反復記録を有効/無効にします。「true」または「false」のいずれかの値をとります。「false」の値を指定した場合で、同じ名前のレポートファイルが既に存在するときは、ファイル名の後に角括弧で括った数字が付加されます。例えば、「MovingAverageReport[1].htm」となります。このパラメータが指定されていない場合は、「false」の値が使われます。
入力例
false
⑰TestShutdownTerminal(テスト終了後のMT終了)
説明
テスト終了後のターミナルのシャットダウンを有効/無効にします。「true」または「false」のいずれかの値をとります。このパラメータが指定されていない場合は、「false」の値が使われます。ユーザが「停止」ボタンを押した場合には、制御がユーザに移るため、このパラメータの値は「false」にフラッシュされます。
入力例
true
⑱TestVisualEnable(ビジュアルモード)
説明
ビジュアル テスト モードを有効 (true) または無効 (false) にします。 パラメータが指定されていない場合、現在の設定が使用されます。
入力例
false

バッチファイルの作成

「使い方」シートの「バッチファイル作成」ボタンを押し、バックテスト実行用のバッチファイルの作成場所を指定します。作成が完了すると次のようにバッチファイルと起動構成ファイルが作成されます。起動構成ファイルはテスト数分作成されます。

※作成されたバッチファイルや起動構成ファイルは移動しないでください。バッチファイルの中身は絶対PATHで記載されているため、作成されたファイルを別のフォルダに移動するとうまく動作しません。

※バッチファイル作成時に同名のファイルがあると上書きされます。

f:id:takonegi15:20210602221217p:plain

バックテストの実行

作成されたバッチファイル「BackTestKicker.bat」をダブルクリックで実行します。

コマンドプロンプトでバックテストの実行可否を質問されますので、実行する場合は「y」を入力してエンターキーを押します。辞める場合は「n」を入力してエンターです。

MetaTraderが自動的に起動して終了を繰り返します。コマンドプロンプトに「完了しました」と表示されれば完了です。何かキーを押せば終了します。

終了の際にレポートやログの格納フォルダが開きます。

※MetaTraderを終了した状態で、バッチファイルを実行してください。

バックテスト結果の確認

次の場所にレポートやログファイルが格納されています。

格納先
MT4のデータフォルダ\tester\logs\backtest_[YYYYMMDDHHMMSS]
※「データフォルダ」とは「param_com」シートで指定した「データフォルダPATH」の場所です。
※[YYYYMMDDHHMMSS]は年月日時分秒です。
レポート
「param_com」シートの「TestReport」項目で指定した値でファイル名が作成されています。

ログ[実行番号]_[YYYYMMDDHHMMSS].log という形式で作成されます。※バッチファイル実行前に既存ログファイルが存在していた場合はtester\logs_bkupフォルダに退避されます。※[実行番号]はバックテストを実行した順の番号です。

動作環境

Windows 10 日本語、Excel、MetaTrader 4

※Excelはバージョン2003と2019で動作確認しています。

留意事項

本ソフトウェアの使用によって生じたいかなる損害等について作者は一切の責任を負いません。自己責任でご利用ください。

コメント / Comments

タイトルとURLをコピーしました