MT4ストラテジーテスターのバックテストをTickヒストリカルデータで行う方法

MT4のストラテジーテスター(バックテスト)は、1分足データーから疑似Tickを生成し取引シミュレーションを行います。
スキャルピング系EAの場合、疑似Tickでは、バックテストの信頼性が極端に悪くなります。これでは、実質使えません。
しかし本物のTickデーターをMT4に取り込むことで解決できます。

TickデーターをMT4に取り込むツールがありますので、このツールを使った一連の操作手順を解説します。

作業は、QuantDataManagerを使いデューカスコピーのTickデーターをMT4に書き込みます。
作業を終えるとMT4のチャート、M1,M5,M15,M30,H1,H4,DailyがEvery tickになり、MT4ストラテジーテスター(バックテスト)が本物のTickデーターで実行できます。

複雑な作業に感じますが一度一通り行えば次回はスムーズにできます。
はじめは、本記事をじっくり読みながら作業を進めて見てください。

QuantDataManagerインストーラーのダウンロード

QuantDataManagerの開発会社StrategyQuantは、MT4ユーザー向けにツールを開発しています。筆者も昔からStrategyQuant社のツールを使っています。StrategyQuant社は、応援したい会社のひとつであり有料版も持っています。気に入ったツールがありましたら購入することでStrategyQuant社が開発を継続することができます。

QuantDataManagerのFree version(無料版)をダウンロードします。

今回の作業は、Free version(無料版)で出来ます。
ダウンロードはこちら
https://strategyquant.com/quantdatamanager/

QuantDataManagerをインストール
ダウンロードしたファイルを実行しインストールします。

デューカスコピーのTickデーターをダウンロード

(1)QuantDataManagerを実行します。
Windowsメッセージで「次のプログラムにこのコンピューターへの変更を許可しますか?」が表示されたら「はい」をクリックします。

(2)画面左上「Ducascopy data」アイコンをクリック。

プルダウンメニューから「+Add new Ducascopy data symbol」をクリックします。

(3)通貨ペア(Symbol)一覧からダウンロードする通貨ペアにチェックを入れます。
ここでは、通貨ペアの選択だけをします。
チェック後、画面右下「sava」をクリックします。

(4)QuantDataManagerメイン画面に表示された通貨ペアにチェックを入れます。

(5)画面左上「Ducascopy data」アイコンをクリック。

プルダウンメニューから「●Download data for existing symbol」をクリックします。

(6)期間等を設定

「Choose data range download」項目でヒストリカルデータの期間を設定します。MT4に適用する時、ものすごく長い時間がかかりますので、はじめは半年~2年くらいにすることをおすすめします。
「Data type」項目で「Tick data」を選択します。
「Redownload options」項目で「Add only missing data」を選択します。
「Fast Data Download」項目は、無料版では選択できません。

画面右下「Start download」クリックでダウンロードが開始されます。

タイムゾーン(サーバー時間)の変更

(1)QuantDataManagerメイン画面に表示された通貨ペアにチェックを入れます。

(2)画面上「Clone to timezone」アイコンをクリックします。

(3)「Cloned data symbol name」の記入フィールドに任意の名前を入力します。
例:USDJPY-UTC3

(4)「choose timezone」を選択し、プルダウンから変更したいタイムゾーンを選択します。

タイムゾーンは、バックテストを実行するMT4のサーバー時間です。FX会社により異なりますので、ご自身でFX会社のWebサイトなどで調べてください。

各FX会社のMT4サーバ時間

デューカスコピー・ジャパン、FXTF、OANDA、FXCM、XM、TitanFX、FxProは、GMT+2(冬時間)/GMT+3(夏時間)です。

ヒストリカルデーターを1年以上の期間でダウンロードするならGMT+2を設定します。

