MT4に正確なヒストリカルデータをインポートする方法


結論
この記事では、デューカスコピーから取得したヒストリカルデータをMT4へインポートする流れを解説します。デューカスコピー自体の評判や業者比較には広げず、1分足データの取得、時刻変換、MT4側の下準備、インポート、上位足作成までの作業手順に絞って進めます。
- MT4のヒストリカルデータとは何か
- バックテスト前にデータを整える理由
- デューカスコピーから1分足データを取得する流れ
- UTC+0のデータをMT4向けに時刻変換する手順
- MT4へインポートする前の下準備
MT4のヒストリカルデータとは?
ヒストリカルデータとは、過去のローソク足データのことです。
MT4のチャートやバックテストでは、過去の始値、高値、安値、終値などのデータを使って、EAやインジケーターの動きを再現します。
ここで使うデータが抜けていたり、実際のブローカーの価格と大きく違っていたりすると、バックテストの結果も信用しにくくなります。
特にEAの検証では、同じロジックでも使うヒストリカルデータによって、勝率、損益、最大ドローダウンが変わることがあります。
- MT4のバックテストは過去データをもとに動く
- データ抜けがあると検証結果が不安定になる
- ブローカーごとに配信価格が違うため、同じ通貨ペアでも結果が変わる
- EAや短期売買の検証ではデータの質が特に重要になる
MT4に最初から入っているデータだけで簡単に確認することもできますが、本格的にバックテストを行うなら、検証用のヒストリカルデータを別途用意しておいた方が安心です。
MT4標準のヒストリカルデータだけでは不十分なことがある
MT4では、ヒストリーセンターからMetaQuotesのヒストリカルデータをダウンロードできます。
手軽に使えるため、最初の動作確認には便利です。
ただ、検証用として見ると、ローソク足の抜け、期間の不足、ブローカーとの価格差が気になることがあります。
短期売買やEA検証では、わずかな価格差やデータ抜けでも結果に影響します。
そのため、正確な検証をしたい場合は、MT4標準データだけで判断せず、別のヒストリカルデータでも確認する方が現実的です。

MT4上部メニューの【ツール】から【ヒストリーセンター】を開くと、標準のヒストリカルデータを確認できます。

通貨ペアと時間足を選び、ダウンロードボタンを押せばデータを取得できます。
ただし、この方法はあくまで簡易的な確認用と考えた方がよいです。
ヒストリカルデータはどこから取得するべきか
MT4のヒストリカルデータは、MetaQuotes、FX業者、専用データサービスなど、いくつかの入手先があります。
それぞれに特徴がありますが、この記事では手順を分散させないため、デューカスコピーのデータをMT4へ入れる流れに絞って解説します。
デューカスコピー自体の評判や手数料、JForexの使い勝手は別記事で整理しています。
また、MT4でEAを検証する場合は、ヒストリカルデータだけでなく、スプレッド、約定環境、VPS環境も結果に影響します。
この記事ではまず、バックテストの土台になるヒストリカルデータの入れ方に集中します。
デューカスコピーのデータをMT4へ入れる全体の流れ
デューカスコピーのヒストリカルデータをMT4で使うには、ダウンロードして終わりではありません。
時刻の変換、MT4側の古いデータ削除、ヒストリーセンターへのインポート、上位足の作成まで行う必要があります。
- デューカスコピーのデモ口座またはリアル口座を用意する
- JForexをインストールする
- JForexから1分足のヒストリカルデータを取得する
- 取得したデータの時刻をMT4向けに変換する
- MT4の古いヒストリカルデータを削除する
- MT4の最大バー数を増やす
- 1分足データをMT4へインポートする
- 1分足から5分足、15分足、1時間足などの上位足を作成する
作業は少し長いです。
ただ、一度流れを覚えてしまえば、別の通貨ペアでも同じ手順で進められます。

