自動売買(EA)を稼働させる人にとっては、バックテストの精度にかかわるヒストリカルデータの信頼性は重要ですよね!
しかし、MetaTrader 5(MT5)のEAがまだあまり普及していないこともあり、MT5のヒストリカルデータの信頼性についてはあまり知られていません。
MT5のバックテストには普段使っている口座で実際に配信されたティックデータを利用できるため、MT5のヒストリカルデータ・バックテスト機能は大幅に改善しています。
しかし、実はMT5のヒストリカルデータには信頼性の面で課題もあり、注意が必要です。この記事では、その理由や対処方法について詳しく紹介します!
新規口座開設ボーナスありの大手業者!
口座の資金に金利ももらえる!
金利13%!Vプレミアム預金の詳しい解説
↓↓↓↓↓↓↓↓↓↓↓↓↓↓

MT5バックテストのヒストリカルデータの特徴
MT5でのバックテストに使われるヒストリカルデータには、以下のような特徴があります。まずは、MT5ヒストリカルデータの特徴と注意点を確認しましょう。
- ティックデータ対応でMT4より精度が高い
- ブローカーごとにティックが異なる
- 4種類のヒストリカルデータをバックテストに利用可能

ティックデータ対応でMT4より精度が高い
MetaTrader 5 (MT5)では、デフォルトでティックデータが利用でき、MetaTrader 4 (MT4)に比べてバックテストの精度が大幅に向上しています。
ティックデータは、実際の市場の動きをより忠実に反映するため、EAをより現実的な条件でバックテストすることができ、結果の信頼性が高まります。
MT4では1分足データを基にしたバックテストが一般的だったため、リアルティックでのバックテストはMT5ストラテジーの新機能の大きな目玉になりました。
MT4でリアルティックでのバックテストをするには、数万円の有料ツールを購入する必要がありました。MT4にもヒストリカルデータのインポート機能がありましたが、MT4の仕様上リアルティックをMT4にインポートすると1分足に変換されてしまいます。それを避けるために有料のツールが必要な状態でした。
しかし、いくらリアルティックで精度がいいと言っても、データに欠けなどがあると正確なバックテストができません。そのため、利用する予定のヒストリカルデータの精度については個別の確認が必要です。
らっこ面倒だけどちゃんと確認するっコ!
ブローカーごとにティックが異なる
MT5では、FX会社のサーバーに保存された、実際に配信された価格データをがMT5内に呼び出して使用できる仕組みになっています。そのため、実際に利用している口座のヒストリカルデータをバックテストに利用できます。
FXは、外国為替市場の値動きを参考にして各FX会社が独自にレートを配信するものなので、ブローカーごとにヒストリカルデータは異なります。
タイミングによってはレートに10pips以上の差が出ることもありますし、日常的にもどの程度頻繁にティックが更新されるか(ティックボリューム)が異なります。あるFX会社では1分間に100以上のティックが配信されるのに対し、10程度しか配信されないFX会社もあります。



ティックが少ない会社は、チャートを見てもそんなにレートが動かないっコ
このティックボリュームの違いも、EAのタイプによってはバックテスト結果に影響する可能性があります。
4種類のヒストリカルデータをバックテストに利用可能
MT5では、リアルティックのバックテストが可能で、当然ながら精度はこのリアルティックのバックテストが最も高いです。
しかし、バックテストのスピードとの兼ね合いでほかにも3種類(全部で4種類)のヒストリカルデータを利用することができます。
- 全ティック
- リアルティックに基づいたすべてのティック
- 1分足OHLC
- 値のみ
それぞれ種類のヒストリカルデータについてはこちらの記事で紹介しています。↓↓↓↓↓


MT5はMT4に比べてバックテストのスピードが大幅に向上しているため、一般的なEAであればそこまでストレスは感じないでしょう。ただし、計算負荷の高いEAのバックテストをする場合や、最適化で大量のバックテストをする場合には、スピードの影響が大きくなります。ティックデータによるバックテストは最も時間がかかるので、必要に応じてほかのヒストリカルデータの種類を検討してもいいかもしれません。
MT5では最適化の分散処理が可能になったため、外部のコンピュータの計算リソースをレンタルするMQL5クラウドネットワークを使ったり、保有する別のPCを利用したりして最適化の効率化を図ることもできます。詳しくはこちら↓↓↓↓↓


MT5バックテストのヒストリカルデータの信頼性は?
MT5のヒストリカルデータは、ブローカーが配信したデータをそのまま利用できるため、信頼性は基本的に高いです。しかし、1点注意すべき点がありますので、ブローカーのヒストリカルデータを利用する際には事前の確認が必要です。
データの信頼性が不安な場合は、最初から信頼性が高いとされているヒストリカルデータをインポートした方がよいこともあります。外部ソースのヒストリカルデータをMT5にインポートする方法についてはこちらの記事で紹介しています。↓↓↓↓↓


