Forex Trading3 分で読める

バックテストのやり方|FXの検証手順・見るべき数字・落とし穴

FXのバックテストのやり方を手順で解説します。手動と自動の方法、記録する数字、必要なトレード数、コストの入れ方、移動平均線の独自テストで見えた過剰最適化の例を紹介します。

バックテストのやり方|FXの検証手順・見るべき数字・落とし穴

当サイトにはアフィリエイトリンクが含まれています。リンク経由で口座開設された場合、当サイトが報酬を受け取ることがあります。 編集方針・調べ方

バックテストとは、決めた売買ルールを過去の値動きに当てはめ、ルールどおりなら取っていたトレードをすべて記録して成績を測ることです。役に立つバックテストには、明確なルール、コストの反映、十分なトレード数(100以上が目安)、そしてルール作りに使っていないデータでの確認が必要です。当サイトのテストでは、39通りの移動平均線の組み合わせから選んだ最もよい設定が、選ぶのに使った期間では +758pips、その後の約1年では +40pips でした。

このページでは、手動と自動のやり方、記録すべき数字、バックテストを実力以上によく見せてしまう落とし穴を、EURUSD の独自データを使って説明します。

バックテストで分かること、分からないこと

バックテストが答えるのは「このルールをこのデータで守っていたら、どうなっていたか」という狭い問いだけです。予測ではなく、ふるいです。コストを入れて3年分のデータで負けるルールが、信じれば勝てるようになることはまずありません。悪いアイデアを早く捨てるのには向いています。一方で、よく見えるアイデアがこの先も通用することの証明には向いていません。

分かること分からないこと
ルールが検証できるほど明確かどうか将来の成績
勝率、平均の勝ち・負け(R)連敗中に自分がどう感じるか
ドローダウンや連敗のおおよその大きさ指標発表・窓開け・障害のときの約定
コストが成績をどれだけ削るか相場の性質が今後も続くか

ここで R は、1トレードで損切りにかかったときの損失額を1とした単位です。2R の勝ちは、取ったリスクの2倍の利益という意味です。詳しくは リスクリワード をご覧ください。

手順1:他人が読んでも同じトレードになるルールを書く

2人が同じルールを読んで別のトレードをするなら、そのルールは検証できません。次の6つを書き出します。

  1. 通貨ペアと時間足。 例:EURUSD の1時間足。時間帯が関係するなら、それも書きます(取引時間 参照)。
  2. セットアップの条件。 「強いトレンド」はルールになりません。「4時間足の終値が上向きの50EMAより上」ならルールです。上位足の決め方は マルチタイムフレーム分析 で説明しています。
  3. エントリーのきっかけ。 どの足の、どの価格で入るか。
  4. 損切り。 アイデアが否定される位置。たとえば直近の安値の下に、ATR(平均的な値幅を示す指標)の少しの余裕を足した位置です。ATR と 損切り をご覧ください。
  5. 決済。 固定の利確、建値(BE)への移動、部分利確、トレーリング。決済の方法で成績の形が大きく変わることは トレーリングストップ で紹介しています。
  6. ポジションサイズ。 毎回、資金の一定割合をリスクにします。こうすると結果をすべて R で比べられます(1トレードのリスク 参照)。

オーダーブロック や 需給ゾーン のような裁量の要素がある手法も検証できます。ただし、同じチャートを2回見たら同じゾーンを引けるくらい、細かいチェックリストにしておく必要があります。

手順2:検証の方法を選ぶ

手動のバックテスト(バーリプレイ)

チャートを過去の日付に戻し、右側のローソク足を隠して1本ずつ進めます。TradingView のバーリプレイや、MetaTrader のストラテジーテスターのビジュアルモードがこの方法です。ルールが成立したら、次の足を見る前にトレードを記録します。

長所は、プログラムが要らず、セットアップが実際にどう見えるかが身につき、判断を含むルールも試せることです。短所は時間がかかること、うっかり先の値動きを見てしまいやすいこと、そして多くの人が30トレードほどでやめてしまうことです。

自動のバックテスト(プログラム)