JForexから1分足のヒストリカルデータを取得する
まず、デューカスコピーの公式サイトからJForexをインストールします。
ヒストリカルデータの取得方法は、デューカスコピー公式のマニュアルでも案内されています。
画面やメニューは変更されることがあるため、JForexからのダウンロード手順そのものは、公式マニュアルもあわせて確認してください。
MT4で使うデータを作る場合、まずは1分足データを取得します。
その後、MT4側で5分足や1時間足などの上位足を作成する流れにすると、データ管理がしやすくなります。
- 最初は1通貨ペアだけで試す
- 1分足データを取得する
- Bidデータを使う
- 長期間を一気に取る前に短期間で動作確認する
- ダウンロード後はデータが壊れていないか確認する
ヒストリカルデータは、一見ダウンロードできているように見えても、途中でデータが欠けていたり、バックテスト時に止まったりすることがあります。
その場合は、いきなり全期間をやり直すのではなく、短い期間だけ再ダウンロードして動作確認してください。
ヒストリカルデータの時刻を調整する
デューカスコピーから取得したデータをMT4で使うときに注意したいのが、時刻の扱いです。
デューカスコピーのデータはUTC+0を基準に扱われます。
一方、MT4のバックテストでは、ブローカーのサーバー時間に合わせたデータを使うことが多く、日本で利用される海外FX業者ではGMT+2、夏時間はGMT+3相当のサーバー時間がよく使われます。
時刻がずれたままだと、日足の区切り、週明け、指標前後のローソク足が変わり、バックテスト結果にも影響します。
- デューカスコピーのデータはUTC+0基準
- MT4側のサーバー時間とずれることがある
- 日足や4時間足の形が変わる原因になる
- EAの条件によってはテスト結果に影響する
そのため、取得したデータをそのまま入れるのではなく、MT4で使いたいサーバー時間に合わせて変換してからインポートします。
Windowsで拡張子を表示しておく
時刻変換の前に、Windows側でファイル拡張子を表示しておきます。
拡張子が見えていないと、後でファイル名を変更するときに、正しく変更できているか分かりにくくなります。

まず、タスクバーからエクスプローラーを開きます。

上部メニューの【表示】を開きます。

【ファイル名拡張子】にチェックを入れると、.txt、.vbs、.hstなどの拡張子が見えるようになります。
時刻変換用のvbsスクリプトを使う


時刻変換には、vbsスクリプトを使う方法があります。
ここでは、デューカスコピーから取得したデータを、MT4で使いやすいサーバー時間に合わせるための作業として紹介します。
作業前には、元データを必ずコピーしてバックアップを残しておいてください。
- 外部スクリプトは内容を確認してから使う
- ウイルスチェックを行う
- 元データは必ずバックアップする
- 最初は短期間のデータでテストする
- 変換後のデータでMT4のヒストリーセンターを確認する

スクリプトの内容を確認し、必要なコードをコピーします。

デスクトップなど分かりやすい場所にメモ帳を作り、コピーした内容を貼り付けます。

保存するときは、文字コードをANSIにして保存します。
ファイル名は分かりやすい名前にしておくと後で迷いません。

保存したファイルの拡張子を、.txtから.vbsへ変更します。

変換したい1分足の.hstファイルを、作成した.vbsファイルへドラッグします。
データ量が多い場合は、変換に時間がかかります。

処理が始まると、workフォルダが生成されます。
見た目には動いていないように見えても、裏側で変換処理が進んでいることがあります。

変換完了の表示が出たら、workフォルダ内に時刻変換後の.hstファイルが作成されています。
このファイルを、次の手順でMT4へインポートします。
MT4にヒストリカルデータを入れる下準備
時刻変換が終わったら、次はMT4側の下準備をします。
ここを飛ばすと、せっかく用意したヒストリカルデータが古いデータと混ざったり、チャート上で十分な本数を読み込めなかったりします。
特に大事なのは、古いデータを削除してから、新しい1分足データをインポートすることです。
- MT4をログアウト状態にする
- 開いているチャートを閉じる
- 古いヒストリカルデータを削除する
- ヒストリー内の最大バー数を増やす
- チャートの最大バー数を増やす
MT4を接続したまま作業すると、削除したはずのデータが再生成されることがあります。
作業中は、できるだけMT4をログアウト状態にして、チャートも閉じておく方が安全です。
MT4の古いヒストリカルデータを削除する


まず、MT4をログアウト状態にしておきます。
自動でログインしてしまう場合は、作業用に回線を切るか、接続されない状態にしておくと安心です。

MT4上部メニューから【ファイル】→【データフォルダを開く】を選びます。
その中の【history】フォルダを開き、利用している業者名のフォルダを選びます。
今回はAUDJPYのデータを入れる例なので、古いAUDJPY関連の.hstファイルを削除します。
注意
削除する前に、必要であればhistoryフォルダごとバックアップしておくと安心です。作業に慣れていない場合は、いきなり本番環境で消さず、別のMT4環境で試すのがおすすめです。
MT4の最大バー数を増やす
次に、MT4で扱えるローソク足の本数を増やします。
この設定が少ないままだと、長期間のヒストリカルデータを入れても、チャートやバックテストで十分に使えないことがあります。

MT4上部メニューから【ツール】→【オプション】→【チャート】タブを開きます。
【ヒストリー内の最大バー数】と【チャートの最大バー数】を大きめの数値に変更します。
- ヒストリー内の最大バー数:パソコン内に保存されるローソク足の本数
- チャートの最大バー数:MT4のチャート上に表示されるローソク足の本数
バックテスト用のMT4では、多めに設定しておいた方が作業しやすいです。
ただし、普段の裁量トレード用MT4で大量のバーを表示すると、動作が重くなることがあります。
検証用と普段使い用のMT4を分けておくと、作業がかなり楽になります。
ヒストリカルデータをMT4へインポートする
下準備が終わったら、変換済みの1分足ヒストリカルデータをMT4へインポートします。
ここではAUDJPYの1分足データを例に進めます。

