バックテストとは|EA検証で確認する期間・スプレッド・setファイルの基本
バックテストは、過去の価格データと指定したテスト条件を使って、EAがどのように注文・決済し、どのような損益やドローダウンを記録したかを確認する検証作業です。
結果を見る時は、総損益だけでなく、検証期間、銘柄、時間足、EAバージョン、setファイル、スプレッドやコスト条件、PF、勝率、平均損益、ドローダウン、取引回数、取引履歴、ログを同じ一式として保存してください。
この記事ではP1478を受け先として、PF、勝率、取引履歴、バックテストレポートの既存記事内容を一つの確認順へまとめます。setファイルの詳細管理は別記事、ドローダウンの計算基準は専用記事へ役割を分けます。
バックテストは過去条件での挙動を確認する資料であり、将来の結果や実運用で同じ約定・損益になることを保証するものではありません。
- この記事で確認すること
- バックテストで分かること・分からないこと
- 比較前に検証条件を固定する
- レポート・履歴・ログの役割を分ける
- 損益とProfit Factorを読む
- 勝率・平均損益・取引回数を一緒に見る
- ドローダウンと資金曲線を確認する
- 注文・約定・ポジション・決済の履歴を照合する
- ナンピンEA・GOLD・複数ロジックEAでは追加項目を確認する
- バックテストレポートを読む順番
- 条件を保存し、別テストと比較できる形にする
- 損益の内訳で一部の取引への依存を確認する
- PFを比較する時は条件をそろえる
- 取引回数の偏りを期間・方向・ロジック別に確認する
- 資金曲線から急落・停滞・回復を確認する
- ナンピンEAでは保有中の状態をレポート外でも確認する
- GOLD / XAUUSDでは銘柄仕様をテスト条件として残す
- EAログとレポートを照合する
- 相談・比較前に保存する資料
- 実務チェック表
- よくある質問
- 関連ページ
- 公式資料
- まとめ
- お問い合わせはEAFC公式LINEへ
この記事で確認すること
| 確認領域 | 主な項目 | 確認目的 |
|---|---|---|
| 検証条件 | EA版、銘柄、時間足、期間、モデル、データ、スプレッド、コスト、set | 比較条件を再現できるようにします。 |
| 損益 | Total Net Profit、Gross Profit、Gross Loss | 最終損益がどの利益・損失合計からできたか確認します。 |
| PF | Gross ProfitとGross Lossの比 | 1より上・同・下の算術的な意味を確認します。 |
| 勝率・平均損益 | 利益回数、損失回数、平均利益、平均損失 | 勝率だけで結果を読まないために確認します。 |
| DD・資金曲線 | Balance / Equityの落ち込み | 途中の資金負担と発生区間を確認します。 |
| 履歴・ログ | order / deal / position、決済、Magic、ログ | 集計値がどの取引から生じたか追跡します。 |
バックテストで分かること・分からないこと
バックテストから確認できるのは、指定した価格データ・EA・設定・テスター条件のもとで発生した過去の取引結果です。エントリー回数、決済、損益、PF、ドローダウン、履歴などを確認できますが、リアル運用の通信遅延、約定環境、将来相場、外部サービスの状態まで同じになることは保証されません。
| 資料 | 確認しやすいこと | 別資料が必要なこと |
|---|---|---|
| テストレポート | 損益、PF、DD、取引回数、資金曲線 | 発注前に見送った内部理由 |
| 取引履歴 | 注文・約定・決済、価格、ロット、損益 | 条件不成立で注文しなかった理由 |
| Experts / Testerログ | EA内部の判定、発注結果、エラー、決済理由 | 実口座の将来約定 |
| Journal / 環境ログ | テスター・端末側のエラーや処理 | EA内部ロジックの詳細 |
| setファイル | EAの入力値 | 価格データや実行環境そのもの |
比較前に検証条件を固定する
PFやDDを比較する前に、結果の前提となる検証条件を固定します。同じEAでも、期間・銘柄・時間足・spread・setが変われば結果が変わるため、数値だけを並べて比較しないでください。
| 保存項目 | 保存内容 | 確認理由 |
|---|---|---|
| EA名・バージョン | 実行ファイル名と版 | 版差によるロジック・Inputs変更を区別します。 |
| 銘柄・時間足 | テスト対象 | 銘柄仕様・判定周期を固定します。 |
| 期間 | 開始日・終了日 | 相場局面を記録します。 |
| テストモデル / データ | 選択したモデル・データ条件 | 再検証時の前提を残します。 |
| 初期資金 | テスト開始時の残高 | DD金額やロット影響の基準になります。 |
| スプレッド・コスト | spread、手数料、swap等の条件 | 取引コストを比較できるようにします。 |
| setファイル | 入力設定一式 | 同じ設定を再現します。 |
setファイルは設定を保存する重要な資料ですが、setだけでテスト条件全体は再現できません。銘柄、時間足、期間、EA版、データ、コスト条件も一緒に記録します。
レポート・履歴・ログの役割を分ける
バックテストレポートの集計値を見た後は、必要に応じて取引履歴とログへ降りて確認します。集計→個別取引→EA判断の順に追うと、大きな利益・損失・DDがどの取引から生じたか切り分けやすくなります。
| 確認順 | 見る場所 | 確認する内容 |
|---|---|---|
| 1 | テストレポート | 総損益、PF、DD、取引回数、資金曲線 |
| 2 | 取引履歴 | 大きな利益・損失の時刻、方向、ロット、価格、損益 |
| 3 | 注文・約定情報 | order / deal / position、requestとfill、Magic |
| 4 | EAログ | entry_reason、entry_skip、order result、close_reason等 |
| 5 | テスト条件 | EA版、set、銘柄、期間、spread等を再確認 |
損益とProfit Factorを読む
MetaTrader 5のテストレポートでは、Total Net Profit、Gross Profit、Gross Lossなどの集計値が表示されます。Profit Factor(PF)は、公式ヘルプでGross ProfitとGross Lossの比として定義され、値が1なら利益合計と損失合計が等しいことを示します。
| 項目 | 意味 | 確認ポイント |
|---|---|---|
| Total Net Profit | 全取引の最終的な損益結果 | 単独で判断せず、DDや取引回数と合わせます。 |
| Gross Profit | 利益取引の合計 | 一部の大きな利益へ偏っていないか履歴で確認します。 |
| Gross Loss | 損失取引の合計 | 大きな損失・連続損失の有無を確認します。 |
| Profit Factor | Gross Profit / Gross Lossの比 | 分母・分子となる損益と取引数を合わせて確認します。 |
PFが1より上・同じ・下の時の意味
| PFの状態 | 算術的な意味 | 注意 |
|---|---|---|
| 1より大きい | テスト期間のGross ProfitがGross Lossを上回った | 将来の利益や安全性を保証する意味ではありません。 |
| 1 | Gross ProfitとGross Lossが等しい | 手数料・swap等の扱いもレポート項目で確認します。 |
| 1より小さい | Gross ProfitがGross Lossを下回った | 期間・条件・取引分布を確認します。 |
PFの値だけを『良い・悪い』の固定基準として使わず、DD、勝率、平均損益、取引回数、期間の偏りを一緒に確認してください。公式定義は MetaTrader 5 テストレポート で確認できます。
勝率・平均損益・取引回数を一緒に見る
勝率は利益で終わった取引の割合として確認しますが、勝率だけでは1回の利益幅・損失幅を表せません。高い勝率でも平均損失や最大損失が大きい場合があり、低い勝率でも平均利益が大きい場合があります。
| 項目 | 確認する内容 | 合わせて見る項目 |
|---|---|---|
| 勝率 | 利益取引の割合 | 平均利益・平均損失、PF、取引回数 |
| 平均利益 | 利益取引1回あたりの平均利益 | 最大利益、一部取引への依存 |
| 平均損失 | 損失取引1回あたりの平均損失 | 最大損失、DD |
| 最大利益 / 最大損失 | 1回の極端な損益 | 資金曲線と該当履歴 |
| 取引回数 | 結果の母数 | 期間、BUY/SELL、ロジック別の偏り |
取引回数が多いこと自体を品質の証明とはしません。特定期間・方向・時間帯・ロジックに集中していないかを分けて確認します。
ドローダウンと資金曲線を確認する
レポートの利益がプラスでも、途中の資金落ち込みが大きい場合があります。BalanceとEquityのDD、資金曲線、最大含み損、回復までの期間を確認してください。Absolute / Maximal / Relative Drawdownの定義はドローダウン専用記事へ役割を分けます。
| 確認対象 | 見る内容 | 切り分け |
|---|---|---|
| Balance DD | 決済済み損益に基づく落ち込み | 未決済含み損とは分けます。 |
| Equity DD | 未決済損益を含む落ち込み | ナンピン・複数ポジションで重要です。 |
| 資金曲線 | 急落・停滞・回復の流れ | 最大値だけでなく期間を確認します。 |
| 最大含み損 | 保有中の損失 | Balanceだけでは見えない負担を確認します。 |
注文・約定・ポジション・決済の履歴を照合する
MT5ではorder(注文)、deal(約定)、position(保有ポジション)を分けて記録します。バックテストで大きな損益やDDが見つかったら、時刻、symbol、direction、volume、price、Magic、決済理由を履歴とログで追跡します。
| 記録 | 確認すること | 用途 |
|---|---|---|
| order | 発注要求、注文種別、価格、数量 | EAが何を要求したか確認します。 |
| deal | 実際に成立した約定、価格、数量 | requestとfillの差を確認します。 |
| position | 保有状態、symbol、volume等 | 保有中の管理対象を確認します。 |
| close / exit | 決済時刻、価格、損益、理由 | TP/SL/内部決済等を分けます。 |
| Magic / Logic ID | EAやロジックの識別 | 複数EA・複数ロジックを切り分けます。 |
取引履歴だけで発注を見送った理由は分からないため、注文が少ない・途中から止まる・想定と違う時はExperts/Testerログのentry_skipやエラー記録も確認します。ログ項目名はEAごとに異なります。
ナンピンEA・GOLD・複数ロジックEAでは追加項目を確認する
| 対象 | 追加で確認すること | 理由 |
|---|---|---|
| ナンピンEA | 最大保有数、追加ロット、最大含み損、平均建値、basket決済 | 最終損益だけでは保有中の負担が見えにくいためです。 |
| GOLD / XAUUSD | digits、point、tick size/value、contract size、spread | 銘柄仕様と価格単位の違いを記録するためです。 |
| 複数ロジックEA | Magic / Logic ID別の取引数・損益 | 一部ロジックだけが結果を作っていないか確認します。 |
| コピーEA | source/destinationの履歴、ロット変換、約定価格差 | コピー元とコピー先の条件差を分けるためです。 |
バックテストレポートを読む順番
| 順番 | 確認項目 | 確認内容 |
|---|---|---|
| 1 | 検証条件 | EA版、銘柄、時間足、期間、モデル、spread、setを固定 |
| 2 | Total Net Profit / Gross Profit / Gross Loss | 全体損益と内訳を確認 |
| 3 | PF | 利益合計と損失合計の比を確認 |
| 4 | DD・資金曲線 | Balance / Equityの落ち込みと発生区間を確認 |
| 5 | 勝率・平均損益・取引回数 | 回数と金額のバランス、偏りを確認 |
| 6 | 取引履歴 | 大きな利益・損失、DD区間の取引を追跡 |
| 7 | EAログ | 発注理由・見送り理由・決済理由・エラーを照合 |
| 8 | 実環境との差 | spread、約定、口座仕様、サーバー時間、外部連携を別検証 |
この順番は優劣を決める評価スコアではなく、結果の前提から原因へ順番に追うための確認手順です。
条件を保存し、別テストと比較できる形にする
同じ結果を再確認できるように、レポート単体ではなく、EA版・set・テスター設定・ログを同じバッチとして保存します。setファイルの命名・共有・機密情報の扱いは専用記事へ分けます。
| 保存資料 | 最低限残す内容 | 注意 |
|---|---|---|
| レポート | 損益、PF、DD、取引回数、グラフ、履歴 | テスト条件が分かる名前で保存します。 |
| setファイル | 使用したInputs | 認証情報や外部URL等の機密値がある場合は共有時に確認します。 |
| テスター設定 | 銘柄、足、期間、モデル、初期資金、コスト条件 | スクリーンショットやメモでも条件を残します。 |
| ログ | Experts/Tester/Journal等 | 問題がある時は対象時刻周辺を保存します。 |
バックテストとForward・実運用実績は別の証拠です。過去データ上のテスト結果を、Forwardや実運用の結果と同一視しないでください。
損益の内訳で一部の取引への依存を確認する
総損益が同じでも、少数の大きな利益に依存している結果と、多数の小さな利益を積み上げた結果では取引分布が異なります。Gross Profit / Gross Lossだけでなく、平均利益、平均損失、最大利益、最大損失を取引履歴と合わせて確認します。
| 損益項目 | 確認すること | 追加確認 |
|---|---|---|
| 平均利益 | 利益取引1回あたりの平均的な利益幅 | 最大利益との差が極端でないか確認します。 |
| 平均損失 | 損失取引1回あたりの平均的な損失幅 | 最大損失や連続損失と合わせます。 |
| 最大利益 | 1回の大きな利益 | 全体損益が少数取引へ依存していないか確認します。 |
| 最大損失 | 1回の大きな損失 | DD発生区間・SL・内部決済の履歴を確認します。 |
| 連続損益 | 勝ち・負けの連続状態 | 特定期間の偏りやロジック停止を確認します。 |
一部の極端な取引が全体結果を左右している場合は、その取引がどの時刻・条件・ロジックで発生したかを記録します。数値を除外して見栄えを整えるのではなく、結果を作った取引として残してください。
PFを比較する時は条件をそろえる
PFは同じ検証条件の中で損益構造を確認する指標です。EA AとEA B、set Aとset B、期間Aと期間Bを比較する場合は、比較対象以外の条件をできるだけそろえてください。
| 比較 | 固定する条件 | 変える条件 |
|---|---|---|
| EA比較 | 銘柄、時間足、期間、コスト条件、初期資金 | EA本体・必要なset |
| set比較 | EA本体、銘柄、時間足、期間、コスト条件 | setの対象パラメータ |
| 期間比較 | EA、set、銘柄、時間足、コスト条件 | 開始日・終了日 |
| spread比較 | EA、set、銘柄、時間足、期間 | spread条件 |
PFが変化した時は、Gross ProfitとGross Lossのどちらが変わったか、取引回数やDDも同時に変わっていないかを確認します。PFだけを比較して原因を決めないでください。
取引回数の偏りを期間・方向・ロジック別に確認する
取引回数は単純な多い・少ないだけでなく、どの期間・方向・ロジックに分布しているかを見ます。全期間の回数が十分に見えても、特定月や特定方向へ集中している場合があります。
| 切り口 | 確認すること | 見つかる可能性がある状態 |
|---|---|---|
| 月別・期間別 | 月ごとの取引回数 | 一部期間だけに集中、途中から停止 |
| BUY / SELL別 | 方向ごとの取引回数 | 片方向だけが動作 |
| 時間帯別 | サーバー時間・セッションごとの回数 | 時間フィルターへの偏り |
| ロジック別 | Magic / Logic IDごとの回数 | 一部ロジックだけが稼働 |
| 銘柄別 | 複数シンボルEAの回数 | 特定銘柄だけが結果を作る |
途中から取引が発生していない場合は、相場条件だけでなく、認証、時間条件、データ不足、注文エラー、フィルター条件などのログも確認します。
資金曲線から急落・停滞・回復を確認する
資金曲線は最終値だけでなく、途中の形を確認します。急落、長期停滞、一部期間だけの上昇、Equityの大幅低下などが見つかったら、該当時刻の取引履歴へ戻ります。
| 状態 | 確認すること | 照合先 |
|---|---|---|
| 急落 | どの取引・決済で落ち込んだか | 最大損失、close reason、DD区間 |
| 長期停滞 | 以前の高値へ戻るまでの期間 | 取引回数、相場局面、フィルター |
| 一部期間だけ上昇 | 利益が特定局面へ集中していないか | 月別損益、取引履歴 |
| Equityだけ大幅低下 | 未決済含み損が拡大していないか | 保有ポジション、最大含み損 |
| 途中から横ばい | 取引が停止していないか | ログ、認証、時間条件 |
ナンピンEAでは保有中の状態をレポート外でも確認する
ナンピンEAやグリッドEAでは、最終的にバスケット決済されるとBalance上の損失が小さく見える一方、保有途中でEquityが大きく低下する場合があります。バックテストレポートのDDに加えて、最大ポジション数、追加ロット、平均建値、最大含み損を確認してください。
| 確認項目 | 確認する内容 | 理由 |
|---|---|---|
| 最大ポジション数 | 同時保有した最大本数 | ポジション集中を確認します。 |
| 追加ロット | 各追加注文の数量 | ロット増加パターンを確認します。 |
| 平均建値 | バスケットの平均価格 | 回復・決済位置を確認します。 |
| 最大含み損 | 未決済中の最大損失 | Balanceだけでは見えにくい負担を確認します。 |
| 証拠金維持率 | DD区間の資金余力 | ロスカット条件への接近を確認します。 |
GOLD / XAUUSDでは銘柄仕様をテスト条件として残す
GOLD / XAUUSDでは、digits、point、tick size、tick value、contract size、spreadなどの銘柄仕様がブローカーによって異なる場合があります。別環境のテスト結果を比較する時は、同じシンボル名だけで同一条件と判断しないでください。
| 仕様 | 確認する内容 | 結果への影響例 |
|---|---|---|
| digits / point | 価格表示桁とpoint値 | SL/TP・spread・距離設定の換算 |
| tick size / tick value | 価格刻みと損益換算に関係する値 | 約定価格・lot別損益 |
| contract size | 契約サイズ | lot当たりの損益・必要証拠金 |
| spread | テスト時の取引コスト | 短期売買の発注数・損益 |
| 取引時間 | 取引可能時間・休止時間 | エントリー有無や保有時間 |
EAログとレポートを照合する
レポートは結果の集計、ログはEAがその結果へ至る過程の確認に使います。レポートで大きな損益やDDを見つけたら、その時刻周辺のログを確認します。
| 確認対象 | ログ項目例 | 確認すること |
|---|---|---|
| エントリー理由 | entry_reason / signal / gate | どの条件で注文候補になったか |
| 発注見送り | entry_skip / spread_block / time_block | なぜ注文しなかったか |
| 注文結果 | order_send / retcode / fill_price | 要求と結果がどうなったか |
| 決済理由 | close_reason / exit_reason / trail_update | TP/SL/内部決済等を切り分け |
| リスク制御 | risk_block / margin_level / floating_pl | DDや証拠金で停止していないか |
ログ項目名はEAによって異なります。記事中の名称をそのまま実製品に存在する項目とみなさず、対象EAのmanualや実ログで確認してください。
相談・比較前に保存する資料
| 資料 | 内容 | 注意 |
|---|---|---|
| バックテストレポート | 損益、PF、DD、取引回数、グラフ、履歴 | 検証条件とセットで保存します。 |
| setファイル | Inputs一式 | 認証情報・URL等の機密値が含まれる場合は送付前に確認します。 |
| テスター条件 | 銘柄、足、期間、モデル、初期資金、spread等 | スクリーンショットまたはメモで残します。 |
| Experts / Testerログ | EA内部の判定・注文・決済・エラー | 対象時刻周辺を切り出します。 |
| 比較メモ | 何を比較したいか | EA差・set差・期間差など目的を一つにします。 |
実務チェック表
- EA名とバージョンを記録した
- 銘柄・時間足・期間・テストモデル・初期資金を記録した
- スプレッド・手数料・swap等のコスト条件を確認した
- setファイルを保存した
- Total Net Profit、Gross Profit、Gross Lossを確認した
- PFの分子・分母と取引回数を確認した
- Balance / Equity DDと資金曲線を確認した
- 勝率と平均利益・平均損失を合わせて確認した
- 大きな損益・DD区間を取引履歴で追跡した
- 必要に応じてEAログ・環境ログを照合した
- ナンピン・GOLD・複数ロジック等の固有項目を確認した
- バックテスト結果を将来保証として扱っていない
よくある質問
バックテストとは何ですか?
過去の価格データと指定条件を使い、EAの注文・決済・損益・資金推移などを確認する検証作業です。将来の結果を保証するものではありません。
PFとは何ですか?
Gross ProfitとGross Lossの比です。MetaTrader 5では1なら両者が等しいことを示します。値だけで判断せず、DDや取引回数も確認します。
PFが1より大きければ十分ですか?
1より大きいことはテスト期間のGross ProfitがGross Lossを上回ったという算術的な意味です。期間、取引数、DD、コスト条件などを確認しないまま品質や将来性を判断することはできません。
勝率が高ければ良いEAですか?
勝率だけでは平均利益・平均損失や最大損失を表しません。PF、DD、取引回数、損益分布と合わせて確認してください。
バックテストレポートだけ見れば十分ですか?
発注を見送った理由や内部判定はレポートだけでは分かりにくいため、問題調査では取引履歴とExperts/Testerログ等も確認します。
ドローダウンはどこで詳しく確認しますか?
Balance/Equity、Absolute/Maximal/Relativeの定義と比較方法はドローダウン専用記事へ分けています。
setファイルだけあれば同じテストを再現できますか?
setはEAの入力値を保存しますが、銘柄、時間足、期間、EA版、データ、スプレッドやコスト条件なども必要です。
ナンピンEAでは何を追加確認しますか?
最大保有数、追加ロット、最大含み損、平均建値、必要証拠金、Equity DD、basket決済の履歴を確認します。
バックテストとForwardテストは同じですか?
同じではありません。過去データ上のテストと、別期間・実時間のForwardや実運用実績は分けて記録します。
関連ページ
| 確認したい内容 | 関連ページ |
|---|---|
| 技術用語全体を確認する | EA・MT5・MQL5 技術辞典 |
| MT5 Strategy Testerの操作を確認する | MT5バックテストのやり方 |
| MT4 Strategy Testerの操作を確認する | MT4 EAバックテストのやり方 |
| 検証条件・set・ログの実務確認 | 自動売買EAのバックテストを見る前に確認すること |
| 基本用語の入口へ戻る | FX用語辞典 |
| DDの計算基準を詳しく確認する | ドローダウンとは |
| setファイルの保存・比較を確認する | setファイルとは |
| EAログの基本を確認する | EAログとは |
| Forwardと実運用実績を分けて確認する | EAフォワードテスト完全ガイド |
公式資料
公式資料はテスターの指標定義を確認するために参照します。EAFCのチェック表は、同じ条件・履歴・ログを整理するための実務手順です。
まとめ
バックテスト結果を読む時は、最初に検証条件を固定し、その上で損益、PF、DD、勝率・平均損益、取引回数、資金曲線、取引履歴、ログの順に確認します。
PFや勝率は1つの集計値です。数値だけを切り離さず、どの期間・EA版・set・銘柄・コスト条件から得られたかを一緒に保存してください。結果に疑問がある場合は、集計値から該当取引とログへ降りて原因を確認すると、比較や相談に使える検証記録になります。
お問い合わせはEAFC公式LINEへ
EAFCサイト内の記事、商品、導入前確認、設定確認、ログ確認、開発依頼前のご相談など、各種お問い合わせはEAFC公式LINEより受け付けています。
※投資助言、売買指示、利益保証、推奨ロット、推奨銘柄の案内は行っておりません。
口座番号、認証情報、Webhook URL、GAS URL、APIキーなどの機密情報は送信しないでください。
