作成日
:2025.03.26
2025.03.26 18:44
ヒストリカルデータは、MetaTrader4(MT4)を使ってFXのEA(自動売買プログラム)のバックテストを行う上で必要不可欠な要素です。
その精度や種類がテスト結果に大きな影響を与えるため、正しいデータの選択と活用方法を知ることが成功の鍵となります。
本記事では、無料データと有料データの取得方法や活用手順、データ精度の違いがトレードに与える影響を詳しく解説します。
MT4やMT5で自動売買をする際、EAの稼働前に良いパフォーマンスが期待できるかを確認するため、バックテストを実施することが多いです。
まずは、なぜヒストリカルデータが重要かを解説します。
MT4のストラテジーテスターを使うと、ヒストリカルデータと呼ばれる過去の為替レートのデータを使って、EAの取引ロジックがどのくらい効果的かを確認できます。
ヒストリカルデータには、過去の価格データが時系列で記録されています。EAの種類によっては、このデータの精度がバックテストの信頼性に大きく影響するため、信頼できるデータ提供元を利用するようにしましょう。
ヒストリカルデータの精度が低いと、エントリータイミングがズレるため、以下のように実施したバックテストとリアル運用との差が広がる問題が生じます。
バックテストでは利益が出ているのに実際のトレードでは利益が出ないといったことになるので注意しましょう。
本記事に記載されている方法でM1(1分足)のデータを取得し、1分足を基にM5・M15・H1・H4・D1(5分足、15分足、1時間足、4時間足、日足)のデータを生成できれば、バックテストを実施する際に支障が出るケースは少ないでしょう。
ですが、スキャルピングを行うEAのバックテストでは、M1よりもさらに細かい秒単位の「ティックデータ」と呼ばれるデータが必要になることがあります。
M5足を用いたデイトレードや、さらに長い時間足を用いたスイングトレードであれば、ティックデータほどの精度は必要とされません。
ヒストリカルデータは過去の価格動向を再現し、EAの取引ロジックを検証するために欠かせない情報であることが、お分かり頂けたかと思います。
無料データは手軽に入手可能ですが、EAの種類によって求められるデータの品質が異なります。スキャルピングなどの高精度なデータが必要なEAをテストする場合は、有料データを用いることも検討しましょう。
本記事で紹介したデータ取得方法や活用手順を実践し、必要十分な精度のバックテストを行うことで、EAの運用パフォーマンスを最大化しましょう。
バックテストをする際、重要な点はヒストリカルデータの精度です。一般的にはMetaQuotes社と海外FX業者の提供するヒストリカルデータでは精度が異なるといわれています。
ここからは、MetaQuotes社と各海外FX業者でヒストリカルデータの精度に違いがあるか、1分足のバックテストの結果を比較します。
MetaQuotes社のヒストリカルデータのバックテストの精度は高くありません。実際にMT4でバックテストをした結果、モデリング品質は25%でした。
この結果は、どの海外FX業者のMT4でバックテストをした場合も結果に大きな違いはありません。
MetaQuotes社のヒストリカルデータを確認したい場合は、各FX業者のMT4のヒストリカルデータをダウンロードしましょう。各FX業者のMT4に登録されているヒストリカルデータは、MetaQuotes社のものです。なお、MetaQuotes社では、2025年現在MT4をダウンロードできないため、注意が必要です。
次にMetaQuotes社のMT5でバックテストをしたところ、ヒストリー品質は100%でした。
このことからMetaQuotes社のヒストリカルデータを使用する場合、MT4よりもMT5のほうがバックテストの精度が高いことがわかります。
ここからは、各海外FX業者のヒストリカルデータの精度について見ていきましょう。なお、バックテストではデフォルトのデータではなく各FX業者が提供しているヒストリカルデータをインポートした上でバックテストを行いました。
XMTrading(エックスエムトレーディング)については、MT4のバックテストの精度は25%と低い水準です。
次にMT5でバックテストを実施したところ、MetaQuotes社と同じくヒストリー品質は100%でした。
続いてAXIORY(アキシオリー)のヒストリカルデータの精度を見ていきましょう。MT4のヒストリカルデータは24.92%だったため、MetaQuotes社やXMTradingと比較すると、若干モデリング品質は低いです。
MT5についても同様にバックテストを実施したところ、ヒストリー品質は95%に良化しているものの、MetaQuotes社やXMTradingよりも若干精度が低いことがわかりました。
MT4では0.08%、MT5では5%ほど低いですが、その差は小さいので、AXIORYが特別他社よりも精度が悪いとまではいえません。
続いてTitan FXのヒストリカルデータの精度を紹介します。まず、MT4のバックテストの精度は、24.92%でした。
MT5についても同様にバックテストを実施したところ100%となりました。
MT5を使う場合は、MetaQuotes社やXMTradingと同様にバックテストの精度が高いといえるでしょう。
ここまでの結果から、MT4はMT5と比べてバックテストの精度が著しく低いことがわかりました。バックテストをするなら、MT5を使うべきです。
一方で、1分足についてはMetaQuotes社と海外FX業者のヒストリカルデータで結果に大きな違いが出ないこともわかりました。デフォルトのデータでそのままバックテストをしても結果に大きな差が出ることはないでしょう。
各海外FX業者で提供するヒストリカルデータは、ダウンロード可能な期間や通貨ペアに違いがあります。以下は各海外FX業者のヒストリカルデータの比較です。
FX業者 | 期間 | 対応銘柄 |
---|---|---|
XMtrading | 1999年1月以降 |
FX55種類
金・銀
|
Titan FX | 2020年1月以降 |
FX、株価指数、株式、仮想通貨(*1)
コモディティ13種類
|
AXIORY | 2015年1月以降(*2) |
FX67種類
金・銀
株価指数14種類
先物23種類
仮想通貨29種類
|
XMTrading
期間 | 対応銘柄 |
1999年1月以降 |
FX55種類
金・銀
|
Titan FX
期間 | 対応銘柄 |
2020年1月以降 |
FX、株価指数、 株式、仮想通貨(*1)
コモディティ13種類
|
AXIORY
期間 | 対応銘柄 |
2015年1月以降(*2) |
FX67種類
金・銀
株価指数14種類
先物23種類
仮想通貨29種類
|
(*1)5種類ずつ
(*2)USDHKDなどの通貨は一部の期間が抜けています。
最も古いデータを確認できるのは、XMTrading(エックスエムトレーディング)です。ただし、普段から1分足・5分足・1時間足などの短期足でトレードしている場合は、必ずしも長い期間のヒストリカルデータがなくても十分に検証ができます。
古いヒストリカルデータを使うメリットは、週足や月足などでより長期間のデータでパフォーマンスの検証ができること以外に、過去の金融危機やITバブル崩壊など歴史的な事件が起きてもEAが破綻しないかを確認できることです。
対応銘柄についても各FX業者で違いがあります。FXを中心に取引している人は、よほどマイナーな通貨ペアを使っていない限りは、どのFX業者でも大差がありません。しかし、CFD商品も取引している場合、主要な商品のみであればTitan FX(タイタンエフエックス)でも十分ですが、マイナーな商品も取引している場合はAXIORY(アキシオリー)を使いましょう。
このように、各FX業者によってダウンロード可能なヒストリカルデータの期間や商品が異なります。ご自身がよく取引する通貨ペアや商品が対応しているか確認してから選びましょう。
ヒストリカルデータは無料もしくは有料でダウンロードできますが、信頼できる業者からダウンロードすることが重要です。まずは比較的簡単なヒストリーセンターからダウンロードする方法を説明します。
海外FX業者であるXMTrading(エックスエムトレーディング)のデータをダウンロードする方法について説明します。
MT4のメニューから「ツール」「オプション」の順に選択し、オプションダイアログを表示します。「チャート」タブの「ヒストリー内の最大バー数」と「チャートの最大バー数」の欄に、9を999・・・のように打てなくなるまで入力したらOKを押しましょう。
再度オプションダイアログを開くと、最大バー数が「2147483647」になっています。これがMT4で扱うことのできる最大の値です。
バー数の設定が終わったら、MT4のメニューから「ツール」「ヒストリーセンター」の順に選択し、ヒストリーセンターを起動します。ここでは通貨ペアUSDJPYをダウンロードしますので、USDJPYを選択しましょう。
左下のダウンロードボタンを押すと確認ダイアログが表示されますので、「OK」ボタンを押します。
しばらく時間がかかるのでダウンロードが完了するまで待ちましょう。
ダウンロードが完了したら、MT4のメニューから「ファイル」「データフォルダを開く」の順に選択し、エクスプローラーを起動してMT4は一度終了します。
history/(サーバー名)/USDJPY1.hstのように、拡張子がhstのヒストリカルデータがダウンロードされていることが分かります。
ファイル名はUSDJPY数字.hstのようになっており、数字が1なら1分足、5ならM5足という意味です。
ヒストリーセンターでデータを提供しているFX業者であれば、MT4の機能を使って簡単にダウンロード可能です。
フォルダに入っているヒストリカルデータの数は、過去のダウンロード状況などによって異なります。銘柄によっては全く入っていないこともあり、その場合は削除の必要はありません。
次にヒストリーセンターではなく、FX業者のウェブサイトなどでヒストリカルデータがCSVファイルなどで提供されている場合に、インポートする方法について説明します。
海外FX業者であるTitan FX(タイタンエフエックス)のWebサイトからヒストリカルデータをダウンロードできます。 2025年1月の時点では、5種類の通貨に対して2020年1月からのデータが提供されています。
海外FX業者であるAxiory(アキシオリー)のWebサイトでもヒストリカルデータをダウンロード可能です。
2025年1月の時点では、一部抜けはあるものの67種類のFX銘柄の2015年から2024年までの10年分のデータが提供されています。入手したCSV形式のデータから、MT4で利用可能なヒストリカルデータを生成する方法を説明します。
MT4のメニューから「ツール」「オプション」の順に選択し、オプションダイアログを表示します。「サーバー」タブの「プロキシサーバーを有効にする」にチェックを入れて、「プロキシ」ボタンを押しましょう。
プロキシダイアログのサーバー欄に「abc」など適当な文字列を入れて、OKを押します。
その後MT4を再起動すると右下に「回線不通!」と表示されます。
存在しない適当なプロキシサーバー名を入力してサーバーとの通信をできなくすることで、以降の作業中にMT4が自動で直近のヒストリカルデータをダウンロードすることを防止できます。
プロキシサーバーの設定は本来不要ですので、作業が終わったら「プロキシサーバーを有効にする」のチェックを外し、再びMT4を再起動しましょう。再びサーバーと通信できるようになります。
サーバーから切断したら、不要なデータを削除しましょう。
まずは、MT4のメニューから「ファイル」「データフォルダを開く」の順に選択します。
次に「history」フォルダを開きましょう。
FX業者のサーバー名を選択します(複数ある場合はヒストリカルデータを削除したい口座のサーバーを選択)。
次に不要なヒストリカルデータを削除しましょう。今回はドル円の1分足を削除するので「USDJPY1.hst」を削除します。
古いデータを残したままでもヒストリカルデータはダウンロード可能です。しかし、エラーを誘発したり古いヒストリカルデータが優先で使われたりすることが多いので、必ず古いデータを削除してから、ヒストリカルデータをダウンロードしましょう。
データを削除したら、この画面を閉じてMT4を再起動しましょう。
MT4を再起動したら、再度ヒストリーセンターのUSDJPY・1分足(M1)を選択し、「インポート」ボタンを押してください。「参照」ボタンから先ほどダウンロードしたCSVデータを選択して「OK」を押します。
バックテストを実施したい期間の分だけ、CSVデータの読み込みを繰り返しましょう。作業が完了したらダイアログを閉じてMT4を再起動します。
サーバーとの通信切断、古いデータの削除、ヒストリカルデータのインポートをする際は、それぞれの作業完了時点で必ず再起動をしましょう。再起動をしなかった場合、エラーが出て正しいデータがインポートされない可能性があります。
CSVから1分足のヒストリカルデータを読み込んだ後に、他の時間足データを生成することが可能です。
MT4のメニューから「ファイル」「データフォルダを開く」の順に選択し、エクスプローラーを起動するとhistory/(サーバー名)の下に、USDJPY1.hstというデータができています。
次にこの1分足のヒストリカルデータを使い、M5・M15など上位足のデータを生成しましょう。
1分足のヒストリカルデータを上位足に変換してくれるPeriodConverterAllTimeframesというツールを入手します。以下のサイトにログインすることで、ダウンロード可能です。
MT4のメニューから「ファイル」「データフォルダを開く」の順に選択し、入手したPeriodConverterAllTimeframes.mq4をMQL4/Scriptsの下に配置してください。
MT4を起動して「ナビゲーター」ウィンドウの「スクリプト」を右クリックした後に「更新」を押すと、表示されるようになります。
MT4のメニューから「ファイル」「オフラインチャート」の順に選択し、オフライン・チャートリストダイアログを表示します。先ほどCSVから読み込んだUSDJPY・M1が表示されますので、選択して「開く」を押しましょう。
開いたチャートに対して、「ナビゲーター」ウィンドウの「スクリプト」に表示されているPeriodConverterAllTimeframesをドラッグ&ドロップしましょう。
ダイアログが表示されますので、「パラメーターの入力」タブでConverterD1をtrueにしてOKを押します。
1分足が上位足に変換され、実行が完了します。W1(週足)やMN(月足)が必要な場合は、同様にtrueにしましょう。
再度MT4のメニューから「ファイル」「データフォルダを開く」の順に選択し、エクスプローラーを起動すると、history/(サーバー名)の下にUSDJPY1.hstに加えて、USDJPY5.hstやSDJPY15.hstなど上位足のデータが表示されます。
以上の手順が完了したら、MT4を再起動しましょう。
ヒストリカルデータは、多くの場合「.hst」ファイルや「.csv」ファイルの形式で提供されます。「.csv」ファイルは一般的なファイル形式ですが、「.hst」ファイルはヒストリカルデータ専用のファイル形式です。
ここからは、有料にはなってしまいますが、1分足よりもさらに高精度な秒単位のティックデータを入手する方法を解説します。
Tick Data SuiteではDukascopy社の高精度ティックデータをダウンロード可能です。例えば、USDJPYは2003年5月以降のティックデータが提供されています。
長い時間足を用いたスイングトレードであればヒストリカルデータの精度が問題になるケースは少ないでしょう。
ここでは敢えてヒストリカルデータの精度が問題となるスキャルピングEAを題材にして、1分足データとティックデータでどれくらいバックテストの精度に差が出るかどうかを検証してみます。
バックテストの期間は2024年1月1日~6月30日の半年間で、利用するのは米雇用統計など、相場への影響が大きな指標でのスキャルピングを行うEAです。
このEAが半年間のバックテストを実施した際に、EAに送られてきたティックデータの数を計測してみましょう。独自にEAを作成した上でOnTick(ティックデータが来るたびに呼ばれる関数)に来た回数をプログラム上でカウントしたところ、有料ヒストリカルデータの場合は約1,591万回、Titan FX(タイタンエフエックス)の1分足データでは約1,182万回でした。
一見すると不自然な結果に見えるかもしれません。Titan FXからは1分足のデータしか提供されていないため、最大でも半年180日×24時間×60分=約26万分となり、データ数が1,000万回を超すほど多いはずはありません。
実はMT4には、1分足のデータを使い疑似的にティックデータを生成する機能があります。1分足のデータには始値・終値・最大値・最小値が記録されています。
データは1分単位でしかなくても、始値で1ティック生成した後に、最高値・最安値の範囲でランダムな順序でティックを発生させ、終値で最後のティックを発生させるわけです。
1分足単位・M5足単位で動作するEAであれば問題ありません。しかし、さらに細かい秒単位で動作するスキャルピングEAのバックテストでは、ランダムに生成されるティックデータによる検証やバックテストはあまり意味がないといえます。
例として2024年2月2日22時30分(サーバー時刻では15時30分)の米国・雇用統計の瞬間を見てみましょう。
Titan FXはM1データしか提供されませんので、ヒストリーセンターで確認しても、15:30の次は15:31になっています。
こちらが1分間に生成された疑似ティックデータです。赤がAsk、青がBidです。
指標発表時にも関わらず、AskとBidがスプレッド分だけ一定に開いて遷移していることが分かりました。
次に有料ヒストリカルデータを見てみましょう。
有料データの場合、ヒストリーセンターには表示されませんが、実際にデータを表にすると以下のようになります。
13:30:00.011から13:30:59.948まで、10マイクロ秒単位でデータが存在し、1分間に733個のデータが存在することが分かります。
次に有料ヒストリカルデータをエクスポートとして図示してみましょう。
指標発表直後は数秒間で50pipsほど高騰していること、AskとBidが乖離してスプレッドが開いていること、それが徐々に狭まってきていることが確認できます。
このように1分足から生成される疑似ティックデータと実際の相場のデータは、始値・終値・最高値・最安値が同じなだけで、全く関連性が無いことが分かります。
実際のバックテスト結果にも、目に見えて差が出ていることが分かります。
まずはTitan FXの1分足を用いたバックテストの結果です。MT4の1分足のバックテストでは、モデリング品質は25%以下にしかなりません。
またティックデータはランダムに生成されるため、バックテストを実行する度に少し結果が変わるという現象が起こります。
こちらが有料ヒストリカルデータを用いたバックテストの結果です。モデリング品質が99.9%になっていることが分かると思います。
以上の検証から、M5足を用いたデイトレードや、さらに長い時間足を用いたスイングトレードであればヒストリカルデータの精度が問題になることはないと思いますが、1分足より細かい単位で精度が要求されるスキャルピングEAのバックテストを行うためには、有料のティックデータが必須であると言えるでしょう。
ヒストリカルデータは過去の価格動向を再現し、EAの取引ロジックを検証するために欠かせない情報です。
無料データは手軽に入手可能ですが、EAの種類によっては必要となるデータの品質が異なります。スキャルピングなどの高精度なデータが必要なEAをテストする場合は、有料データの使用を検討しましょう。
本記事で紹介したデータ取得方法や活用手順を実践し、十分な精度のバックテストを行うことで、EAの運用パフォーマンスを最大化できるでしょう。MT4/MT5の詳細な使用方法は、ご利用ガイドで解説しています。動画や実際の画面を使って説明していますので、MT4/MT5の操作でご不明な点がある方は、ご利用ガイドをご覧ください。
出典元:
作成日
:2025.03.26
最終更新
:2025.03.26
短期が中心のトレーダーや中長期が中心のトレーダー、元プロップトレーダー、インジケーターやEAの自作を行うエンジニアなどが在籍。資金を溶かした失敗や専業トレーダーに転身した経験など、実体験も踏まえてコンテンツを制作している。
ご覧いただきありがとうございます。Myforexでは、記事に関するご意見・ご感想をお待ちしています。
また、海外FX・仮想通貨の経験が豊富なライター様も随時募集しております。
お問い合わせ先 [email protected]
FXONのスプレッドは狭い?他社との比較で分かった意外な結果
2025.03.28 19:00
キャプテン翼-RIVALS- がJOHNトークンのエアドロを発表!LINEなどで遊べるMini Appの独自トークン
2025.03.27 19:00
MT4のバックテストに正確なヒストリカルデータが必須!無料・有料データを比較
2025.03.26 19:30
XMTrading・Vantage Trading・AXIORY公式アプリがApp Storeから削除
2025.03.25 19:30
ビットコインを100万円分買ってみた!利益額などの投資結果を紹介
2025.03.25 19:00
ワールドコインのOrb(オーブ)の日本設置場所は?無料配布を受けられる登録会場の予約方法も解説
2025.03.21 19:30
免責事項:Disclaimer
当サイトの、各コンテンツに掲載の内容は、情報の提供のみを目的としており、投資に関する何らかの勧誘を意図するものではありません。
これらの情報は、当社が独自に収集し、可能な限り正確な情報を元に配信しておりますが、その内容および情報の正確性、完全性または適時性について、当社は保証を行うものでも責任を持つものでもありません。投資にあたっての最終判断は、お客様ご自身でなさるようお願いいたします。
本コンテンツは、当社が独自に制作し当サイトに掲載しているものであり、掲載内容の一部または、全部の無断転用は禁止しております。掲載記事を二次利用する場合は、必ず当社までご連絡ください。
Myforexでは、このウェブサイトの機能向上とお客様の利便性を高めるためにクッキー使用しています。本ウェブサイトでは、当社だけではなく、お客様のご利用状況を追跡する事を目的とした第三者(広告主・ログ解析業者等)によるクッキーも含まれる可能性があります。 クッキーポリシー