MT5リアルティックの品質をどう確認する?|ヒストリカルデータ・欠損・バックテスト結果の読み方
MT5のStrategy TesterでEAを検証するとき、「Every tick based on real ticksを選んだ」「History Qualityが100%だった」という情報だけで、テスト期間のすべての価格データが同じ品質だったと判断できるわけではありません。
確認したいのは、どのModelを選んだか、どのM1・tick履歴が同期されたか、Testerが実際にどの系列を使ったか、そしてReportとJournalに何が残っているかです。
MetaTrader 5では、生成tickを使うModelとbrokerが蓄積したreal tickを使うModelが分かれています。一方、real tickを使う設定でも、M1バーに対応するtickが不足する区間では生成tickが使われる場合があります。したがって、Model名と実データの状態は分けて確認します。
この記事では、ヒストリカルデータのダウンロード手順そのものではなく、バックテスト結果のデータ根拠をどこまで確認できるかに焦点を当てます。特定Brokerの履歴品質を順位付けしたり、バックテスト結果から将来の損益を保証したりする内容ではありません。
- MT5のリアルティック検証で最初に分ける4つ
- Every tick と Every tick based on real ticks の違い
- Testerは履歴をどのように準備するのか
- Real tickが不足する区間をどう考えるか
- History Qualityは何を示しているのか
- Tester Journalで確認できること
- 「real ticks」「100%」だけでは確認できないこと
- 実際の検証記録を残すための確認表
- GOLD / Scalping / Multi-Currencyで追加確認すること
- Backtest → Robustness → Forwardへどうつなぐか
- よくある質問
- 関連ページ
- 参考にした公式情報
- まとめ
- お問い合わせはEAFC公式LINEへ
MT5のリアルティック検証で最初に分ける4つ
「リアルティックで検証した」という説明を確認するときは、次の4層を混同しないことが重要です。
| 確認する層 | 確認内容 | 代表的なEvidence | それだけでは言えないこと |
|---|---|---|---|
| 1. 設定 | Strategy Testerで選んだModel | テスト設定・Report | 全区間で実tickだけが使われたこと |
| 2. 保存履歴 | Terminal / Agentへ同期されたM1・tick履歴 | Tester Journal・履歴開始時刻 | 各minuteの完全性 |
| 3. 実使用系列 | Testerがテスト中に再生したtick系列 | Journalのreal ticks開始・mismatch等 | Live環境との完全一致 |
| 4. 結果表示 | History Quality・Bars・Ticks・損益等 | Testing Report | データ起源の全情報 |
この4層を分けると、「設定はreal ticksだが、一部区間では生成tickが補われていた」「History Qualityは高いが、別Serverでも同じ履歴とは限らない」といった確認がしやすくなります。
Every tick と Every tick based on real ticks の違い
MetaTrader 5のStrategy Testerには複数のtick generation modeがあります。この記事では、EAの詳細検証で混同しやすい2つを中心に確認します。
| Model | 価格系列の基本 | 確認上のポイント |
|---|---|---|
| Every tick | M1履歴を基にOHLCと中間tickを生成する | 生成されたtick系列であることを前提に結果を読む |
| Every tick based on real ticks | broker側に保存された実tickを優先して使用する | real tick履歴の存在・開始・不整合をJournalと合わせて見る |
MetaTrader 5 Helpでは、real tick modeはbrokerが蓄積したtickを利用するModelとして説明されています。ただし、後述するようにtick履歴が不足するminuteの扱いがあるため、Model名だけから「テスト期間の全tickが実tickだった」とは断定しません。
Testerは履歴をどのように準備するのか
テスト開始前、Strategy Testerは対象銘柄の履歴を同期します。M1履歴と必要なtick履歴がTerminalへ取得され、テストエージェントへ渡されます。多通貨EAや証拠金計算で別銘柄が必要になった場合は、その銘柄の履歴も途中で同期されます。
また、指標計算を安定させるため、指定したテスト開始日より前の履歴が読み込まれます。利用できる履歴が不足すると、実際のテスト開始時刻が指定時刻より後ろへ移動する場合があります。指定期間と実際にテストされた期間を分けて保存することが重要です。
| 保存しておきたい項目 | 理由 |
|---|---|
| MT5 / Tester build | 表示仕様やTesterの挙動を後から確認するため |
| Trade Server | 同じSymbol名でも履歴供給元を区別するため |
| Symbol完全名 | suffix等を含めて別銘柄を混同しないため |
| 指定開始・終了日時 | Userが設定した検証範囲を残すため |
| 実際の開始・終了日時 | 履歴不足による開始時刻変更を確認するため |
| M1 history begins | 分足履歴の利用可能開始を確認するため |
| ticks data begins / real ticks begin | tick履歴の利用可能開始を確認するため |
Real tickが不足する区間をどう考えるか
MetaTraderの公式資料では、M1バーが存在する一方、そのminuteにtick dataがない場合、TesterはEvery tick方式でtickを生成してテストを継続できると説明されています。real tick modeを選んでいても、履歴不足を理由にテスト全体が必ず停止するわけではありません。
また、M1バーとtick dataが一致しない場合、minute dataを基準に補正・置換する説明があります。Tester Journalには、tick volume mismatchやLast priceが存在しないminuteなどの統計が表示される場合があります。
なお、M1バーがない一方でtickだけが存在するケースについては、MetaTrader HelpとMQL5 Referenceで説明の粒度に差があります。本稿では一律の挙動へ単純化せず、実際のbuild・symbol・Journalを確認する対象として扱います。
History Qualityは何を示しているのか
MetaTrader 5 HelpのTesting Reportでは、History Qualityを正しい1分データと不正確な1分データの比率として説明しています。OHLCが矛盾するバーやhistory gapは不正確なデータとして扱われます。
したがって、History Qualityが100%でも、その数値だけで「テスト期間の全tickがbroker由来のreal tickだった」と読み替えるのは適切ではありません。History QualityはReport上の品質指標として読み、tickの起源はModelとJournalも合わせて確認するという分担にします。
| 表示 | 確認できること | 追加で確認するもの |
|---|---|---|
| History Quality | Testing Report上の価格履歴品質 | Model・Tester Journal・実際のtest period |
| Bars | テスト対象で生成・利用されたbar数 | 期間・timeframe・履歴開始 |
| Ticks | テスト中に扱われたtick数 | tickの起源・生成/realの区別 |
Tester Journalで確認できること
Tester Journalは、テスト開始前の履歴準備からAgentの初期化、M1・tick同期、テスト開始、tick sequenceの状態までを記録します。Reportだけでは分かりにくいデータ準備のEvidenceを補う資料です。
- M1 historyのdownload開始・完了とhistory begins
- real tick test時のtick downloadとticks data begins
- test Agentのbuild、Server、Symbol、period、test dates
- 「generating based on real ticks」などのModelに関する記録
- 「real ticks begin from …」というreal tick開始位置
- tick volume mismatch、Last price absent等の不整合統計が出た場合の記録
記事や検証記録へJournalを引用する場合は、口座番号など不要な情報を伏せ、該当箇所の前後関係が分かる範囲を残します。
「real ticks」「100%」だけでは確認できないこと
| 表示・説明 | そのまま断定しないこと |
|---|---|
| Every tick based on real ticks | Liveと同一の約定・遅延・流動性・取引結果になること |
| History Quality 100% | 全tickが実tickで構成されたこと |
| Ticksの件数が多い | 欠損・不整合がないこと |
| 同じSymbol名 | 別Broker / 別Serverでも同じ履歴・銘柄仕様であること |
| 同じEA / set | 同じbuild・Server・期間・cost条件で同じ結果になること |
リアルティックは検証条件の1つです。スプレッド、Commission、Swap、銘柄仕様、Server time、注文実行、EAのバージョンなどが異なれば、同じModel名でも結果は変わり得ます。
実際の検証記録を残すための確認表
次の表は、バックテスト結果を第三者が後から確認できるようにするための最小記録です。空欄を推測で埋めず、確認できなかった項目は「未確認」とします。
| 項目 | 記録内容の例 | 状態 |
|---|---|---|
| MT5 build | 例:Build #### | 確認済 / 未確認 |
| Trade Server | 例:Broker-Demo | 確認済 / 未確認 |
| Symbol | suffixを含む完全名 | 確認済 / 未確認 |
| EA / Version | EA名・Version・hash等 | 確認済 / 未確認 |
| set / Inputs | set名・主要Inputs | 確認済 / 未確認 |
| Requested Period | 設定画面で指定した期間 | 確認済 / 未確認 |
| Actual Test Period | Journal / Report上の実期間 | 確認済 / 未確認 |
| Tick Model | Every tick / real ticks等 | 確認済 / 未確認 |
| M1 history begins | Journal記録 | 確認済 / 未確認 |
| ticks data begins / real ticks begin | Journal記録 | 確認済 / 未確認 |
| History Quality | Report表示をそのまま記録 | 確認済 / 未確認 |
| Bars / Ticks | Report表示 | 確認済 / 未確認 |
| Mismatch記録 | Journalに出た内容 | なし / あり / 未確認 |
| Cost / Delay | Spread・Commission・Swap・Delay条件 | 確認済 / 未確認 |
GOLD / Scalping / Multi-Currencyで追加確認すること
データ品質の確認項目はEAの構造によって重点が変わります。
| EAの特徴 | 追加で確認すること |
|---|---|
| GOLD / XAUUSD | Symbol suffix、Contract Size、Tick Size / Tick Value、Server time、spread履歴 |
| Scalping | tick sequence、spread変動、Commission、Delay、取引時刻の集中 |
| Multi-Currency | 追加Symbolのhistory / ticks同期、cross rate用Symbol、各Symbolの開始位置 |
| News / Session Filter | Server timeと対象時刻、履歴区間の連続性 |
| Grid / Nanpin | 同時保有中のEquity DD、position / basket単位の結果 |
Backtest → Robustness → Forwardへどうつなぐか
リアルティック品質を確認しても、それだけでEAのRobustnessや将来の安定性を確認したことにはなりません。検証の役割を分けます。
| 段階 | 主な問い | 関連ページ |
|---|---|---|
| Backtest data | どの履歴・Model・条件で結果が作られたか | この記事 |
| Backtest実施 | 設定・set・Spread・Reportをどう保存するか | MT5バックテストのやり方 |
| Robustness | 別期間・近傍Parameter・OOSで崩れないか | EAの過剰最適化とは |
| Forward | MT5 Forwardや実時間記録で何が確認できるか | EAフォワードテスト完全ガイド |
よくある質問
Every tick based on real ticksを選べば、全区間が実tickになりますか?
そうとは限りません。公式資料では、M1バーがある一方でtick dataが不足するminuteでは生成tickを使う場合があると説明されています。Model選択に加え、Journalのreal tick開始位置や不整合記録を確認します。
History Qualityが100%ならreal tick 100%ですか?
MetaTrader 5 HelpではHistory Qualityを1分データの正誤とgapを基準に説明しています。したがってHistory Quality単独をreal tick比率として扱わず、ModelとJournalを併記します。
同じEAとsetなら別Brokerでも同じ結果になりますか?
同じ結果を保証しません。履歴、銘柄仕様、spread、Commission、Swap、Server time等が異なるため、Broker / Serverを検証条件として保存します。
Journalは保存した方がよいですか?
再検証や問い合わせを想定する場合は保存を推奨します。M1・tickの同期、real tick開始、不整合、Agent buildなど、Reportだけでは確認しにくい情報があります。
リアルティックのバックテストなら実運用結果に近いですか?
価格系列の再現性を高める条件の1つですが、Liveの約定、遅延、流動性、VPS、Broker環境まで同一になるわけではありません。BacktestとForwardを分けて確認します。
関連ページ
| 確認したい内容 | 関連ページ |
|---|---|
| MT5バックテストの実施方法を確認する | MT5バックテストのやり方 |
| Strategy Tester全体と最適化を確認する | MT5ストラテジーテスター・最適化完全ガイド |
| GOLD / XAUUSD固有の検証条件を確認する | GOLD / XAUUSDのバックテストで確認すること |
| 過剰最適化・OOS・Robustnessを確認する | EAの過剰最適化とは |
| Forward Testと実時間の実績を確認する | EAフォワードテスト完全ガイド |
参考にした公式情報
MT5 Strategy TesterのModel、履歴同期、real tick、History Quality、Tester Journalについては、MetaQuotesの公式資料を参照しています。
- MetaTrader 5 ヘルプ:ストラテジーテスト
- MetaTrader 5 ヘルプ:テスターが履歴データをダウンロードする方法
- MetaTrader 5 ヘルプ:実際ティックと生成ティック
- MetaTrader 5 ヘルプ:テストの操作ログ
- MetaTrader 5 ヘルプ:テストレポート
- MQL5リファレンス:取引ストラテジーのテスト
公式資料間で例外ケースの説明粒度が異なる部分は、記事内で単一定義へまとめず、実際のTester JournalとReportを確認する対象として残しています。
まとめ
MT5のリアルティック検証では、「real ticksを選んだ」「History Qualityが100%だった」という1つの表示だけではなく、Model、M1・tick履歴、Tester Journal、Testing Reportを組み合わせて確認します。
特に、real tickが不足するminuteでは生成tickが使われる場合があるため、Model選択と実際のデータ状態を分けて記録することが重要です。確認できない項目は推測で埋めず、「未確認」として残します。
バックテストのデータ根拠を確認した後は、別期間・OOS・Parameter SensitivityなどのRobustness確認、さらにMT5 Forwardや実時間の記録へ段階を分けて進めます。
お問い合わせはEAFC公式LINEへ
EAFCサイト内の記事、商品、導入前確認、設定確認、ログ確認、開発依頼前のご相談など、各種お問い合わせはEAFC公式LINEより受け付けています。
※投資助言、売買指示、利益保証、推奨ロット、推奨銘柄の案内は行っておりません。
口座番号、認証情報、Webhook URL、GAS URL、APIキーなどの機密情報は送信しないでください。
