Home > Blog > 【検証実録】Python WF で PF=9-13 → MT5実機で PF=0.21-0.77 — NY Session 戦略 4通貨で 92-98% 乖離が判明

実機検証PythonBTウォークフォワードNYセッション検証方法論

【検証実録】Python WF で PF=9-13 → MT5実機で PF=0.21-0.77 — NY Session 戦略 4通貨で 92-98% 乖離が判明

Published: Read time: about 2 min
🇯🇵

This article is in Japanese only. English articles are coming soon.

【検証実録】Python WF で PF=9-13 → MT5実機で PF=0.21-0.77 — NY Session 戦略 4通貨で 92-98% 乖離が判明

FXEA365 運営者です。

本記事は 2026-05-29 に NY Session Breakout 戦略を Python Walk-Forward と MT5実機14年BT で比較検証した結果、92-98% の PF 乖離を確認した経緯を全公開します。

これは 「Python BT で派手な数値が出ても、MT5実機で動くとは限らない」 ことを業界レベルで再証明する重要データです。

戦略仕様 — アジアレンジ → NYセッション ブレイクアウト

項目設定
タイムフレームH1
Asia レンジ0-4h UTC (アジア時間レンジ形成)
トレード時間15-20h UTC (NY セッション中)
エントリアジア時間 High/Low ブレイク
エグジットSL = ATR × 0.5 / TP1 = ATR × 0.5 (50%決済) / TP2 = ATR × 7.0
ロットRisk 2% (CASCADE 半複利)

理論的にはエッジがある戦略:

  • NYセッション (UTC 15-20時 = JST 24-翌5時) は機関投資家アクティブタイム、流動性集中
  • アジアレンジは自然な参照値、その上下抜けは方向感の強いシグナル
  • 2段階決済 (TP1=ATR×0.5/TP2=ATR×7) で偽ブレイク防御 + トレンド捕捉

Python Walk-Forward 結果 — 派手な数値

2026-05-27 から 28 にかけて scripts/gen_h1_ny_walkforward.py9通貨の WF (Train 60% / Test 40%) を実行:

Pairtrain PFtest PFtest DDtest WR一貫性OOS生存率
EURUSD7.429.035.47%79.6%0.82500/500
GBPUSD11.7813.0031.85%84.2%0.91500/500
XAUUSD7.7611.9613.18%80.9%0.65(前回検証)
EURJPY9.417.937.46%79.2%0.84500/500
GBPJPY9.748.2412.30%79.3%0.85500/500
USDJPY6.1211.6236.24%80.7%0.53(前回検証)
CADJPY7.595.7632.81%75.9%0.76499/500
AUDJPY8.496.3227.33%74.4%0.74351/500
NZDJPY9.226.5115.05%70.6%0.71500/500

9通貨全てで PF≥5 × 勝率≥70% × OOS生存率500/500

業界の慣例なら 「夢のような汎用エッジ発見!」「全通貨ロードマップで lineup 拡張!」 とサイト公開すべき結果。

ところが — MT5実機14年BT (USDJPY_NY_BREAKOUT_EA.mq5 v2.0)

CLAUDE.md「実機検証絶対必須ルール」に従い、Python WF で最も強かった4通貨を MT5実機14年BTで再検証:

PairPython WF (test)MT5実機14年BT乖離率口座結果
USDJPYPF 11.62 / DD 36%PF 0.77 / DD 99.72%−93%-$9,966 (ほぼ全損)
EURUSDPF 9.03 / DD 5.47%PF 0.73 / DD 99.84%−92%-$9,984 (ほぼ全損)
GBPUSDPF 13.00 / DD 31.85%PF 0.21 / DD 101.12%−98%-$10,112 (口座溶解)
EURJPYPF 7.93 / DD 7.46%PF 0.49 / DD 100.01%−94%-$10,001 (口座溶解)

4通貨全敗、Python WF との PF 乖離は 92-98%

なぜここまで乖離するのか — 5つの推論

1. スプレッド/スリッページ未考慮

Python BT は close-to-close ベースで計算。実機は spread (0.5-2 pips) + slippage で各約定が劣化。1取引あたり 1-3 pips のロスが累積。

2. データ品質

Python は Dukascopy M5 → H1 集約データ。MT5実機は broker tick データ (より精緻な価格動)。同じ「H1 ローソク足」でも内部の値動きが異なる。

3. 約定モデル乖離

Python は理想約定 (希望価格で必ず約定)。MT5実機は volume/spread 制約 で希望価格と実約定価格が乖離。特に高ボラ時間帯 (NY オープン直後等) は顕著。

4. ATR×2段階TP の実機脆弱性

理論上美しい設計だが、TP2=ATR×7 は実機で達成しない

  • Python BT: 過去データを「結果論で」最適 SL/TP 計算
  • 実機: SL=ATR×0.5 が頻発、TP2=ATR×7 までトレンド続かず損切連発

5. CASCADE 半複利の実機悪影響

Lot を残高に応じて動的調整する設計が、損失局面で被害を加速:

  • 残高 $10K → Risk 2% → Lot 0.2
  • 連敗で残高 $8K → Risk 2% → Lot 0.16 (微減)
  • 連敗で残高 $5K → Risk 2% → Lot 0.10 (損失抑制効かない)

理論上の「複利マジック」が実機では逆作用。

業界レベルの教訓

1. Python BT/Walk-Forward は MT5実機の参考にならない

  • 「PF≥5 × WR≥70% × OOS生存率 500/500」も実機では無意味
  • WF の「robust」「OOS頑健」判定は Python データ内での頑健性 評価、実機代理ではない

2. 「経済合理性ある仮説」も実機検証必須

  • 「機関投資家のNY時間アクティブ」「アジアレンジ上下抜けは方向シグナル」は 理論的に正しい
  • しかし MT5実機14年で全敗 = 理論と実機の乖離が大きい

3. CLAUDE.md「実機検証絶対必須ルール」の根拠強化

  • 25EA + NY Session 4本 = 計29本検証で Python BT は信頼不可 が完全に確定
  • これは FXEA365 のブランド軸 (「派手数値ではなく実機実証」) を業界レベルで支える根拠データ

FXEA365 の判断

NY Session 戦略 9通貨は MT5実機検証 全敗のため、サイト公開不可

公開ラインナップ維持: EURJPY ASIA / GBPJPY ASIA / BLAZE GOLD / AUDCAD PEACE-CLONE の主力4本柱のみ。

合計年率 +35.5% (Risk5%) は決して派手ではないが、14年実機BTで本物に動いた確実な数値

業界提言 — Python BT 利用者へ

Python BT を否定するものではありません。ただし以下の使い分けを推奨します:

Python BT の正しい用途推奨度
戦略アイデアの初期検証 (この方向性は脈ありか)✅ 推奨
パラメータ範囲のスクリーニング (どこを精密検証するか)✅ 推奨
WF頑健性確認 (Train/Test分離で過適合チェック)✅ 推奨
サイト掲載数値の根拠禁止 (実機と乖離)
「OOS生存率」を販売軸に使う禁止 (実機代理にならない)
EA 公開判定禁止 (MT5実機検証必須)

Python BT の数値はあくまで「初期スクリーニング指標」。本番公開には MT5実機検証が必要です。

関連リンク


FXEA365 — 派手な公称数値ではなく、MT5実機14年BTで本物に動く戦略のみを無料公開しています。

5-Day Email Course (Free)

Get one email a day covering the essentials of FX automated trading, how to read backtests correctly, and tips for choosing a broker.

* Privacy strictly protected. You can unsubscribe at any time.