ルールをプログラムにします。MT4/MT5 のストラテジーテスターで EA(自動売買プログラム)を動かす、TradingView でストラテジーのスクリプトを書く、ダウンロードした価格データを Python で処理する、などの方法があります。長所は、数千トレードを数秒で検証でき、後知恵が入らないことです。短所は、午後のうちに何百通りも試せてしまうことです。これが過剰最適化の入り口になります(下の例を参照)。

記録用の表

どの方法でも、1トレードを1行に記録します。

日時通貨ペア方向エントリー損切り利確決済結果(R)メモ
2026/10/28 14:00 UTCEURUSD買い1.113211.112471.114691.11469+2.0強気OBへの戻り

これは リスクリワード のページで使った実際の例で、損切り幅は7.4pips、2R の利確に先に届きました。ただ、1回の好結果は何も証明しません。記録の意味は、そのあとの99トレードにあります。

手順3:見るべき数字を出す

指標計算・意味見る理由
トレード数件数100未満だと、ほかの数字が当てになりません
勝率勝ち数 ÷ トレード数勝ちの大きさと合わせて初めて意味を持ちます
平均の勝ち・平均の負け(R)勝ち・負けそれぞれの平均実際に取れたリスクリワードが分かります
期待値勝率 × 平均の勝ち − 負ける率 × 平均の負け1トレードあたりの平均の結果。コスト込みでプラスが必要です
プロフィットファクター総利益 ÷ 総損失1.0を超えればプラス。ぎりぎりならコストで消えます
最大ドローダウン資金の山から谷までの最大の下落耐えなければならない幅が分かります
最長連敗件数1トレードのリスクを決める材料になります

期待値の例を挙げます。勝率45%、平均の勝ちが1.5R、平均の負けが1R の手法なら、0.45 × 1.5 − 0.55 × 1 = +0.125R です。この条件で、リスク1%、200トレードを2万回シミュレーションしたところ、最大ドローダウンの中央値は11.7%、最長連敗の中央値は8でした。200トレード後に元の資金を下回った試行も8.9%ありました。本当に優位性があっても、200トレードではこれだけ運の幅が出ます。短いバックテストは、その幅のどちらの端にも転びえます。ドローダウン もあわせてご覧ください。

同じ手法をリスク1%と5%で200トレード行ったシミュレーションの資産曲線40本を対数目盛りで並べた図
期待値 +0.125R の同じ手法による200トレードのシミュレーション(40本)。ルールが同じでも曲線はばらばらになる。短いバックテスト1回では判断できない理由がここにある。

独自テスト:EURUSD 4時間足の移動平均線クロス

EURUSD の4時間足で、単純な売買ルールを試しました。短期 EMA(指数平滑移動平均線)が長期 EMA を上抜けたら買い、下抜けたら売りに切り替え、常にどちらかのポジションを持ちます。切り替えは次の足の始値で行い、スプレッドとして1往復1.2pips を差し引きました。データは2つに分けています。

  • インサンプル: 2024年1月15日〜2025年9月16日(設定を選ぶのに使用)
  • アウトオブサンプル: 2025年9月16日〜2026年10月30日(最後まで見ない)

短期5〜30、長期20〜200の範囲で39通りの組み合わせを試しました。インサンプルのコスト込みの結果は次のとおりです。

項目結果
試した組み合わせ39通り
コスト込みでプラス14通り(36%)
組み合わせの中央値−158pips
最もよい組み合わせEMA 20/200:+758pips(コスト前 +780pips)、18トレード

このEMA 20/200 を設定を変えずにアウトオブサンプルで動かした結果は、+40pips(コスト前 +55pips)、12トレード、勝率50% でした。

EURUSD4時間足のEMA20/200クロスの累積pips。青のインサンプルは約760pipsまで増え、オレンジのアウトオブサンプルは約40pips増で終わる
EURUSD 4時間足、EMA 20/200 クロス、1トレード1.2pipsのコスト込み。青はインサンプル(2024年1月〜2025年9月)で設定を選んだ期間、オレンジはアウトオブサンプル(2025年9月〜2026年10月)で、ほぼ横ばいに終わった。