昔のデータは不正確な可能性
MT5のヒストリカルデータの問題点として大きなものは、昔のデータになればなるほど不正確になる点です。
MT5ではスプレッドなどのヒストリカルデータの詳細を確認することができますので、実際のデータで確認してみましょう。詳しい方法は以下の見出しで詳しく紹介しています。
▼MT5バックテストのヒストリカルデータの信頼性を確認する方法
Exnessゼロスプレッド口座の2010年のヒストリカルデータと2022年のヒストリカルデータをユーロドルで比較してみると、以下のようになります。


ゼロスプレッド口座なので、現在(2022年)のスプレッドはゼロ(手数料別)ですが、2010年は平均して9ポイント(0.9pips)のスプレッドが発生していますね。
なお、その後もスプレッドは変動し、ゼロになったのは2019年のことです。
圧倒的な低スプレッド!
対象銘柄多数のスワップフリーで人気!
※Exnessは口座開設ページが日本語非対応ですが、マイページは日本語に対応しています。
TradingViewのチャートも使える!
↓↓↓↓↓↓↓↓↓↓↓↓↓↓


有料ツールを使ってMT4にリアルティックをインポートするためによく使われているデューカスコピーのヒストリカルデータも、デューカスコピーの取引条件変更などでスプレッドは変化しています。しかし、MT5のリアルティックの方が変動幅は大きい印象です。
理由ははっきりわかりませんが、古いのデータには別の口座タイプや別の海外FX業者のデータを使っているなどの事情があるのかもしれません。特に、設立して間もないブローカーなどは設立日以前の自社のヒストリカルデータを持っていないので、現在のスプレッド条件とは異なるデータが入っている可能性が高いです。



ほとんどの海外FX業者で、古いデータは今とは全然違うデータになるっコ・・・
ヒストリー品質だけでは判断できない
MT5には、MT4と同様にバックテスト結果に「ヒストリー品質」という項目があります。これを確認すると、データに明らかな欠けがあるかどうかをざっくりと確認することはできます。
ただし、このヒストリー品質は以下の基準で判定される「データに欠けがないか」を示すものです。ヒストリー品質が高かったからといって統一性のあるバックテスト向きのデータが入っているとは限りませんので、注意が必要です。
ヒストリー品質は、バックテスト期間全体を1から199の期間に分割し、それぞれの期間に含まれる1分足の正確性を評価するものです。データ欠けなどがない「正確なデータ」が50%を超えている期間については緑色(正常)で表示されてしまいますので、長期になればなるほど、たとえば数日データがかけている日があったとしても「正常」と判定されてしまう可能性があります。
MT5バックテストのヒストリカルデータの信頼性を確認する方法
ここからは、MT5のヒストリカルデータの信頼性を確認する方法を紹介します。
MT5のヒストリカルデータの信頼性に不安を感じたときは、無理にブローカーのヒストリカルデータを使わずに、デューカスコピーなどの外部のデータソースの利用を検討してみてください。
以下の方法でヒストリカルデータの品質を確認できます。
- 昔の期間のスプレッドなどを確認する
- 複数データソースのバックテストで比較する
- ヒストリー品質を確認する
昔の期間のスプレッドなどを確認する
先ほど紹介したように、多くの海外FX業者では昔の期間のヒストリカルデータが今の取引条件とは大きく変わっています。
MT5で長期のヒストリカルデータを呼び出せば、特にスプレッドの水準で確認できますので、まずはこちらを確認してください。
詳しい確認方法は以下の見出しで解説しています。
複数データソースのバックテストで比較する
1分足でもかなりのデータ量があるので、目視ではざっくりとした比較しかできません。
そのため、複数のデータソースで同じEAをバックテストした結果を比較してみるのも、ヒストリカルデータの信頼性に大きな問題がないか確認する上で効果があります。
利益確定や損切りの幅の広いEAがおすすめです。
スキャルピングなどの利益確定や損切りの幅の狭いEAは、FX会社ごとに自然に生じるヒストリカルデータの違いによっても成績が大きく変わってしまう可能性があります。一方、利益確定や損切りの幅の広い長期保有タイプのEAは、ヒストリカルデータの違いによる影響が比較的小さくなります。
このようなEAを使ってもバックテストの結果が大きく異なる場合は、どちらかのヒストリカルデータに問題がある可能性があると気づくことができます。
MT5のバックテストのやり方はこちら↓↓↓↓↓


