MT5のヒストリカルデータのインポート方法

ヒストリカルデータのインポート(MT5) アルゴリズム開発
この記事は約4分で読めます。

先日、MT5でバックテストを行うためにヒストリカルデータのインポートを行いました。
そこで、今回はそのときの作業内容を備忘録をかねてまとめます。

まず、MT5にヒストリカルデータをインポートする方法は2種類あります。

  1. 直接サーバーからダウンロードする方法
  2. 外部から取得したデータを取り込む方法

MT5では既存の銘柄から情報をコピーした”カスタム銘柄”というものを作れるので、既存の銘柄には「a.」の方法で、カスタム銘柄には「b.」の方法でインポートするのがいいと思います。

共通の作業

  1. MT5を起動して「ツール」→「オプション」を選択してオプションダイアログを開きます。
    「ツール」メニュー内の「オプション」を選択
  2. 「チャート」タブの”チャートの最大バー数”で「Unlimited」を選択し「OK」ボタンを押します。
    オプションダイアログの「チャート」タブの「チャートの最大バー数」の設定場所
  3. MT5を再起動します。
  4. 「チャート」タブの”チャートの最大バー数”が「Unlimited」になっていることを確認します。

直接サーバーからダウンロードする方法

  1. MT5を起動して「表示」→「銘柄」を選択して銘柄ダイアログを開きます。
    「表示」メニューの「銘柄」の位置
  2. 「仕様」タブでインポートしたい銘柄を選択します。
    銘柄ダイアログの「仕様」タブの銘柄の位置
  3. 「チャートバー」タブで開始日時と終了日時を設定してから「情報呼出」ボタンを押します。
    銘柄ダイアログの「チャートバー」タブの呼出期間の設定場所と「情報呼出」ボタンの位置
  4. ダウンロードが終わるのを待ちます。

僕が使っているFX業者の場合、ダウンロードされるデータは業者のサービス開始以降は実際に業者が配信したもので、それ以前はMetaQuotes社のもののようです。
他の業者も同じかどうかはわかりませんが、期間が限定されるとはいえ実際に配信されたデータを使用できるのはありがたいです。

上記の「3.」の作業で「チャートバー」タブではなく「ティック」タブで同様の操作を行うとティックデータをダウンロードすることができます。
また、このティックデータを使用してバックテストすることも可能です。
ただし、ダウンロードできる期間は数年程度しかないようです。

外部から取得したデータを取り込む方法

  1. ヒストリカルデータを用意する
    1. 簡単に入手できるものはいくつかありますが、僕はFOREX TESTERの無料のもの をダウンロードしました。AUDJPY、AUDUSD、CHFJPY、EURCAD、EURCHF、EURGBP、EURJPY、EURUSD、GBPCHF、GBPJPY、GBPUSD、NZDJPY、NZDUSD、USDCAD、USDJPY、USDCHF、XAGUSD、XAUUSDの2001年1月(一部は2003年1月)からのデータが提供されています。
  2. MT5を起動して「表示」→「銘柄」を選択して銘柄ダイアログを開きます。
    「表示」メニューの「銘柄」の位置
  3. 「仕様」タブでインポートしたい銘柄を選択します。
    銘柄ダイアログの「仕様」タブの銘柄の位置
  4. 「カスタム銘柄を作成する」ボタンを押してカスタム銘柄ダイアログを開きます。
    銘柄ダイアログの「仕様」タブの「カスタム銘柄を作成する」ボタンの位置
  5. 「銘柄」をダブルクリックして銘柄名を入力して「YES」ボタンを押します。
    (名前は自分がわかりやすければなんでもいいと思います)
    カスタム銘柄ダイアログの「銘柄」設定位置
  6. ”Custom”というフォルダの下に作成した銘柄名ができているので選択します。
    銘柄ダイアログの「仕様」タブの「Custom」フォルダの位置
  7. 「チャートバー」タブで「バーをインポートする」ボタンを押してインポートダイアログを開きます。
    銘柄ダイアログの「チャートバー」タブの「バーをインポートする」ボタンの位置
  8. 「選択」ボタンを押して、用意したヒストリカルデータを選択します。
    インポートダイアログの「選択」ボタンの位置
    (FOREX_TESTERのものは1列目と1行目をスキップする必要がありました)
    インポートダイアログの「スキップ」の設定場所
  9. 「YES」ボタンを押してインポートダイアログを閉じます。
  10. 「チャートバー」タブでインポートデータの開始日時と終了日時を設定してから「情報呼出」ボタンを押します。
    銘柄ダイアログの「チャートバー」タブの「呼出期間」と「情報呼出」ボタンの位置
  11. 情報が表示されたらインポートできているか確認します。
    銘柄ダイアログの「チャートバー」タブのヒストリカルデータの表示位置
  12. 「OK」ボタンを押して銘柄ダイアログを閉じます。

MT5はヒストリカルデータにスプレッド値が含まれます。

スプレッド値を含まないデータもインポートできますが、その場合スプレッド値はゼロになります。(上の画像参照)
この場合、MT5のストラテジーテスター上ではスプレッド値の設定をすることができないため、バックテストはスプレッド値がゼロとして実行されます。

スプレッド値を指定したい場合は、面倒ですがヒストリカルデータを表計算ソフトなどで編集したものをインポートする必要があります。

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