MT5のヒストリカルデータが足りない時|業者ごとの上限

MT5でバックテストの期間をさかのぼれない時、ダウンロードの手順より先に確認すべきなのは「その業者がどこまで配信しているか」です。

ヒストリカルデータは取引サーバーから受け取るものなので、業者が配信していない期間は、何度ダウンロードしても増えません。

(確認環境:MetaTrader 5 / Windows 11)

まずダウンロードを試す

  1. 気配値表示で銘柄を右クリック →「銘柄」を開く
  2. 対象の銘柄を選び、「チャートバー」タブを開く
  3. 期間を指定して「情報呼出」を押す

ティック単位のデータが必要な場合は「ティック」側を使います。ティックデータは容量が大きく、取得できる期間も足のデータより短いのが普通です。

対象銘柄のチャートを開いたままだと、正しく取得できないことがあります。先に閉じてから実行してください。

🔴 増えない時に見る順番

# 確認すること 増えない場合の意味
1 接続できているか 切断中は取得できない
2 チャートを閉じたか 使用中のデータは書き換えられない
3 業者の配信開始時期 それ以前のデータは存在しない
4 チャートの最大バー数 表示できる本数の上限に当たっている(設定の場所はMT5が重い時に見直す設定)

3が本質です。業者のサービス開始が数年前なら、それより前のデータは取りようがありません。「ダウンロードできない」のではなく「存在しない」という状態です。

銘柄が新しく追加されたものである場合も同じです。銘柄の提供開始以降しかありません。

足りない期間をどうするか

方法1:長く配信している口座を別に用意する

検証用に、データが長い業者の口座を別途用意してそちらのMT5で検証だけを行うやり方です。実際に取引する業者と検証する業者を分けることになります。

この場合、スプレッドや取引条件は検証用業者のものになります。結果をそのまま実運用の期待値として扱えない点には注意してください。

方法2:外部のデータをカスタム銘柄として取り込む

MT5にはカスタム銘柄という仕組みがあり、自分で用意したデータを銘柄として登録できます。長期のデータを持っている場合はこちらで取り込めます。

ただし前提があります。取り込んだデータの品質は自分で担保することになります。欠損や時刻のずれがあっても、MT5は警告してくれません。

🔴 期間を伸ばせば良い結果が出るわけではない

ここは手順の話から外れますが、重要な点です。

期間を伸ばすほど相場の性質が違う局面が混ざります。10年分のデータには、金利も値動きの大きさもまったく違う時期が含まれます。

  • 期間が短い — 特定の相場にだけ合った結果になりやすい
  • 期間が長い — 性質の違う時期が平均化され、どの局面にも合わない設定に寄りやすい

どちらにも失敗の仕方があります。「10年分あるから信頼できる」とは言えません。期間ごとに結果を分けて見て、特定の時期だけで成績が作られていないかを確認する方が実用的です。

検証結果を数える

テスターの画面上で数えるより、値をCSVに書き出して表計算で集計する方が確実です。期間で区切った比較もそのまま行えます。

書き出し方はMQL5でCSVを出力する方法にまとめています。テスターで実行した場合の保存先は通常と違うため、この点だけ先に確認しておいてください。

まとめ

  1. 取得は「銘柄」→「チャートバー」→「情報呼出」
  2. 対象銘柄のチャートは閉じてから実行する
  3. 🔴 業者の配信開始より前のデータは存在しない。手順の問題ではない
  4. 足りないなら別口座で検証するかカスタム銘柄で取り込む
  5. 期間が長ければ良いわけではない。時期ごとに分けて確認する

時間足ごとに1日あたり何本のローソク足ができるか(必要なデータ量の目安)はMT5の時間足を追加する方法に表を載せています。

MT5にあるデータをCSVファイルに書き出す手順はMT5のヒストリカルデータをCSVで書き出す方法|バーとティックにまとめました。

本記事は操作手順を説明したものであり、特定の売買や業者を推奨するものではありません。過去のデータによる検証結果は将来の成果を保証するものではありません。投資判断はご自身の責任で行ってください。