スプレッドや取引手数料などの設定が異なるFX会社を使用すると、ヒストリカルデータ以外の要因でもバックテスト結果が変わってしまうため、なるべく近い条件のFX会社を利用するか、バックテストの設定で条件をそろえてください。
ヒストリー品質を確認する
さらに、一度バックテストをしてみて、先ほど紹介した「ヒストリー品質」を確認してみましょう。
ヒストリー品質は、以下の2つに当てはまった場合に「正しくない」と判定されます。
- 異なるOHLC値(始値・高値・安値・終値)を持つにもかかわらずティックボリュームが「1」の1分足
- データ欠け
MT4やMT5では、1分足の間に何回ティックが配信されたか(ティックボリューム)も記録されます。1分足が「異なるOHLC値を持つ」ということは、最低でも4回価格が変動していなければなりません。それなのにティックボリュームが1(価格が変動していないことを示す)になっていると、間違ったデータと判定されてしまいます。
データ欠けがわかるのは便利ですが、先ほど紹介したように、1から199に分けられた期間の中で正しい1分足が50%以上であればデータ欠けがあっても「正常」と判定されてしまう点には注意が必要です。
MT5の長期ヒストリカルデータを確認する方法
ここからは、MT5の長期間のヒストリカルデータでスプレッドなどの条件が変化していないか確認する方法を紹介します。
MT4と同様に長期のヒストリカルデータを見るには事前にバーの数を増やしておく必要がありますので、まだの方はこの処理も済ませておいてください。
- MT5でヒストリー内のバーの数を増やす
- MT5でヒストリカルデータを表示する
MT5でヒストリー内のバーの数を増やす
MT5上部のメニューから「ツール」→「オプション」をクリックします。


オプション画面上部のタブから「チャート」をクリックし、「チャートの最大バー数」を「Unlimited」に変更して「OK」ボタンをクリックします。


設定変更を反映させるため、一度MT5を終了し、再起動します。
MT5でヒストリカルデータを表示する
MT5上部の「表示」にカーソルを合わせ、「銘柄」をクリックします。


左側のフォルダで銘柄カテゴリを選び、右側に表示される銘柄一覧からスプレッドを確認したい銘柄名をクリックします。


銘柄名が青色の選択状態になったことを確認して、上部の「チャートバー」タブをクリックします。


銘柄の横の時間足欄で「M1」を選択し、右上の日時を10年などの長期に設定し、「情報呼出」をクリックします。


MT5のヒストリカルデータでは、時間足のデータとティックデータを両方確認できますが、スプレッドが直接表示されるのは時間足のデータのみです。そのため、ヒストリカルデータの信頼性をざっくり調べる目的ならば1分足データで確認するのがおすすめです。ティックデータのスプレッドが調べたい場合、エクセルなどで手動計算することになります。詳しくはこちら↓↓↓↓↓


表示されたヒストリカルデータをスクロールしていって確認します。右端の「スプレッド」列が時期によって極端に変化している場合、MT5のヒストリカルデータのソースが途中で変わっている可能性があります。


【まとめ】MT5バックテストでもヒストリカルデータのインポートが主流になる?
MT5のヒストリカルデータは、ティックデータなどの機能は進化しましたが、信頼性には不安が残ります。
そのため、MT4と同様にMT5でも、デューカスコピーなど信頼できるデータソースのヒストリカルデータをインポートして利用する方法が主流になるかもしれません。
MT5のEAは日本ではあまり販売されていませんが、MQL5コミュニティで入手できます。


新規口座開設ボーナスありの大手業者!
口座の資金に金利ももらえる!
金利13%!Vプレミアム預金の詳しい解説
↓↓↓↓↓↓↓↓↓↓↓↓↓↓


- MT5のバックテストに使うヒストリカルデータは、MT4と比べてどれくらい精度が高いですか?
MT5はティックベースでのバックテストやリアルスプレッドの再現がしやすく、MT4より精度の高いバックテストが可能です。ただし、最終的な精度はブローカーのデータ品質や取得期間に大きく左右されるため、「MT5だから必ず正確」というわけではありません。
- ブローカーごとにティックデータやスプレッドが違うと、バックテスト結果にはどんな影響がありますか?
ティックデータやスプレッドの広さが違うと、同じEAでもエントリー・決済タイミングや約定価格が変わり、成績が大きく変動します。特にスキャルピングなど短期売買では、ブローカー間のデータ差が利益率の差として現れやすいため、実際に使うブローカーと条件の近いヒストリカルデータで検証することが重要です。
- MT5のバックテストの「ヒストリー品質」は何を意味していて、どこまで信頼できますか?
MT5のバックテストのヒストリー品質は、データ欠損の有無を確認する指標としては有用ですが、スパイクや不自然なレートなど「質の悪いティック」を自動で検出してくれるわけではありません。ヒストリカルデータの信頼性を判断するにはほかの方法も併用して確認する必要があります。
- MT5の古い期間のヒストリカルデータが現在の取引条件と大きく違う場合、どう対処すればよいですか?
MT5の古い期間のヒストリカルデータでスプレッドなど条件が現在とかけ離れている場合は、そのままバックテストに含めると実運用とかみ合わない成績になります。テスト期間を直近数年に絞る、ボラティリティやスプレッドが大きく変化した時期を除外する、デューカスコピーなど定評のあるヒストリカルデータをインポートして使用するといった工夫が有効です。
- MT5に入っているブローカーのヒストリカルデータに不安があるとき、外部データをMT5にインポートするメリットと注意点は?
外部の高品質のヒストリカルデータをインポートして使うと、欠損やスパイクをある程度排除した状態で精度の高いバックテストが行えます。ただし、スプレッドや取引手数料などの条件が利用予定のブローカーと乖離してしまう可能性があるため、条件が近くなるようにMT5のバックテスト設定を行ってください。










コメント