冬時間と夏時間を分けるなら、
GMT+2(冬時間)は、11月7日から翌年3月14日(月単位なら12月1日から翌年2月末日までの3ヶ月間
GMT+3(夏時間)は、4月1日から10月25日(月単位なら4月1日から9月末日までの6ヶ月間

スキャルピング系EAをバックテストするなら、夏時間(GMT+3)で4月1日から9月末日までの6ヶ月間で行うのがよろしいかと思います。

冬時間、夏時間を正確に分けたいなら以下を参考にしてください。

中央ヨーロッパとイギリスの夏時間
3月最終日曜日から10月最終日曜日
例) 2018年3月25日(日)から2018年10月28日(日)

米国の夏時間
3月第2日曜日から11月第1日曜日
例) 2018年3月11日(日)から2018年11月4日(日)

※GMT(グリニッジ標準時)とUTC(協定世界時)の時差は、ほぼありませんので同じです。

(5)画面右下「Proceed」をクリックします。

MT4通貨ペアの詳細情報をQuantDataManagerに取り込む準備

(1)MT4スクリプトファイル「ExportProperties.mq4」をダウンロードします。

筆者アーカイブファイルをダウンロードはこちら。
https://drive.google.com/file/d/1mmaYReQhqiYiHZVUhBle04C8AkYaNoCx/view?usp=sharing

公式コミュニティからダウンロードはこちら。
StrategyQuant社にユーザー登録してログインすると、このURLからダウンロードできます。
https://strategyquant.com/forum/topic/where-can-i-get-the-exportproperties-mq4-file/?logged_in=1

(2)「ExportProperties.mq4」ファイルをMQL4\Scriptsフォルダーに移動
MT4上側メニューのファイル>データフォルダを開く
MQL4 > Scripts フォルダーを開く。
「ExportProperties.mq4」ファイルを「Scripts」フォルダーに移動。

(3)「ExportProperties.mq4」をコンパイル
MT4を再起動
ナビゲーター>スクリプト>ExportProperties>マウス右クリック>修正>コンパイル
コンパイルエラーがないことを確認。

(4)MT4のチャートを開きます。MT4チャートをQuantDataManagerで設定している通貨ペアに変更します。

(5)スクリプト「ExportProperties」をMT4チャートにドラッグ&ドロップ、スクリプトを実行します。

変化ありませんがこれでOKです。

(6)MT4を閉じます。

MT4にtickデーターを適用

(1)QuantDataManagerメイン画面に表示された通貨ペアにチェックを入れます。

(2)画面上「Expert to MT4z(FXT & HST)」アイコンをクリックします。

 

(3)「Choose data range to export」項目でバックテストの期間を設定します。

(4)「Output folder」項目で、MT4のインストールフォルダー、データフォルダ、サーバー名を設定します。
MT4インストールフォルダーは、WindowsのMT4起動アイコン>マウス右クリック>プロパティから確認できます。

(5)「Symbol」は、MT4に適用する通貨ペアを選びます。

(6)「Name in MT4」は、MT4側の通貨ペア名を入力します。FX会社により若干違うので入力形式になっています。

(7)「Load other MT4 data specfication file」青色文字をクリックします。
MT4>MQL4>Files>mt4.propertiesを選択します。

(8)画面右下「Start export」クリック。
MT4にM1,M5,M15,M30,H1,H4,Daily(Every tick)適用が開始されます。これは長い時間がかかります。

MT4オフラインチャートで完了確認

MT4にtickデーター適用が完了したら、MT4を起動します。

MT4メニュー>ファイル>オフラインチャート
MT4にM1,M5,M15,M30,H1,H4,Daily(Every tick)適用を確認。

これでMT4ストラテジーテスター(バックテスト)が、本物のTickデーターで実行できます。

 

1件のコメント

  1. より良い FOREX trading 環境の構築を購入したくて、出来る限り正確なヒストリカルデータを求めて、こちらのページにたどり着きましした。
    分かりやすく、丁寧な説明にとても助かりました。ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)