FXで手法を学んでも、実際のチャートを前にすると「この形は入っていいのか」「前回と同じ条件なのか」が曖昧になることがあります。
そこで役立つのが過去検証です。
過去検証では、先にトレードルールを決め、そのルールを過去のチャートへ同じように当てはめていきます。目的は、過去の利益を大きく見せることではありません。自分の判断基準を言葉にし、同じ条件なら同じ判断ができる状態へ近づけることです。
検証した結果が良くても、将来の成績が保証されるわけではありません。過去データを使った仮想的な結果には、後から相場を見られることや、実際の取引で発生する心理・執行条件などを完全には再現できない限界があります。
ここでは、裁量トレードを想定して、過去検証を始める前の準備から、記録、集計、再検証までの基本的な流れを整理します。
FXトレードの検証とは
過去検証(バックテスト)で確かめること
過去検証は、あらかじめ決めた売買ルールを過去の相場へ適用し、「そのルールを同じ条件で使ったとき、どのような結果や特徴が出ていたか」を確認する作業です。
たとえば、エントリー条件、損切り条件、利確条件を固定し、過去チャートを1本ずつ進めながら同じ基準で判定します。結果は勝敗だけでなく、損切り幅、利確幅、連敗、相場環境なども同じ項目で記録します。
自動売買の分野でも考え方は近く、MetaTrader 5のStrategy Testerは、EA(Expert Advisor)を過去の価格データ上で動かし、仮想取引の結果を確認する機能として公式に説明されています。
ただし、この記事で扱うのはEAの設定方法ではありません。裁量トレードで「自分のルールを過去チャートへ一貫して当てはめる方法」が中心です。
検証と「振り返り」は別工程
FX de Rebootでは、「検証」と「振り返り」を分けて考えます。
検証は、主に実トレード前やルールを変更したときに、過去チャートを使ってルールや条件を確かめる工程です。
一方の振り返りは、実際に行ったトレードを後から確認し、「決めたルールを守れたか」「エントリーや決済の判断にズレがなかったか」を見直す工程です。
詳しい進め方は、FXトレードの振り返り方で解説しています。
過去検証でルールを整え、実トレード後の振り返りで実行との差を確認する。この2つを分けると、手法そのものの問題と、ルールを守れなかった問題を混同しにくくなります。
検証を始める前にトレードルールを固定する
相場環境・エントリー・決済条件を言語化する
検証を始める前に、「どんな場面なら取引するのか」をできるだけ具体的にします。
少なくとも、次のような項目は先に決めておきます。
・対象にする通貨ペア
・使用する時間足
・相場環境を判断する条件
・エントリー条件
・損切り条件
・利確条件
・取引しない条件
たとえば「上昇トレンドで押し目になったら買う」だけでは、人によって押し目の判断が変わります。
どの時間足で上昇トレンドと判断するのか、どの価格帯まで戻ったら候補にするのか、どの形が出たらエントリーするのかまで決めると、同じ条件を繰り返し確認しやすくなります。
完全に機械的なルールにできない裁量部分が残る場合もあります。その場合は、曖昧なままにせず「ここは裁量判断」と分けて記録しておく方が、後から条件を見直しやすくなります。
途中で判断基準を変えない
検証中に結果が悪いと、条件をその場で変えたくなります。
しかし、10回目までは条件A、11回目から条件Bというように基準を変えると、集計した結果が何のルールを表しているのか分からなくなります。
変更したい点が見つかったら、いったん現在の条件で区切りまで検証します。そのうえで変更点を1つ決め、別の検証としてやり直します。
「良い結果に合わせてルールを変える」のではなく、「同じルールを同じように適用した結果を比べる」ことが、再現性を確認するうえで大切です。
FXの過去検証を進める基本手順
1. 検証するテーマと仮説を1つ決める
最初に、「今回何を確かめたいのか」を1つに絞ります。
例としては、「特定の相場環境だけに限定した方が結果は安定するか」「このエントリー条件では損切り幅が広くなりすぎないか」などです。
一度に複数の問題を検証すると、結果が変わった理由を特定しにくくなります。
2. 通貨ペア・時間足・期間などの条件を決める
次に、検証対象を固定します。
通貨ペア、時間足、検証する期間、取引時間帯、除外条件などを先に決めます。
期間や回数に「誰にでも当てはまる合格ライン」はありません。取引頻度が低い手法と高い手法では、同じ期間でも得られる取引回数が違うためです。
大切なのは、検証途中で都合よく期間や条件を変えず、何を対象にした結果なのかを後から説明できる状態にしておくことです。
3. 過去チャートへ同じルールを適用する
条件を決めたら、過去チャートを順番に確認します。
このとき注意したいのが、未来の値動きを見てから判断しないことです。
チャートの右側にその後の値動きが見えている状態では、「ここは勝つからエントリー」「ここは負けるから見送り」と無意識に判断を変えやすくなります。
可能であれば、先の値動きを隠す、チャートを1本ずつ進めるなど、実際のトレードに近い形で判断します。
4. 結果を同じ項目で記録する
検証では、毎回同じ項目を残します。
たとえば次のような項目です。
・日時
・通貨ペア
・時間足
・相場環境
・エントリー条件
・エントリー価格
・損切り位置と損切り幅
・利確位置と利確幅
・勝敗
・利益幅と損失幅の比率(リスクリワード)
・見送り条件に該当したか
・裁量判断が入った箇所
筆者の実践例では、MT4を使ってUSD/CADを2016年から2023年まで1年単位に分けて検証し、各トレードをスライドとスプレッドシートの両方へ残しています。
流れは「1トレード検証したら、その場で記録する」です。エントリー時と決済後のチャート画像をスライドへ残し、なぜその場面を選んだのか、決済後に何が分かったのかを言葉で整理します。その数値結果は、間を空けずにスプレッドシートへ転記します。
スライドは「判断の理由を残す場所」、スプレッドシートは「数字の事実を残す場所」と役割を分けています。この2つをセットにすると、後から成績が良かった年・悪かった年を数字で確認しつつ、チャートを見返して原因を検討できます。
筆者は検証時に複数画面を使い、日足・4時間足・1時間足など複数の時間軸を同時に確認しています。ただし、重要なのはモニター枚数や特定ソフトではありません。検証条件を固定し、先の値動きをできるだけ見ない状態で、同じ手順を繰り返せることです。
検証中に損切り幅をMT4で測る場合は、「MT4で損切り幅を測る方法」で十字カーソルとpips換算の方法を確認できます。
5. 集計して傾向を見る
記録がたまったら、1回ずつの勝ち負けではなく全体を見ます。
確認したいのは、単純な勝率だけではありません。
・取引機会はどのくらいあったか
・平均的な利益と損失のバランスはどうか
・連敗はどの程度発生したか
・特定の相場環境で結果が偏っていないか
・特定の時間帯や通貨ペアだけ極端に違わないか
・ルールどおりに判定できない場面が多くないか
数字を見るときは、それぞれの意味を分けて考えます。
・勝率:全トレードのうち勝ちトレードが占める割合。勝率だけで手法の良し悪しは決まりません。
・リスクリワード:1回の損失に対して、どの程度の利益を狙う設計かを見る比率。低いほど利益を残すために高い勝率が必要になりやすく、高いほど1回の勝ちが全体へ与える影響が大きくなります。
・プロフィットファクター(PF):総利益を総損失で割った比率。MetaTrader 5公式では、1.0なら総利益と総損失が同額と説明されています。1.0未満なら、その検証期間では総損失が総利益を上回っています。
・Expected Payoff(期待値):1トレードあたりの平均損益を見る指標。プラスなら、その検証サンプルでは1回あたり平均がプラスだったという意味です。ただし、将来も同じ平均値が続く保証ではありません。
・最大ドローダウン:資産や残高のピークから、その後の底までどれだけ落ちたかを見る指標。自分が実運用で耐えられるリスクかを考える材料になりますが、「10%なら安全」「20%までなら普通」といった一律の合格ラインは置きません。
・最大連敗数:その検証期間で最も長く続いた連敗。実トレードで同程度の連敗が起きたときの心理的な負担を考える材料になります。ただし、過去の最大連敗が将来の上限になるわけではありません。
・年ごとの成績:長期間をまとめて1つの数字にせず、2019年、2020年のように年単位でも分けて見ます。全期間ではプラスでも、特定の年だけ極端に良い、または悪い場合があるためです。
・利益のばらつき:一部の大きな勝ちだけで全体成績が支えられていないかを確認します。平均値だけでなく、利益がどの程度ばらついているかを見ると、手法の特徴を把握しやすくなります。
こうした項目を並べると、「勝率が高いから良い」「負けたから手法が悪い」という単純な判断を避けやすくなります。
6. 変更点を1つ決めて再検証する
改善点が見つかったら、変更する条件を1つに絞ります。
たとえば、相場環境の条件だけ変える、エントリー条件だけ厳しくする、利確条件だけ比較する、といった進め方です。
複数の条件を同時に変更すると、結果が改善しても何が効いたのか分かりません。
変更前と変更後を比較できる形で残すと、検証が「なんとなく良さそうな設定探し」になりにくくなります。
検証で記録・確認したい主な項目
勝敗だけでなくリスクとリターンを見る
勝率だけでは、トレードルールの特徴を十分に判断できません。
たとえば勝つ回数が多くても、1回の損失が大きければ全体では利益が残らない場合があります。反対に勝率が低めでも、利益が損失より大きい取引が多ければ結果は変わります。
そこで、損切り幅と利確幅、利益幅と損失幅の比率(リスクリワード)も同じ基準で記録します。
「何回勝ったか」だけでなく、「どのくらいのリスクを取って、どのくらいのリターンになったか」をセットで見る方が、ルールの特徴を把握しやすくなります。
連敗・相場環境・条件別の偏りを見る
平均値だけを見ると、途中でどのような負け方をしたかが見えません。
連敗がまとまって発生した場面や、レンジ相場、強いトレンド相場など、相場環境ごとの違いも記録しておくと、実際に運用するときの負担を想定しやすくなります。
ただし、過去に最大3連敗だったから今後も4連敗以上は起きない、という意味ではありません。
過去データは「その期間ではこうだった」という記録です。将来の上限を決めるものではありません。
数字だけで手法を断定しない
検証結果が良く見えても、それだけで「勝てる手法」と断定しない方が安全です。
過去検証には、後から結果を知った状態で判断しやすいこと、実際の約定価格やスプレッド、心理状態などを完全には再現できないことがあります。
また、条件を細かく調整しすぎると、検証した期間にだけ合うルールになる可能性があります。
MetaTrader 5でも、パラメータを過去データへ合わせすぎる「over-optimization(過剰最適化)」への対策として、別期間で確認するForward testingが用意されています。
裁量トレードでも、過去検証で良かったという理由だけで将来の結果を決めつけず、条件を固定したまま別の期間でも確認する視点が役立ちます。
過去検証で避けたい失敗
未来の値動きを見ながら判断する
過去チャートの右側が見えていると、勝つ場面だけを選びやすくなります。
検証時点では知り得ない情報を使って判断すると、実際のトレードでは再現できません。
可能な範囲で未来の値動きを隠し、その時点で確認できる情報だけを使います。
結果に合わせてルールを途中変更する
負けを減らすために、検証途中で条件を追加すると結果は良く見えやすくなります。
条件変更自体が悪いわけではありません。問題は、変更前と変更後を同じデータとして混ぜることです。
ルールを変えたら、別バージョンとして記録し直します。
複数条件を同時に変える
エントリー条件、損切り、利確、時間帯を一度に変えると、改善した理由を判断できません。
変更は1つずつ行い、前の条件と比較できる形にします。
過去結果を将来の保証として扱う
過去検証は、将来の利益を保証するものではありません。
NFA(全米先物協会)は、販促資料で仮想成績を扱う際の注意として、仮想的な結果は実際の取引そのものではなく、後知恵の影響を受けやすいうえ、流動性・スリッページ・実際の金融リスクなどを完全には反映できないと説明しています。
過去検証は「この条件なら必ず勝てる」と証明する作業ではなく、「このルールを過去の条件へ適用したとき、どんな特徴があったか」を把握するために使います。
検証結果を次の改善へつなげる
仮説→検証→評価→再検証を小さく回す
検証は、一度で完成させる必要はありません。
仮説を1つ立て、条件を固定して検証し、結果を評価する。変更するなら1点だけ変え、もう一度同じ手順で確認する。
この小さな繰り返しの方が、毎回大きくルールを作り直すより、何が変わったのかを追いやすくなります。
検証結果は「完成した正解」ではなく、次の判断材料として保存します。
実際のトレード後は「振り返り」で別に確認する
過去検証でルールが整理できても、実際のトレードでは別の問題が起こります。
エントリーを見送った、損切りを動かした、予定より早く利確した、ルール外の場面で入った、といった実行上のズレです。
これは過去検証だけでは確認できません。
実トレードを始めた後は、「ルール自体がどうだったか」と「自分がルールどおり実行できたか」を分けて振り返ります。
検証と振り返りを分けて記録すると、改善すべき対象が見えやすくなります。
まとめ
FXの過去検証で最初にやることは、過去チャートを大量に見ることではありません。
先にトレードルールを言葉にして固定し、その条件を過去チャートへ同じように適用できる状態を作ることです。
基本の流れは、テーマを1つ決める、条件を固定する、過去チャートへ適用する、同じ項目で記録する、集計する、変更点を1つ決めて再検証する、という順番です。
過去の結果が良くても将来の利益は保証されません。だからこそ、数字を都合よく整えるのではなく、条件と結果を再現できる形で残すことに意味があります。
まずは、自分が普段使っているトレードルールを「相場環境・エントリー・損切り・利確・見送り条件」に分けて書き出すところから始めてください。
検証後に実トレードへ移す場合は、損切り幅と許容損失額から適正ロットを決め、検証とは別に資金管理を行います。
FAQ
Q1. FXの過去検証は何回やれば十分ですか?
A. 一律に「○回で十分」と決めることはできません。時間足や取引頻度によって、同じ期間でも発生する取引機会が違います。回数だけを目標にするより、同じ条件で記録し、複数の相場環境を含む結果として比較できる状態を作ることを優先します。
Q2. FXの過去検証は何年分やればよいですか?
A. 誰にでも当てはまる固定年数はありません。短期足と長期足では必要なデータ量も取引機会も異なります。期間を決めたら途中で都合よく変更せず、どの期間・条件の結果なのかを明確にして比較します。
Q3. 過去検証で勝率が高ければ実トレードでも勝てますか?
A. 保証されません。過去検証には後知恵の影響や、実際の取引コスト、約定、心理状態などを完全に再現できない限界があります。勝率だけでなく損益のバランスや連敗、相場環境ごとの偏りも確認し、過去結果を将来の保証として扱わないことが必要です。
Q4. 過去検証とMT5のStrategy Testerは同じものですか?
A. 目的には共通点がありますが、使い方は異なります。MetaTrader 5のStrategy Testerは、主にEAを過去の価格データ上でテスト・最適化する機能です。この記事では、裁量トレードのルールを過去チャートへ手動で適用する検証を中心に扱っています。
Q5. 検証とトレードの振り返りは何が違いますか?
A. 検証は、主に実トレード前やルール変更時に過去チャートで条件を確かめる工程です。振り返りは、実際に行ったトレードを後から確認し、ルールどおりに判断・実行できたかを見直す工程です。両者を分けると、手法の問題と実行の問題を整理しやすくなりま