青の線を見ると、「一番よい」設定でも最初の10トレードほどで約400pipsのマイナスを抱え、利益の大半は2〜3回の大きなトレンドから来ています。オレンジの線は、いったん上がったあと200pips以上を失い、最後に戻して約40pipsのプラスで終わりました。ここから3つのことが言えます。

  1. 多くの設定から一番よいものを選ぶと、成績は実力以上に見えます。 大半の組み合わせが負けている中で勝者だけを残すと、その成績の一部は「その期間にたまたま合った」運です。これを過剰最適化、またはカーブフィッティングといいます。
  2. 18トレードは少なすぎます。 青の線から2トレード抜くだけで、結論が変わってしまいます。
  3. コストは取引回数に比例して効きます。 このテストでは18トレードで22pipsがコストでした。同じ考え方を1時間足や15分足で行えば取引回数が何倍にも増え、同じスプレッドが成績の大きな部分を占めます。

このテストは、移動平均線が役に立たないと言っているのではありません。インサンプルで勝った1つの設定は証拠にならない、ということです。指標そのものは 移動平均線 で解説しています。

バックテストをよく見せてしまう落とし穴

  • 過剰最適化。 パラメーターが多すぎる、試した組み合わせが多すぎる状態です。ルールは少なく、数値はきりのよいものにし、近い設定でも同じように機能するかを確かめます。20/200 だけがよく、25/200 や 20/150 が大きく負けるなら疑ってください。
  • 未来の情報を使う(ルックアヘッドバイアス)。 エントリーの時点では分からない情報を使ってしまうことです。朝のエントリーにその日の高値を使う、3本後に確定するスイングの高値・安値を使う、始値で入るのに終値の条件を使う、などが典型です。
  • コストを入れない。 スプレッド、手数料、スワップを入れます(スワップ 参照)。スプレッドは指標発表や週明け・日付が変わる前後に広がり、まさにその時間にセットアップが出ることもあります。スプレッド をご覧ください。
  • 約定を完璧だと考える。 値動きが速いと、損切りは指定した価格より不利な価格で約定します。スリッページの分を見込んでおきます(スリッページ 参照)。
  • データの質。 無料の1時間足データには欠けや異常な値が混じることがあり、業者ごとの価格もわずかに違います。不自然な足は確認します。株で問題になる生存者バイアスは主要通貨ペアではあまり問題になりませんが、検証期間の選び方は重要です。トレンドが続いた3年と、レンジが続いた3年は別物です。
  • 途中でルールを変える。 負けを見てからルールを直したら、最初からやり直します。

ウォークフォワードとフォワードテスト

ウォークフォワードテストは、インサンプルとアウトオブサンプルの分け方を、期間をずらしながら何度も繰り返す方法です。ある期間で設定を選び、次の期間で試し、少しずらしてまた繰り返します。「一番よい」設定が毎回大きく変わるなら、それは警告のサインです。

フォワードテストは、固めたルールをデモ口座やごく小さなロットで、少なくとも数週間リアルタイムで動かすことです。バックテストでは見えない問題が分かります。離席していてエントリーを逃す、連敗のあとに迷う、自分が取引する時間帯の実際のスプレッド、などです。バックテストとの比較は金額ではなく R で行います。ルールを守る難しさは トレード心理 で説明しています。

バックテストのチェックリスト

  1. 他人が読んでも同じトレードになるルールを書いた。
  2. 始める前に、データをインサンプルとアウトオブサンプルに分けた。
  3. コストとスリッページの見込みを入れた。
  4. 100トレード以上を R で記録した。
  5. 期待値、プロフィットファクター、最大ドローダウン、最長連敗を出した。
  6. 近い設定でも成績が安定しているか確かめた。
  7. アウトオブサンプルは設定を変えずに一度だけ動かした。
  8. 実際の資金の前に、デモ口座でフォワードテストをした。リスク率は、測ったドローダウンから決めた。

