MT4でEA運用に必要な「バックテスト」をするには、過去の価格データである「ヒストリカルデータ」が必要となります。
デフォルトで利用できるものもあれば、外部から取り込めるタイプも存在します。
この記事では、MT4のヒストリカルデータの特徴と、外部のヒストリカルデータを取り込む方法を紹介するのでぜひ参考にしてください。
- ヒストリカルデータを入手する方法
- データのダウンロード方法
- MT4へのインポート方法
ちなみに、約定力の高さでMT4のバックテストにもおすすめできる「Axiory」は、公式サイトで2015年までのヒストリカルデータを公開しています。
簡単にデータをインポートできるので、口座開設→EAのバックテストまで進めてみてはいかがでしょうか?
\\約定力が高くEAテストにもおすすめ//
MT4のヒストリカルデータとは?
MT4のヒストリカルデータは主に、EAの成績を検証するバックテストに利用されます。
過去の相場を再現できるものですが、リアルタイムのデータとは微妙に異なるなどの特徴もあります。
リアルタイムのデータとは異なる
海外FX業者のリアルタイムのチャートを見ていると、1分間の間に何度も価格が変動しますよね?
しかしヒストリカルデータには、すべての価格変動のうち1分足の高値・安値・始値・終値の4つのデータしか保存されません。
そのため、ヒストリカルデータを使ったバックテストとリアルタイムでのEA運用では、結果に微妙な差が発生することがあります。
例えばドル円が135円に達したときにエントリーするEAがあったとします。
リアルタイムで稼働していたら13時1分30秒に135円に達してエントリーするはずだったものが、ヒストリカルデータを使ったバックテストでは13時1分にエントリーしてしまいます。
また、MT4のヒストリカルデータにはスプレッドについての情報がありませんので、バックテストは基本的に固定スプレッドで行うことになります。
このように、データ量が少なくなる点とスプレッド情報がない点でリアルタイムのデータとは違いがあります。
なお、MT5では機能が向上し、この2点の制限は解消されています。
MT4でも、外部の会社が開発した有料のツール(Tick Data Suite)を利用すれば解決できます。
精度がバックテストに影響
ヒストリカルデータの精度は、バックテストの信頼性に影響します。
精度の悪いヒストリカルデータでは、一定期間のデータが抜けていたりすることがあります。
精度が良くないヒストリカルデータでバックテストをすると、EAが本来エントリーすべき場所でエントリーしないなどの現象が起きてしまうため、バックテストの信頼性が下がります。
販売されているEAを購入する場合は、ヒストリカルデータの精度も確認するようにしましょう。
バックテスト結果に掲載される「モデリング品質」の数値が高ければ、ヒストリカルデータの精度も高い傾向があります。(1分足はモデリング品質の上限が25%など例外もあります)
また、開発者が利用したヒストリカルデータの提供元を開示している場合は、そちらの情報を参考にできます。
ダウンロードまたはインポートで利用
ヒストリカルデータを利用するには、まずMT4にデータを取り込む必要があります。
これには「ダウンロード」と「インポート」の2つの方法があります。
種類 | やり方 | 特徴 |
---|---|---|
ダウンロード | MetaQuotes社の提供するデータをMT4経由でダウンロードする | 初心者向け |
インポート | 他のFX業者などが提供したファイルをMT4に取り込む | 上級者向け |
「ダウンロード」の場合、MT4上で利用したいヒストリカルデータの銘柄と時間足を選び、「ダウンロード」ボタンをクリックするだけで取り込めますので、非常に簡単です。
ただし、MetaQuotes社の提供するデータは抜けなどがあり精度が低いものになりますので、「ダウンロード」の方法はどちらかというと初心者向けのものです。
一方、他のFX業者などが提供したファイルをMT4に取り込む「インポート」の方式では、精度が高いヒストリカルデータを取り込めるので、上級者におすすめです。
「インポート」の方法はやや複雑ですが、この記事で詳しく解説します。
MT4のヒストリカルデータを入手する方法とおすすめ業者
「インポート」の方法で利用するヒストリカルデータを提供するFX業者は多数あります。
ただし、業者ごとにデータの正確性などが異なるため、この記事では正確性が高くおすすめの業者を紹介します。
特に海外FX業者のFXDDやAxiory、国内FX業者のDukascopy、高精度のバックテストツールを販売するTick Data Suite(TDS)の3つがデータ元がよく利用されます。
それぞれの特徴やメリット・デメリットを紹介します。
FXDD|長期間の過去データ入手可能
老舗の海外FX業者であるFXDDは、2005年からのヒストリカルデータを提供しています。
バックテスト期間が長期になるほど信頼性が高くなるとされているため、EA販売サイトでも長期のバックテスト結果が掲載されることが多いです。
FXDDのヒストリカルデータは期間としては十分長いため、インポートするヒストリカルデータとしてよく利用されています。
ヒストリカルデータを入手するのに会員登録などは不要で、誰でもダウンロードできる点もおすすめです。
Axiory|取引スペックが高い海外FX業者
現役トレーダー
という方は、Axiory(アキシオリー)でヒストリカルデータをインポートしてみてはいかがでしょうか?
Axioryの「MT4/MT5 ヒストリカルデータ」のページでは、2015年までのヒストリカルデータが提供されています。
Axioryは約定力の高さに定評がある海外FX業者のため、スペックが高いブローカーでFX取引したい方に強くおすすめできます。
この機会に口座開設して、MT4でのEAバックテストでも活用してみてはいかがでしょうか?
Dukascopy|データの正確性が高い
Dukascopy(デューカスコピー)も老舗のFX業者で、2003年からのヒストリカルデータを利用できます。
Dukascopyは日本国内での知名度はそこまで高くありませんが、海外では非常に知名度のある外資系FX業者です。
バックテスト用のヒストリカルデータも精度が高いと評価されていておすすめです。
ただし、ヒストリカルデータを取得するのにライブ口座またはデモ口座の開設が必要で、FXDDより手間がかかります。
Tick Data Suite(TDS)|スプレッド情報もある有料データ
Tick Data Suite(TDS)は、MT4のヒストリカルデータの弱点である、データ量が少なくなる点とスプレッド情報がない点を解決するための有料ツールです。
提供されるデータはTDSのオリジナルではなく、DukascopyなどのFX業者のものです。
TDSを通して利用することで、スプレッド情報やすべての値動きのデータを参照できるようになります。
デメリットは販売価格が高いことです。
2023年12月時点の価格は以下のようになっています。
プラン | 価格 |
---|---|
年間プラン | 28,490円 |
月間プラン | 4,890円 |
買い切りプラン | 80,900円 |
MT4にヒストリカルデータをインポートするための準備
ここからは、MT4にヒストリカルデータをインポートする方法について紹介します。
実際のインポート作業に入る前に、まずMT4側で2つの準備が必要です。
- 既存のヒストリカルデータを削除する
- 時間足の容量を増やす
なお、この準備はヒストリカルデータのより簡単な入手方法である「ダウンロード」でも必要となるものですので、MT4のバックテストをやってみたい方は、はじめに終わらせておいてください。
MT4にある既存のヒストリカルデータを削除する
MT4のヒストリカルデータは、1銘柄につき1種類しか保存することができません。
そのため、ヒストリカルデータをインポートする前に、既存のヒストリカルデータを削除する必要があります。
既存のヒストリカルデータを削除するには、まずMT4上部のメニューバーにある「ファイル」から「データフォルダを開く」をクリックしてください。
その後、フォルダ一覧から「history」フォルダをダブルクリックし、データを削除したいサーバ名を選択します。
サーバ名はアカウント開設時に海外FX業者から通知されるもので、「XMTrading-Demo 5」など通常海外FX業者の名称が含まれています。
選択したサーバのアカウントに含まれるヒストリカルデータが表示されますので、ヒストリカルデータを削除したい銘柄のすべてのヒストリカルデータを削除してください。
ヒストリカルデータが最初から入っていなかった場合は、何も削除しなくて構いません。
時間足の容量を増やす
データ処理をスムーズにするため、MT4では保存できる時間足とチャート上に表示できる時間足の処理を制限しています。
この制限がかかったままでは長期のバックテストが行えませんので、あらかじめ保存・表示できる時間足の制限を解除しておきます。
制限を解除するには、MT4上部のメニューバーにある「ツール」から「オプション」をクリックしてください。
すると、次のようなオプション設定画面が表示されます。
オプション設定画面で「チャート」タブを選択し、「ヒストリー内の最大バー数」、「チャートの最大バー数」という2つの項目に「9999999999999」と9を打てるだけ打ち、OKボタンをクリックします。
その後、MT4本体を再起動します。
MT4は基本的に設定変更をしても再起動は不要なのですが、ヒストリカルデータに関連する機能だけは、再起動が必要なケースが多くなります。
「ヒストリー内の最大バー数」、「チャートの最大バー数」の両方に入力することと、設定変更後に再起動をすることを忘れないようにしてください。
FXDDのヒストリカルデータをダウンロードする方法
ヒストリカルデータをインポートするための準備ができたら、実際にヒストリカルデータをダウンロードしていきましょう。
海外FX
オンライン
今回はFXDDで解説していきます。
FXDDの公式サイトからヒストリカルデータをダウンロードしましょう。
FXDDの1分足データ提供ページにアクセスすると、ダウンロードできる銘柄が表示されますので、お好きな銘柄をクリックしてください。
zipファイルがダウンロードされますので、その中の「.hst」ファイルを取り出しておいてください。
「.hst」ファイルとは、MT4やMT5で使用されるヒストリカルデータ専用のファイル形式です。
MT4のヒストリカルデータをインポートする方法
ここからは、FXDDからダウンロードした「.hst」ファイルをMT4に取り込んでいきます。
ヒストリーセンターを開く
まず、MT4上部のメニューバーにある「ツール」から「ヒストリーセンター」をクリックしてください。
MT4にインポートするファイルを選択する
次に、ヒストリーセンター画面の右側で、ヒストリカルデータをダウンロードしたい銘柄・時間足をそれぞれダブルクリックしてください。
今回はFXDDの1分足データをインポートしますので、時間足は1分足を選択します。
希望の銘柄・時間足が表示されたら、右下にある「インポート」ボタンをクリックしてください。
インポート画面が表示されますので、右上にある「参照」ボタンをクリックして、インポートするファイルを選択します。
デフォルトでは「.csv」ファイル(または.xlsxファイルなど代替可能なもの)しか表示されないようになっています。
右下にあるファイル種別欄から「MetaQuotes files」または「All Files」を選択すると、「.hst」ファイルが表示されるようになります。
データが正常に読み込まれると、時間やレートの情報が表示されます。
正しいファイルが参照されているかざっと確認後、「OK」ボタンをクリックしてMT4本体を再起動してください。
FXDDの1分足データの場合、2005年からすべて読み込んでも一覧はすぐに画面に表示されます。
上部のファイル名の欄にファイル名が反映されても一覧が表示されない場合、インポートに失敗しています。
失敗した場合は、古いヒストリカルデータを削除しているかや、インポートするファイルが合っているかを確認してください。
原因がわからない場合は、「history」フォルダ内の利用中のサーバのフォルダに入っているファイルをすべてコピーして保管しておき、全削除したあとMT4を再起動してみましょう。
他の時間足に展開する
ここまでの作業で1分足のインポートは完了していますので、1分足で行うバックテストなら可能です。
1分足以外の時間足でバックテストしたい場合、1分足データを基にして他の時間足のデータを作成する必要があります。
これには、MT4にデフォルトで搭載された「PeriodConverter」というプログラムを利用します。
まず、MT4上部のメニューバーにある「ファイル」から「オフラインチャート」をクリックしてください。
表示できるオフラインチャート一覧が表示されますので、先ほどインポート済みの銘柄の1分足を選択し、「開く」ボタンをクリックしてください。
すると、「(offline)」と表示されるチャートが新たに開きます。
次に、ナビゲーターメニューの「スクリプト」内に表示される「PeriodConverter」を、先ほど開いたオフラインチャートにドラッグ&ドロップします。
設定画面が表示されますので、「パラメーターの入力」タブをクリックしてください。
「Period Multiplier factor」の欄にデータを作成したい時間足を分数で入力し、「OK」ボタンをクリックします。
「10」と入力すると10分足データが、「60」と入力すると1時間足データが作成されます。
1回の設定につき1つの時間足しか作成できませんので、すべての時間足を作成する場合は、スクリプトをチャートに適用してからの手順を繰り返してください。
スクリプトとは、EAやインディケータなどと同様にMT4で利用できるプログラムの種類です。
他のプログラムと異なり、一度チャートに適用した後は設定変更ができないという特徴がありますので、再度チャートに適用するところから繰り返す必要があります。
MT4のヒストリカルデータまとめ
今回は、正確性の高いヒストリカルデータのおすすめ入手先やダウンロード・インポート方法などを解説してきました。
「インポート」の方法でヒストリカルデータを用意するのは、少し手間がかかります。
しかし、慣れれば簡単ですのでぜひ試してみてください。
デモ口座などでバックテスト用のMT4を1台用意しておくと、誤操作などの心配がなく効率的にバックテストができます。
過去のデータを活用したEAのテストを行う手順については、以下の記事でも解説しているのでぜひ参考にしてください!
この記事ではMT4でEAのバックテストをする方法について徹底解説しています。事前準備からテスト結果の見方まで詳しく解説しているので、EAバックテストの初心者の方はぜひ参考にしてください。
信頼性があり、通常の取引スペックが良い海外FX業者でヒストリカルデータを提供しているところは無いの?