MT5ストラテジーテスター・最適化完全ガイド|バックテスト結果を読むための基本
MT5ストラテジーテスターは、EAの動作を過去データ上で確認するための検証機能です。EAを導入する前、開発したEAを確認する前、setファイルを比較する前、最適化結果を読む前には、ストラテジーテスターの設定項目と結果の見方を整理しておく必要があります。
ただし、バックテスト結果は将来の取引結果を保証するものではありません。バックテストは、EAの処理が想定どおりに動いているか、設定条件を再現できるか、注文・決済・ログ・停止条件を確認できるかを見るための検証手段です。利益、勝率、損失回避を保証する資料として扱うものではありません。
特にMT5では、銘柄、時間足、期間、モデル、スプレッド、ヒストリカルデータ、初期証拠金、レバレッジ、setファイル、最適化条件、フォワード確認、Expertsログ、Journalログ、Testerログの条件が少し変わるだけで結果の見え方が変わります。そのため、バックテスト結果を見る時は、損益だけではなく、検証条件と処理理由をセットで確認することが重要です。
この記事では、MT5ストラテジーテスターの基本、バックテスト条件、銘柄・時間足・期間・スプレッド・モデルの確認、setファイルの扱い、最適化の注意点、過剰最適化、フォワード確認、ExpertsログやTesterログの見方、バックテストとリアル運用の差、開発依頼前に整理する情報をまとめます。
EAファンクラブでは、EAの性能を断定するのではなく、MT4/MT5・MQL4/MQL5・EA・インジケーター・コピーEA・通知/診断補助ツールの技術支援、開発、導入確認、検証補助を目的として情報を整理しています。
- この記事で確認すること
- MT5ストラテジーテスターとは
- バックテストで確認できること・できないこと
- バックテスト前に決める検証条件
- 銘柄・時間足・期間の確認
- モデル・スプレッド・ヒストリーデータの確認
- setファイルで検証条件を再現する
- バックテスト結果の見方
- 最適化とは何か
- 過剰最適化を避ける考え方
- フォワード確認とデモ環境確認
- TesterログとExpertsログを確認する
- バックテストで注文が出ない時の確認
- バックテストとリアル運用の結果が違う理由
- ナンピン・グリッドEAを検証する時の注意
- バックテスト結果を開発依頼に使う時の整理
- EAファンクラブでのバックテスト確認方針
- 記事固有の実務チェック表
- よくある質問
- 関連ページ
- まとめ
この記事で確認すること
- MT5ストラテジーテスターの役割
- バックテストで確認できること・できないこと
- 銘柄、時間足、期間、モデル、スプレッドの確認
- 初期証拠金、レバレッジ、口座通貨の扱い
- setファイルを使った検証条件の再現
- バックテスト結果の見方
- 最適化と過剰最適化の注意点
- フォワード確認とデモ環境確認の考え方
- Expertsログ、Journalログ、Testerログの確認
- バックテストとリアル運用の結果が違う時の切り分け
- ナンピン・グリッドEAを検証する時の注意点
- 開発依頼前に準備する検証資料
MT5ストラテジーテスターとは
MT5ストラテジーテスターは、EAを過去の価格データで動かし、エントリー、決済、損益、ドローダウン、取引回数、パラメータ変更の影響を確認するための機能です。EAを導入する前や、開発中のEAが想定どおりに動いているかを確認する場面で使います。
ストラテジーテスターでは、銘柄、時間足、期間、モデル、初期証拠金、レバレッジ、スプレッド、最適化条件、setファイルなどを指定できます。これらの条件が変わると、同じEAでも結果が変わります。そのため、バックテスト結果を見る時は、損益だけでなく、検証条件をセットで確認する必要があります。
特に、EA開発や改修では、バックテスト結果の数値だけを見るのではなく、注文が出るタイミング、決済理由、フィルターで止まった理由、ログの出方、setファイルの再現性を確認することが重要です。
| 確認項目 | 見る内容 | 注意点 |
|---|---|---|
| EAの起動 | OnInitが成功しているか、必要な設定が揃っているか。 | 初期化失敗のまま結果だけ見ないようにします。 |
| エントリー | 想定した条件で注文候補が出ているか。 | シグナル不成立とフィルター停止を分けて確認します。 |
| 発注 | ロット、価格、SL/TP、注文方向、Magic Number。 | 注文要求と注文結果を分けてログで確認します。 |
| 決済 | TP/SL、トレーリング、建値、時間決済、一括決済。 | 決済理由がログや履歴で追えるか確認します。 |
| リスク管理 | 最大ポジション数、停止条件、日次停止、証拠金確認。 | input初期値と実行時状態を混同しないようにします。 |
| 外部連携 | 通知、CSV出力、WebRequestなど。 | バックテストでは通常チャートと同じ挙動にならない場合があります。 |
ストラテジーテスターは、EAの優劣を一発で判断するための画面ではありません。条件を固定し、ログを確認し、結果がどの処理から生まれているかを見るための検証環境です。バックテスト結果を読む時は、テスター設定、EA設定、履歴データ、ログ、取引履歴を合わせて確認してください。
バックテストで確認できること・できないこと
バックテストでは、過去データ上でEAがどのように動くかを確認できます。エントリー条件、決済条件、取引回数、損益推移、ドローダウン、パラメータ変更の影響などを比較できます。
一方で、バックテストは将来の結果を保証しません。実際の約定、スプレッド変動、サーバー遅延、外部連携、VPS環境、ブローカー仕様、取引制限、流動性、ニュース時の値動きなど、バックテストだけでは十分に再現できない要素があります。
そのため、バックテストは「EAが必ず勝つか」を見るものではなく、「指定した条件でEAの処理がどう動くか」を確認するものとして扱います。実運用前には、デモ環境、フォワード確認、ログ確認、setファイル管理を組み合わせる必要があります。
| 区分 | 確認できること | 注意点 |
|---|---|---|
| ロジック動作 | エントリー条件や決済条件が想定どおり動くか。 | ログがないと理由を追いにくくなります。 |
| パラメータ比較 | setファイルやinput変更の影響を比較できます。 | 過剰最適化に注意します。 |
| リスク指標 | ドローダウン、取引回数、損益推移を確認できます。 | 過去期間だけの結果で判断しないようにします。 |
| 注文・決済履歴 | 注文時刻、決済時刻、損益、保有時間を確認できます。 | 実運用の約定条件とは差が出る場合があります。 |
| 外部連携 | 一部のログやファイル出力は確認できます。 | 通知やWebRequestは通常環境と異なる扱いになることがあります。 |
| 将来成績 | 保証できません。 | バックテスト結果を利益保証として扱わないようにします。 |
バックテスト結果を確認する時は、利益が出ているかだけでなく、なぜ利益が出たのか、どの期間に利益が集中しているのか、どの条件で損失が出ているのか、ログ上で不自然な停止やエラーがないかを確認してください。
バックテスト前に決める検証条件
MT5でバックテストを行う前に、検証条件を決めます。銘柄、時間足、期間、モデル、スプレッド、初期証拠金、口座通貨、レバレッジ、setファイルを記録しておくことで、後から同じ条件を再現しやすくなります。
検証条件を残さずに結果だけを保存すると、あとから「どの条件で出た結果なのか」が分からなくなります。開発依頼や不具合相談でも、バックテスト結果だけでなく、使用した条件をセットで伝えることが重要です。
| 検証条件 | 確認内容 | 記録する理由 |
|---|---|---|
| EA名・バージョン | どのEAを検証したか。 | 更新前後の結果を比較するため。 |
| 銘柄 | USDJPY、EURUSD、XAUUSDなど。 | 銘柄仕様や値幅が異なるため。 |
| 時間足 | M1、M5、M15、H1など。 | ロジックの判定タイミングに影響するため。 |
| 期間 | 開始日、終了日。 | 相場環境やデータ範囲の違いを確認するため。 |
| モデル | ティック生成や検証モデル。 | 結果の精度や処理時間に影響するため。 |
| スプレッド | 現在値、固定値、検証時の条件。 | スプレッドフィルターや損益に影響するため。 |
| 初期証拠金 | 初期残高、口座通貨。 | ロット計算や証拠金確認に影響するため。 |
| setファイル | input設定一式。 | 同じ条件を再現するため。 |
同じEAでも、時間足だけを変えれば取引回数や保有時間が変わります。銘柄だけを変えれば、スプレッド、digits、point、StopLevel、取引時間が変わります。ロット計算やATRを使うEAでは、銘柄仕様の差がそのままリスク計算に影響します。
銘柄・時間足・期間の確認
バックテストでは、銘柄、時間足、期間の指定が非常に重要です。同じEAでも、USDJPYとXAUUSDでは値幅、スプレッド、digits、point、StopLevel、取引時間が異なります。M5で作ったロジックをH1で動かすと、シグナル数や保有時間も変わります。
期間を短くすると、その期間に偶然合った結果が出ることがあります。逆に、長期間にすると相場環境が変わるため、特定のロジックが得意な局面と苦手な局面が混ざります。検証では、単一期間だけでなく、複数期間や相場局面を分けて見ることが有効です。
また、MTFロジックや上位足を参照するEAでは、テスト対象の時間足だけでなく、参照している上位足や別銘柄のデータも確認する必要があります。CopyRates、iClose、iTime、iBarShiftなどで時系列データを使うEAでは、データ取得ログも確認してください。
| 確認軸 | 見る内容 | 検証上の注意点 |
|---|---|---|
| 銘柄 | 通貨ペア、貴金属、指数、CFDなど。 | digits、point、契約サイズ、取引時間が異なります。 |
| 時間足 | M1、M5、M15、H1、H4など。 | ロジックの前提と一致しているか確認します。 |
| 検証期間 | 短期、中期、長期、相場局面別。 | 特定期間だけで判断しないようにします。 |
| 相場局面 | トレンド、レンジ、高ボラ、低ボラ。 | EAの得意・不得意を分けて確認します。 |
| MTF参照 | 上位足、下位足、別銘柄参照。 | 参照先データ不足やバー時刻のズレに注意します。 |
モデル・スプレッド・ヒストリーデータの確認
MT5ストラテジーテスターでは、モデルやスプレッドの設定によって結果が変わります。ティックの扱い、ヒストリーデータの品質、スプレッド条件が違うと、同じEAでもエントリーや決済のタイミングが変わることがあります。
スプレッドが広い条件で検証すると、スプレッドフィルターでエントリーが減ったり、損益が悪化したりします。固定スプレッドで良い結果が出ても、実際の変動スプレッド環境では異なる結果になることがあります。特にスキャルピングや短期売買EAでは、スプレッド条件の影響が大きくなります。
| 項目 | 確認内容 | 注意点 |
|---|---|---|
| モデル | どの方式で価格データを再現するか。 | 検証精度と処理時間のバランスを確認します。 |
| ヒストリーデータ | 必要な期間のデータが揃っているか。 | データ不足があると検証結果が不自然になることがあります。 |
| スプレッド | 固定値か、現在値か、実データに近い条件か。 | 短期売買EAでは影響が大きくなります。 |
| digits / point | 銘柄の小数桁やpoint値。 | GOLD / XAUUSDなどでは単位の混同に注意します。 |
| StopLevel | SL/TPを置ける最小距離。 | 近すぎるSL/TPは注文失敗や結果差の原因になります。 |
| 取引時間 | 銘柄の取引可能時間。 | 時間帯制限や市場休止に注意します。 |
ヒストリーデータが不足している場合、テスト開始直後のインジケーター値が不安定になることがあります。移動平均、ATR、RSI、ボリンジャーバンド、iCustomなどを使うEAでは、計算に必要な過去バーが揃うまで判定を見送る設計が必要になる場合があります。
バックテスト条件を比較する時は、スプレッド条件を固定した比較と、スプレッドを変えた耐性確認を分けると見やすくなります。最初から複数条件を混ぜると、どの要素が結果に影響したのか判断しにくくなります。
setファイルで検証条件を再現する
setファイルは、EAやインジケーターのinput設定を保存するためのファイルです。バックテスト条件を再現したい場合、setファイルを保存しておくことが重要です。結果だけを保存しても、input設定が分からなければ同じ条件を再現できません。
setファイルを使う時は、ファイル名にEA名、バージョン、銘柄、時間足、期間、用途を含めると管理しやすくなります。最適化用、単体バックテスト用、デモ確認用、配布前確認用を同じ名前で上書きしないようにしてください。
| set管理項目 | 例 | 理由 |
|---|---|---|
| EA名 | SampleEA | どのEAの設定か分かるようにします。 |
| バージョン | v1_03 | 更新前後の結果を混同しないため。 |
| 銘柄 | USDJPY / XAUUSD | 銘柄ごとに設定が違う場合があるため。 |
| 時間足 | M5 / M15 / H1 | 判定足ごとの比較に使うため。 |
| 用途 | opt / single / forward / demo | 最適化用と確認用を分けるため。 |
| 日付 | 20260531 | 更新履歴を追うため。 |
- 検証したEA名とバージョンを記録する
- 使用したsetファイル名を保存する
- 最適化用setと単体確認用setを分ける
- 銘柄、時間足、期間をファイル名やメモに残す
- 変更前後のsetファイルを上書きせずに残す
- 外部連携URLやtokenなどの実値をsetファイルに含めない
- 開発依頼や不具合相談では、必要な範囲だけ共有する
setファイルは便利ですが、認証情報、Webhook URL、APIキー、個人情報を含める運用は避けてください。外部連携を含むEAでは、検証用のダミー値や伏せ字を使い、共有時には機密情報を削除することが重要です。
バックテスト結果の見方
バックテスト結果では、損益だけでなく、取引回数、最大ドローダウン、連敗、利益曲線、保有時間、取引履歴、注文方向、ロット推移を確認します。単に最終損益が良いというだけでは、EAの挙動を十分に判断できません。
たとえば、取引回数が極端に少ない場合、たまたま良い結果に見えているだけかもしれません。ドローダウンが大きい場合、最終損益がプラスでも運用上のリスクが大きい可能性があります。ナンピンやグリッドを含むEAでは、含み損、最大保有数、証拠金維持率、ロスカットリスクも確認する必要があります。
| 結果項目 | 見る内容 | 注意点 |
|---|---|---|
| 純益 | 最終的な損益。 | 単独で判断しないようにします。 |
| 取引回数 | 検証期間中の注文数。 | 少なすぎる場合は偶然性が高くなります。 |
| プロフィットファクター | 総利益と総損失の比率。 | 取引回数や期間とセットで確認します。 |
| 最大ドローダウン | 資金の落ち込み。 | 運用許容範囲を超えていないか確認します。 |
| 連勝・連敗 | 勝ち負けの連続状態。 | ロット変動や停止条件と関係します。 |
| 期待値 | 1取引あたりの平均的な損益。 | スプレッドや手数料の影響も考慮します。 |
| 取引履歴 | 注文、決済、損益、保有時間。 | ロジックの想定と一致しているか確認します。 |
| グラフ | 残高・有効証拠金の推移。 | 急激な落ち込みや長期停滞を確認します。 |
利益が出ているバックテストでも、損益曲線が一部期間だけで伸びている場合は注意が必要です。特定相場だけで勝っているEAなのか、長期間にわたって比較的安定しているEAなのかを分けて確認してください。
また、ドローダウンは金額だけでなく割合でも確認します。初期証拠金やロット設定が変わると、同じ損益でもリスクの見え方が変わります。固定ロット、複利、残高比例ロット、ナンピンロットなど、ロット設計も結果とセットで確認してください。
最適化とは何か
最適化は、EAのinputパラメータを複数組み合わせてテストし、条件ごとの結果を比較する作業です。たとえば、移動平均線の期間、RSIの閾値、ATRフィルター、スプレッド制限、トレーリング幅、利確・損切り幅などを範囲指定して比較します。
最適化は便利ですが、良い数値を探す作業だけにすると危険です。過去データにだけ合う設定を選んでしまうと、別期間や実運用で通用しにくくなることがあります。これを過剰最適化と呼びます。
最適化では、最も利益が大きい組み合わせだけでなく、複数期間で大きく崩れないか、隣接パラメータでも極端に悪化しないか、取引回数が十分あるか、ドローダウンが許容範囲かを確認してください。
| 最適化で見る項目 | 確認内容 | 注意点 |
|---|---|---|
| パラメータ範囲 | 開始値、終了値、ステップ。 | 広すぎても狭すぎても比較しにくくなります。 |
| 評価指標 | 損益、PF、DD、取引回数、期待値など。 | 単一指標だけで選ばないようにします。 |
| 取引回数 | 十分なサンプルがあるか。 | 取引回数が少ない結果は過信しないようにします。 |
| ドローダウン | 資金の落ち込みが許容範囲か。 | 利益が大きくてもDDが大きい場合があります。 |
| 安定性 | 近い設定でも結果が極端に崩れないか。 | 一点だけ良い結果は過剰最適化の疑いがあります。 |
| 期間分割 | 学習期間と確認期間を分ける。 | 同じ期間だけで選ばないようにします。 |
最適化の結果を見る時は、上位結果だけを並べるのではなく、周辺パラメータの分布を見ることが重要です。ひとつの設定だけが極端に良く、その前後が大きく崩れる場合は、過去データに合わせ込みすぎている可能性があります。
過剰最適化を避ける考え方
過剰最適化とは、過去の特定期間にだけ合うようにパラメータを調整しすぎることです。バックテストでは良い結果に見えても、別期間や実運用では急に崩れることがあります。
過剰最適化を避けるには、1つの最良結果だけを見ないことが重要です。近いパラメータでも同じ傾向があるか、別期間でも大きく崩れないか、取引回数が十分か、損益曲線が不自然でないか、最大ドローダウンが許容できるかを確認します。
また、最適化結果を見てから条件を追加し続けると、過去データに合わせ込む方向へ進みやすくなります。フィルター追加や条件変更を行う場合は、変更理由、変更前後の結果、ログ上の挙動を記録してください。
- 最も利益が大きい結果だけを選ばない
- 取引回数が少なすぎる結果を過信しない
- ドローダウンを必ず確認する
- 近いパラメータでも結果が極端に崩れないか確認する
- 別期間でも同じ傾向があるか確認する
- 最適化用期間と確認用期間を分ける
- 条件追加の理由をログやメモに残す
- バックテスト結果を将来成績保証として扱わない
過剰最適化を避けるには、結果が良い理由を説明できることも重要です。ロジック上の理由が説明できない設定、特定期間だけで極端に良い設定、取引回数が極端に少ない設定は、慎重に扱ってください。
フォワード確認とデモ環境確認
バックテストや最適化だけでEAを判断するのではなく、フォワード確認やデモ環境での動作確認も行います。フォワード確認では、最適化に使っていない期間や、実際に近い環境でEAがどう動くかを確認します。
デモ環境では、スプレッド、約定、取引時間、サーバー接続、VPS、外部通知、ログ出力、setファイルの反映などを確認できます。バックテストでは動いていた通知やWebRequestが、通常チャートでは設定不足で動かないこともあります。
フォワード確認やデモ確認では、利益だけでなく、EAが想定どおりに起動するか、停止条件が動くか、ログが出るか、通知が届くか、手動操作や再起動後に状態が崩れないかを確認してください。
| 確認方法 | 目的 | 注意点 |
|---|---|---|
| フォワード期間 | 最適化に使っていない期間で確認する。 | 過去期間への合わせ込みを確認します。 |
| デモ口座 | 実時間に近い環境で動作を見る。 | 実運用と完全一致するわけではありません。 |
| 別銘柄確認 | ロジックの汎用性を見る。 | 銘柄仕様が違うため単純比較しません。 |
| 別期間確認 | 相場局面を変えて見る。 | トレンド・レンジ・急変動を分けます。 |
| ログ確認 | 処理理由を確認する。 | 損益だけでなく停止理由も見ます。 |
TesterログとExpertsログを確認する
バックテストでは、結果レポートだけでなく、TesterログやExpertsログを確認します。注文が出ない、決済されない、パラメータを変えても結果が変わらない、特定の期間で停止する、といった場合は、ログを見ないと原因を追えないことがあります。
EA開発では、バックテスト用のログと通常チャート用のログを分けて設計すると確認しやすくなります。OnInit、シグナル判定、発注前チェック、注文結果、決済結果、CSV出力、外部連携の結果を必要な粒度で出すと、検証時の原因追跡がしやすくなります。
| ログ対象 | 残したい内容 | 注意点 |
|---|---|---|
| OnInitログ | EA名、バージョン、主要input、初期化結果。 | 設定不正やハンドル作成失敗を確認します。 |
| シグナルログ | BUY候補、SELL候補、見送り理由、使用した足。 | 条件不成立と発注停止を分けます。 |
| 発注前チェックログ | スプレッド、ロット、証拠金、SL/TP距離。 | ブロック理由を1つに潰さないようにします。 |
| 注文結果ログ | retcode、GetLastError、注文方向、ロット、価格。 | 注文要求と注文結果を分けます。 |
| 決済ログ | 決済理由、対象チケット、決済結果。 | TP/SL、内部決済、手動決済を分けます。 |
| CSVログ | 検証用の状態、シグナル、注文履歴など。 | 機密情報を出さないようにします。 |
| 外部連携ログ | 通知やWebRequestの送信結果。 | バックテストと通常環境の差に注意します。 |
ログは、成功時に毎tick出し続けると読みにくくなります。検証モード、デバッグモード、状態変化時、エラー時など、出力条件を分けると扱いやすくなります。
バックテストで注文が出ない時の確認
バックテストで注文が出ない場合、EAが壊れているとは限りません。シグナル条件が成立していない、スプレッド条件で止まっている、取引時間外、最大ポジション数制限、証拠金不足、初期化失敗、Magic Numberやシンボル条件の不一致など、複数の原因があります。
| 確認箇所 | 見る内容 | 切り分け |
|---|---|---|
| OnInit | 初期化成功、認証、input確認。 | 起動時点で失敗していないか確認します。 |
| シグナル | BUY / SELL候補が出ているか。 | 条件不成立とフィルター停止を分けます。 |
| スプレッド | 許容スプレッド内か。 | 短期EAでは停止原因になりやすいです。 |
| 時間条件 | 稼働時間・曜日制限。 | テスト期間が取引禁止時間だけでないか確認します。 |
| ポジション条件 | 最大ポジション数、同一方向制限。 | 既存ポジションで止まっていないか確認します。 |
| 注文前確認 | ロット、証拠金、SL/TP距離。 | OrderCheckやStopLevelを確認します。 |
「注文が出ない」という状態を調べる時は、ログに SIGNAL_WAIT、SPREAD_BLOCK、TIME_BLOCK、POSITION_BLOCK、ORDER_CHECK_FAIL のような理由が出ているか確認してください。理由が出ていない場合は、EA側のログ設計を見直す必要があります。
バックテストとリアル運用の結果が違う理由
バックテスト結果とリアル運用結果が違うことはあります。主な理由は、スプレッド、約定、スリッページ、サーバー時間、取引時間、ティックデータ、外部連携、VPS、通信状態、ブローカー仕様、銘柄仕様、口座タイプなどです。
バックテストでは、過去データ上で一定条件を再現します。一方、リアル運用では、スプレッドが変動し、注文の約定条件も変わります。EAが通知や外部連携を使っている場合、WebRequest許可URLや外部サーバーの応答も影響します。
違いを確認する時は、結果だけを比べるのではなく、同じsetファイルを使っているか、同じ銘柄・時間足か、取引時間が一致しているか、ログ上のシグナルやフィルター停止理由が一致しているかを確認してください。
| 差が出る要因 | 確認内容 | 見る場所 |
|---|---|---|
| スプレッド | バックテスト条件と実運用時のスプレッド。 | テスター設定、Expertsログ。 |
| 約定条件 | スリッページ、約定拒否、リクオートに相当する状況。 | Journalログ、注文結果ログ。 |
| 銘柄仕様 | digits、point、StopLevel、FreezeLevel、lot step。 | SymbolInfo、ログ。 |
| 取引時間 | 市場休止、サーバー時間、曜日制限。 | MT5、Journalログ。 |
| setファイル | バックテストと実運用で同じ設定か。 | 保存済みset、input画面。 |
| 外部連携 | 通知、WebRequest、CSV出力の環境差。 | Expertsログ、MT5オプション。 |
| VPS環境 | 稼働時間、再起動、通信状態。 | VPSログ、MT5ログ。 |
ナンピン・グリッドEAを検証する時の注意
ナンピンEAやグリッドEAをバックテストする場合は、最終損益だけでなく、最大ポジション数、最大含み損、平均建値、証拠金維持率、強制ロスカットリスク、長期保有時のコストを確認します。
バックテスト上で利益が出ていても、途中で大きな含み損を抱えている場合があります。残高グラフだけでなく、有効証拠金、最大ドローダウン、最大保有数、長期間ポジションを持った場面を確認してください。
この種のEAでは、検証期間に大きなトレンドや急変動が含まれているかも重要です。穏やかな期間だけで検証すると、リスクが見えにくくなることがあります。
| 確認項目 | 内容 | 注意点 |
|---|---|---|
| 最大保有数 | 同時に何本までポジションを持ったか。 | 口座資金と証拠金維持率に影響します。 |
| 最大含み損 | 決済前にどれだけ含み損を抱えたか。 | 最終損益だけでは見えにくいリスクです。 |
| 平均建値 | ナンピン後の建値変化。 | 戻り前提のロジックになっていないか確認します。 |
| ロット増加 | マーチンや倍率設定。 | 少しの連敗でロットが急増する場合があります。 |
| 強制ロスカット | 証拠金維持率の低下。 | バックテストで耐えても実運用では危険な場合があります。 |
| 長期保有 | スワップ、週またぎ、月またぎ。 | コストや急変動リスクを確認します。 |
バックテスト結果を開発依頼に使う時の整理
開発依頼や改修依頼でバックテスト結果を共有する場合は、結果画像だけでは不足します。EA名、バージョン、setファイル、銘柄、時間足、期間、スプレッド、モデル、初期証拠金、ログ、気になる取引履歴、再現手順をセットで整理してください。
「この期間だけ注文しない」「特定のsetファイルでエラーになる」「最適化結果と単体テスト結果が違う」「バックテストとリアル運用で注文数が違う」などの場合は、比較対象を明確にする必要があります。
| 共有する情報 | 内容 | 理由 |
|---|---|---|
| EA名・バージョン | 対象ファイル名、更新日、バージョン。 | 確認対象を特定するため。 |
| setファイル | 検証に使ったinput設定。 | 同じ条件を再現するため。 |
| 検証条件 | 銘柄、時間足、期間、スプレッド、モデル。 | 結果の前提を確認するため。 |
| レポート | バックテスト結果、取引履歴、グラフ。 | 全体結果と個別取引を確認するため。 |
| ログ | Testerログ、Expertsログ。 | 注文・決済・エラーの原因を追うため。 |
| 比較対象 | 変更前後、別set、別期間、別銘柄。 | 何を比較したいか明確にするため。 |
| 送らない情報 | 口座番号、パスワード、APIキー、Webhook URL。 | 機密情報を保護するため。 |
EAファンクラブでのバックテスト確認方針
EAファンクラブでは、バックテスト結果を投資成果の保証として扱いません。バックテストは、EAの処理、設定、ログ、発注条件、決済条件、検証条件の再現性を確認するための材料として扱います。
そのため、バックテスト結果の相談では、利益が出たかどうかよりも、条件が再現できるか、ログで処理理由を追えるか、setファイルが整理されているか、実装上の不具合がないか、導入時に誤解がないかを重視します。
| 確認観点 | 内容 | 目的 |
|---|---|---|
| 再現性 | 同じset、同じ期間、同じ条件で再確認できるか。 | 結果の前提を固定するため。 |
| ログ追跡性 | エントリー・見送り・決済理由を追えるか。 | 不具合と仕様を分けるため。 |
| 安全性 | ロット、SL/TP、証拠金、最大保有数。 | 過度なリスク設定を避けるため。 |
| 保守性 | EAバージョン、setファイル、変更履歴。 | 後から再検証できるようにするため。 |
| 導入確認 | 利用者が同じ設定で確認できるか。 | 問い合わせや誤設定を減らすため。 |
記事固有の実務チェック表
- 検証したEA名とバージョンを記録した
- 使用したsetファイルを保存した
- 銘柄、時間足、期間を記録した
- モデル、スプレッド、初期証拠金を記録した
- 最適化用setと単体確認用setを分けた
- 取引回数、PF、最大ドローダウン、損益曲線を確認した
- 取引履歴でエントリー・決済の理由を確認した
- ExpertsログとTesterログを確認した
- 過剰最適化になっていないか確認した
- 別期間やフォワードで確認した
- ナンピン・グリッドEAでは最大含み損と最大保有数を確認した
- バックテスト結果を将来成績保証として扱っていない
- 共有資料に口座情報や認証情報を含めていない
よくある質問
MT5のバックテスト結果が良ければ実運用でも同じ結果になりますか?
同じ結果になるとは限りません。バックテストは過去データ上の検証であり、将来の結果を保証するものではありません。実運用では、スプレッド、約定、サーバー時間、取引環境、外部連携、VPSなどの影響を受けます。
MT5ストラテジーテスターでは何を記録すべきですか?
EA名、バージョン、setファイル、銘柄、時間足、期間、モデル、スプレッド、初期証拠金、バックテストレポート、取引履歴、Expertsログ、Testerログを記録してください。結果だけでなく条件を残すことが重要です。
最適化で一番利益が大きい設定を使えばよいですか?
一番利益が大きい設定だけで判断するのは危険です。取引回数、ドローダウン、別期間での結果、近いパラメータの安定性、過剰最適化の可能性を確認してください。
setファイルはなぜ重要ですか?
setファイルにはEAのinput設定が保存されます。バックテスト結果を再現するには、同じsetファイルが必要です。検証条件や開発依頼を整理する時も、setファイルがあると確認が進めやすくなります。
バックテストとリアル運用で取引回数が違うのはなぜですか?
スプレッド、ティックデータ、約定条件、取引時間、サーバー時間、銘柄仕様、setファイルの違いなどが原因になることがあります。ログ上でシグナル、フィルター、発注前チェック、注文結果を分けて確認してください。
バックテスト結果を開発依頼に使う時は何を送ればよいですか?
EA名、バージョン、setファイル、銘柄、時間足、期間、モデル、スプレッド、レポート、取引履歴、Expertsログ、Testerログ、スクリーンショットを整理してください。口座番号、パスワード、APIキー、Webhook URLなどは送らないようにしてください。
関連ページ
MT5ストラテジーテスターでEAを検証する時は、時系列データ、検証環境、EA設計、エラーコード、ログ確認、CSV出力、setファイル、バックテストとリアル運用の差分を分けて確認すると、原因を整理しやすくなります。
| 確認したい内容 | 関連ページ |
|---|---|
| 時系列データ・価格取得を確認する | MQL5時系列データ・価格取得完全ガイド |
| MT5の検証・運用環境を確認する | MT5検証・運用環境ガイド |
| EA設計の責務分離を確認する | MQL5 EA設計パターン完全ガイド |
| エラーコードを確認する | MQL5エラーコード辞典 |
| ログファースト開発を確認する | MQL5デバッグ・ログファースト開発完全ガイド |
| CSVログ出力を確認する | MQL5ファイル操作・CSVログ出力完全ガイド |
| setファイル送付前の確認をする | MT5でEAのsetファイルを送る前に確認すること |
| EAログを問い合わせ前に確認する | EAのログを問い合わせ前に確認する方法 |
| バックテストとリアル運用の差を確認する | MT5でバックテストとリアル運用の結果が違う時に確認すること |
| バックテストレポートの基本用語を確認する | EAのバックテストレポートとは |
| バックテストの基本用語を確認する | バックテストとは |
| 開発依頼前に用意する資料を確認する | MT5開発依頼前に用意する資料まとめ |
| 不具合報告・サポート依頼の入口を確認する | 不具合報告・サポート依頼 |
| 開発・改修相談の入口を確認する | 開発・改修の相談ページ |
まとめ
MT5ストラテジーテスターは、EAの動作を過去データ上で確認するための重要な機能です。ただし、バックテスト結果は将来の結果を保証するものではありません。損益だけでなく、銘柄、時間足、期間、スプレッド、モデル、setファイル、ログをセットで確認してください。
最適化では、最も利益が大きい設定だけを選ぶのではなく、取引回数、ドローダウン、別期間での結果、近いパラメータの安定性を確認する必要があります。過去データに合わせ込みすぎる過剰最適化には注意してください。
バックテストとリアル運用の結果が違う場合は、スプレッド、約定、サーバー時間、銘柄仕様、setファイル、外部連携、VPS環境、ログを分けて確認します。開発依頼や不具合相談では、検証条件、setファイル、レポート、取引履歴、Expertsログ、Testerログを整理して共有すると確認が進めやすくなります。
EAファンクラブでは、バックテストを投資成果の保証ではなく、MT5 EAの技術確認、導入確認、検証補助、ログ確認、再現条件整理のための作業として扱います。結果を過信せず、条件とログを残しながら、必要に応じてフォワード確認やデモ環境での確認へ進めてください。