MT4上部メニューから【ツール】→【ヒストリーセンター】を開きます。
左側からインポートしたい通貨ペアの1分足を選び、右下の【インポート】をクリックします。

インポート画面が開いたら、右上の【参照】を押します。
先ほど時刻変換した.hstファイルを選び、【OK】を押します。
参照画面に.hstファイルが表示されない場合は、ファイル種類の表示を【All Files】または【すべてのファイル】に変更してください。

データが読み込まれると、一覧にローソク足データが表示されます。
表示内容を確認して、問題がなければ【OK】をクリックします。

ヒストリーセンター側にもデータが表示されていれば、1分足データのインポートは完了です。
この段階でMT4を一度再起動しておくと、読み込みが安定しやすくなります。

1分足データから上位足を作成する
MT4へ1分足データをインポートしたら、そのデータをもとに5分足、15分足、1時間足などの上位足を作成します。
上位足を作らないと、1分足以外の時間足でバックテストしたときに、十分なデータが使えないことがあります。
ここでは「period converter ALL.mq4」というスクリプトを使う流れで説明します。
MT4には標準でPeriod converterというスクリプトもあります。
ただ、標準版は時間足を1つずつ作る必要があるため、複数時間足をまとめて作りたい場合はALL版の方が作業しやすいです。
period converter ALL.mq4をMT4に入れる

MT4上部メニューから【ファイル】→【データフォルダを開く】を選びます。
【MQL4】→【Scripts】フォルダを開き、ダウンロードしたperiod converter ALL.mq4を入れます。

MT4左側のナビゲーター内にある【スクリプト】を右クリックし、【更新】を選びます。
一覧にperiod converter ALLが表示されれば準備完了です。
1分足チャートへスクリプトを入れる

インポートした通貨ペアの1分足チャートを開きます。
そのチャートへ、ナビゲーター内のperiod converter ALLをドラッグ&ドロップします。

左上に表示が出て、上位足の作成が始まります。
データ量が多い場合は、しばらく時間がかかります。

左上の表示が消えたら、上位足の作成は完了です。
ヒストリーセンターを開き、5分足、15分足、1時間足などのデータが作成されているか確認してください。
- 1分足チャートにスクリプトを入れる
- 計算が終わるまで待つ
- ヒストリーセンターで上位足を確認する
- 足りない時間足があれば個別に作り直す
業者やMT4環境によっては、特定の時間足だけうまく作成されないことがあります。
その場合は、足りない期間だけ再度データを用意するか、対象時間足を個別に作成してください。
インポート後に確認したいチェックポイント
ヒストリカルデータを入れたら、すぐに本番のバックテストへ進まず、まずはデータが正しく入っているか確認します。
- 1分足の期間が想定どおり入っているか
- 5分足や1時間足などの上位足が作成されているか
- 途中でデータが抜けていないか
- バックテストが途中で止まらないか
- 日足の区切りが想定と大きくずれていないか
特に、バックテストが途中で止まる場合は、ヒストリカルデータの一部が壊れている可能性があります。
そのときは、同じデータを何度も使い回すのではなく、該当期間だけ再ダウンロードして確認してください。
また、1分足だけを元に上位足を作る方法と、各時間足を個別にダウンロードする方法では、結果が微妙に変わることがあります。
検証精度を重視する場合は、最終的に自分の検証ルールに合わせて、どちらの方法を使うか決めてください。
バックテスト前にあわせて確認したいこと
ヒストリカルデータを整えても、それだけでバックテストが完璧になるわけではありません。
EAやサインツールの検証では、スプレッド、スリッページ、約定ルール、取引時間、業者仕様も結果に影響します。
特に1分足以下の細かい検証では、無料のヒストリカルデータだけでは再現が難しい場面もあります。
- 検証時のスプレッド設定
- 取引時間とサーバー時間
- EA側のエントリー条件
- バックテストとリアル口座の違い
- 短期売買ではティックデータの扱い
MT4のバックテストは便利ですが、現実の約定を完全に再現できるわけではありません。
ヒストリカルデータはあくまで検証の土台です。
実運用する前には、デモ口座や小ロットのリアル口座でも必ず確認してください。
MT4にヒストリカルデータをインポートする方法まとめ
MT4でEAやサインツールを検証するなら、ヒストリカルデータの準備は避けて通れません。
MT4標準のデータだけでも簡単な確認はできますが、本格的にバックテストを行うなら、データの抜け、時刻、上位足の作成まで確認しておきたいところです。
- まず1分足データを取得する
- MT4で使うサーバー時間に合わせて時刻を変換する
- 古いヒストリカルデータを削除する
- ヒストリーセンターから1分足をインポートする
- period converter ALLで上位足を作成する
- バックテスト前にデータ抜けを確認する