よくある間違い

  • 20トレードほどの好成績でやめる。 サンプルが小さいと、たいていの手法はよく見えます。
  • うまくいくまで試し続ける。 試す数が増えるほど、勝った設定が運である可能性が高まります。
  • pipsだけで測る。 60pipsの損切りで30pipsの勝ちは +0.5R ですが、10pipsの損切りなら同じ30pipsが +3R です。R で記録します。
  • 負けた期間を飛ばす。 「その週は取引しなかったはず」は後知恵です。
  • バックテストのドローダウンを最悪の場合だと考える。 将来はもっと悪いこともあります。上のシミュレーションのとおり、優位性があっても運の幅は大きいです。
  • アウトオブサンプルを見てルールを直す。 直した時点で、そのデータはインサンプルになります。

当サイトのデータ

移動平均線クロスのテストは、Yahoo Finance の1時間足(2024年1月〜2026年10月)を用いた OnForex の分析です。EURUSD を4時間足にまとめ、1往復1.2pips のコストを差し引いています。スリッページとスワップは入れていません。期待値とドローダウンの数字は、OnForex のモンテカルロ・シミュレーション(2万回、1回200トレード、勝率45%、リワード1.5R)によるものです。どちらも過去のデータでルールを試したもので、予測や特定の設定のおすすめではありません。

関連ページ

重要事項: 本ページに掲載する Exness(運営会社 Nymstar Limited)は、2023年4月21日付で金融庁から無登録業者として警告を受けています。無登録業者との取引では、出金拒否などのトラブルが起きても日本の法令による保護を受けられないおそれがあります。当サイトは紹介リンクから報酬を受け取ることがあります。FXは元本を超える損失が出ることもあり、利益を保証するものではありません。

Exness の公式情報

口座の種類・取引条件・提供地域は、Exness 公式サイトで確認できます。

Exness 公式サイトを見る

FX・CFD取引には高いリスクがあり、投資元本を失う可能性があります。

Exness(運営会社 Nymstar Limited)は日本の金融商品取引業の登録を受けておらず、2023年4月21日付で金融庁から警告を受けています。出金拒否などのトラブルが起きても、日本の法令による保護を受けられないおそれがあります。

リスク警告:FXやCFDの取引は損失リスクが高く、元本を超える損失が出ることもあります。実際の成績でもバックテストでも、過去の結果は将来の成績を保証しません。このページは教育目的で、投資助言ではありません。

関連記事

Forex Trading2026-10-31

1トレードのリスクは何%?2%ルールとロット数の決め方

1トレードのリスクの考え方と、1%・2%ルール、資金に応じたロット数の計算手順、リスク率別のドローダウンのシミュレーション結果、ケリー基準の注意点を具体例で解説します。

続きを読む1 min
Forex Trading2026-11-01

マルチタイムフレーム分析とは?MTF分析の時間足の組み合わせと手順

マルチタイムフレーム分析(MTF分析)を解説。上位足と下位足の役割、スタイル別の時間足の組み合わせ、トップダウンの手順、上位足に合わせると成績が変わるかの実測データをまとめます。

続きを読む1 min
Forex Trading2026-11-01

ワイコフ理論とは?蓄積・スプリング・分配をデータで検証

ワイコフ理論の3つの法則、蓄積(アキュムレーション)と分配(ディストリビューション)の各フェーズ、スプリングとアップスラストを解説。スプリングのあとレンジ上限に届いた割合も独自データで公開します。

続きを読む1 min
Forex Trading2026-04-18

FX取引戦略完全ガイド2026:トレーダー別に選ぶ最適な手法

トレンドフォロー、レンジトレード、スキャルピング、スイングトレード、キャリートレードなど主要なFX取引戦略をわかりやすく解説。エントリーとエグジットのルールも明示。

続きを読む1 min
Forex Trading2026-04-18

FX経済指標カレンダーの見方と活用法|重要指標ランキング【2026年版】

FXトレーダー必須ツール「経済指標カレンダー」の見方を徹底解説。雇用統計・消費者物価指数・政策金利など重要度の高い指標をランキング形式で紹介。発表前後の値動きパターンと実践的な活用法も解説します。

続きを読む1 min
Forex Trading2026-10-31

プライスアクションとは?インジケーターなしでローソク足を読む方法

プライスアクションの意味と、ローソク足・スイング・水準の読み方、ピンバー・包み足・インサイドバーの見方、市場構造とliquidityの使い方を、独自の検証データと実チャートで解説します。

続きを読む1 min