失敗ログ

ゴールドEAで早朝スプレッドに削られた検証

ゴールドのスキャルピングEA。バックテストPFは1.6。実運用に入れたら、毎朝5時〜7時(日本時間)の取引で少しずつ負け続けた。 月間で見ると、早朝の損失がロンドン〜NY時間の利益を食いつぶしていた。 手法: ゴールド(XAUUSD)のボリンジャーバンド逆張り 時間足: M5 バックテスト条件: スプレッド固定 2.0pips、手数料込み バックテストPF:

Read this for 壊れた条件を、次の検証に使う。

失敗ログは反省文ではなく、過剰最適化や運用停止の条件を先に見つけるための材料です。

Category 失敗ログ

spread

ゴールドEAで早朝スプレッドに削られた検証

ゴールドのスキャルピングEA。バックテストPFは1.6。実運用に入れたら、毎朝5時〜7時(日本時間)の取引で少しずつ負け続けた。

月間で見ると、早朝の損失がロンドン〜NY時間の利益を食いつぶしていた。

EA概要

何が壊れたか

壊れた点: 早朝スプレッドの実測

リアル口座で2週間分のスプレッドを記録した結果:

時間帯(日本時間)平均スプレッド最大スプレッド
16:00〜翌1:00(ロンドン〜NY)1.5 pips3.0 pips
9:00〜16:00(東京)2.5 pips5.0 pips
5:00〜7:00(早朝)8.0 pips25.0 pips
1:00〜5:00(深夜)4.0 pips12.0 pips

バックテストではスプレッド固定2.0pipsで全時間帯を計算していた。早朝の平均スプレッドは8.0pips——バックテストの4倍。

損益の時間帯別内訳

時間帯取引回数(月間)損益
ロンドン〜NY45回+120 USD
東京20回+15 USD
早朝10回-95 USD
深夜5回-25 USD

早朝の10回の取引で月-95 USD。これがなければ月間PFは大幅に改善する。

なぜ止めずに修正したか

EA自体のロジック(ボリンジャーバンド逆張り)はロンドン〜NY時間帯では機能していた。問題は早朝のスプレッド拡大であり、時間帯フィルターで対処可能と判断した。

修正内容

// 早朝フィルター(GMT 21:00〜01:00 を除外)
datetime gmt = TimeGMT();
MqlDateTime gmt_struct;
TimeToStruct(gmt, gmt_struct);

if(gmt_struct.hour >= 21 || gmt_struct.hour < 1)
{
    // 早朝のためエントリー見送り
    return;
}

修正後の結果(フォワード1ヶ月)

早朝を除外しただけで月間損益が改善した。

学んだこと

  1. ゴールドの早朝スプレッドは通貨ペアの数倍に広がる: バックテストのスプレッド固定では再現できない。
  2. スプレッド固定でのバックテストは早朝EAにとって罠: 早朝にエントリーするEAは、必ず変動スプレッドでテストする。
  3. 時間帯フィルターは「有利な時間を狙う」より「不利な時間を避ける」のほうが確実
  4. 問題の切り分けが重要: EA全体を捨てるのではなく、時間帯別に分析して問題を特定した。

自分の検証スタンス

ゴールドEAを検証するときは、まず時間帯別の損益を分析する。早朝の損失が目立つ場合は、ロジックの問題ではなくスプレッド環境の問題として対処する。

「EA全体がダメ」ではなく「どの時間帯がダメか」を数字で見る習慣が大事だと思った。

関連して読む

Failure log 壊れた条件を、次の検証に使う。

失敗ログは反省文ではなく、過剰最適化や運用停止の条件を先に見つけるための材料です。

参照した公式情報

免責

本記事は個人の検証メモであり、投資助言ではありません。バックテスト結果は将来の成績を保証しません。海外FXや自動売買には、法規制・レバレッジ・スプレッド拡大・約定遅延・スリッページなどのリスクがあります。条件は変わるため、最新情報は各公式ページで確認してください。