コンテンツにスキップ

GoldDefenseLine

EA0255_GoldDefenseLine_v1.0 / ⚠️ FAILED — 生成失敗・修正失敗・BT不合格

ワンライナー

H1で直近安値帯(ATRバッファ付き)への押し目タッチと回収を確認してロングするWeekly Open防衛EA

判定: ⚫ 散(散る(検証に乗らず))

話題の手法をEA化してみたが、そもそもエントリーが成立せず検証不能。ネタとしては『動かなかった』結果。

X起点ライン(話題の手法を検証)

基本情報

項目 項目
シンボル XAUUSD エントリー種別 price_level_touch
時間足 H1 エグジット atr_tp_sl
方向 long_only 主要インジケータ ATR14, EMA50

🧬 DNA 5軸

primary_style entry_mechanism regime_target position_logic core_indicator_family
trend_follow pullback trending fixed_sl price_action

🐦 元ネタツイート

https://x.com/chinpan2512/status/2088929878464667785

📊 バックテスト結果

未実行

📝 仕様書 / Specification

クリックで展開

GoldDefenseLine 仕様書

1. 原ネタ要約

  • 投稿(@chinpan2512): 「5000pips狙うなら週明けゴールド…」日足が4000付近の長い揉み合いから上放れ、4375付近。注目はH1の4365〜4370。守る限り押し目買い、割ってもすぐ回収なら再上昇狙い。割って戻せないなら4350/4340調整警戒。
  • 人が反応した理由: 具体的な防衛ラインと反応シナリオを提示し「上目線だけど無理に追わない」という説得力。週明けの値動きをチェックしたくなる内容。 ※ ツイートは割れシナリオも提示するが、本EAは「押し目買い回収ロング」を主シナリオとして採用。割れ目線はStory Packageでのみ補足。

2. 戦略概要

H1で上昇構造を保ったまま、直近スイング安値帯(4365〜4370に相当)へ押した足が「タッチ→回収」を確定させた翌バー始値でロング。ブレイクアウトを追わず、押し目が機能したところだけ拾う。

3. 戦略抽象化

投稿の「4365〜4370」は絶対価格ではなく「H1直近の意識された安値帯」として一般化する。 - 支持帯 = Donchian(20) H1最安値 + ATR(14)0.1 - タッチ許容 = ATR(14)0.06 - 回収確認 = 終値が支持帯中心を ATR*0.05 以上上回る これにより価格水準が4375だろうが2000だろうが同じ構造で機能する。ATR相対化で2026年8月の価格帯だけに過学習しない。

4. シンボル・時間足

  • Symbol: XAUUSD
  • Timeframe: H1
  • 補助: D1は原ネタの文脈確認のみ(EA内部では使わない)。レジームとエントリーは同一H1で評価する。

5. エントリー条件

すべて確定足(Close[1]以前)で判定し、エントリーは新バー Open[0] で行う。

[AND条件] 1. トレンドレジーム: H1 EMA50 の傾き > 0(直近3本のEMA差分平均)。UseTrendFilter=true のときのみ。 2. 流動性/活性: ATR(14)[1] > EMA(ATR,50)[1] * 0.6。完全停止の買いを避ける。 3. スプレッド上限: ASK-BID <= 0.50 USD。 4. 週明けフィルター(任意,初期false): UseWeeklyOpenSessionFilter=trueのとき、サーバー時刻の週最初の取引日00:00〜02:00の間にシグナル発生した場合のみ。 5. 支持帯タッチ: LowestLow(20, H1)[2](bar[1]より前20本の最安値)を基準として - supportCenter = LowestLow(20)[2] + ATR(14)[1] * ZoneBufferATR - Low[1] <= supportCenter + ATR * TouchToleranceATR 6. 回収確認: Close[1] > supportCenter + ATR * ReclaimBufferATR ※ 一度下に抜けてもすぐ回収する形(Low[1]がsupportCenterを下回り、Close[1]が上記を満たす)も同じく許容する。これが投稿の「下に振ってから回収」に相当。 7. 建玉なし: 同一EAのポジションが0枚。

[注意] - 「直近N本の最安値」と「タッチ」は別バーで評価する。支持帯状態は bar[2] 以前、タッチと回収は bar[1] で判定する。 - Close[0]/High[0]/Low[0] はエントリー判定に使わない。

6. エグジット条件

主: ATR固定SL/TP - SL = EntryPrice - ATR(14)[1] * AtrSLMult (1.5) - TP = EntryPrice + ATR(14)[1] * AtrTPMult (2.5) - 一部利確(任意): TP1 = ATR2.5 で50%決済、残りは TP2 = ATR4.0 を目指す。初期実装では TP 一本でもよい。

従: 建値移動+時間撤退 - UseBreakeven=true: 含み益が ATR1.2 に達したらSLをEntryPriceへ移動。初期SLを広げない。 - TimeExit: エントリー後48本(H1)経過で成行決済。 - UseTrailingStop=false 初期。trueの場合は ChandelierExit(ATR2.0) を適用。

7. リスク管理

  • RiskPercent: 0.5%(初期)
  • MaxPositions: 1
  • 連敗クールダウン: 3連敗で24時間エントリー停止
  • 1日の最大エントリー回数: 3回
  • ATR急騰時スキップ: ATR(14)[1] > EMA(ATR,50)[1] * 2.5 ならエントリー見送り(ニュース暴騰の飛び乗り防止)
  • ボラパニック撤退(任意): UseVolatilityPanicExit=true時、ポジション保有中にATRが平均の2.0倍超で建値撤退(逆張りではないが保険)

8. 汎用化ポイント

「防衛ライン」は価格ではなく「最近の参加者が意識した安値」として再定義される。価格が変わってもH1の安値ゾーンとATRがあれば機能し、他銘柄・他時間足へも移植できる。

9. Optimization Envelope

必ず守る条件: - 絶対価格レベルを使用しない。 - シグナルは確定足(Close[1])で取る。 - 支持帯とタッチを同一バーでANDしない。 - ロング専用・BBand等の逆張りロジックを混ぜない。 - MaxPositions=1, RiskPercent<=1。

緩和してよい条件: - EMA50傾きフィルターを無効化(UseTrendFilter=false) - 週明けフィルター無効化 - lookback 10〜30、ZoneBufferATR 0.05〜0.25、TouchToleranceATR 0.02〜0.10 - ATR TP倍率 2.0〜5.0

最適化してよいパラメータ: - SwingLookback, ZoneBufferATR, TouchToleranceATR, ReclaimBufferATR, AtrSLMult, AtrTPMult, BreakevenTriggerATR, TimeExitBars

10. 無取引回避の設計

初期で取引が少ない場合の緩和手順(この順で試す): 1. UseTrendFilter=false 2. TouchToleranceATRを0.06→0.10 3. SwingLookbackを20→10 4. ZoneBufferATRを0.10→0.20 目安: バックテストで月5回以上(In-Sample 3ヶ月で15回以上)取引できることを確認する。

11. 過剰取引防止の設計

  • 同一バー1エントリー最大1回。
  • 1日最大3回。
  • 連敗クールダウン。
  • 最低ATR比で静寂市場の連打を防止。
  • スプレッド上限で滑りやすい時間帯を除外。
  • 週明けフィルターを入れる場合は1日最大1回。

12. Story Package

X投稿フック: 「週明けゴールド『4365防衛線』をEAに守らせてみた #EA1000」 ブログ見出し: 「上目線だけど追わない。H1防衛線プルバックEAの勝率とPF」 失敗時の見せ方: 「割れた後の回収待ちでエントリーできず0取引。防衛線は無事でした(戦略は不発)」 このように無取引・低PFも検証ログとして公開する。

13. 入力パラメータ一覧

// from_tweet: 価格帯はATR相対化した input double RiskPercent = 0.5; // default input int MaxPositions = 1; input int MaxEntriesPerDay = 3; // default input int ConsecLossCooldown = 3; input int CooldownHours = 24; input ENUM_TIMEFRAMES PrimaryTF = PERIOD_H1; // from_tweet: H1 input int TrendEMA = 50; // default input bool UseTrendFilter = true; // default input int SwingLookback = 20; // from_tweet: H1直近の意識帯, default input int ATRPeriod = 14; // default input double ZoneBufferATR = 0.10; // default input double TouchToleranceATR = 0.06; // default input double ReclaimBufferATR = 0.05; // default input double AtrSLMult = 1.5; // default input double AtrTPMult = 2.5; // default input bool UseTimeExit = true; // default input int TimeExitBars = 48; // default input bool UseBreakeven = true; // trend_follow 既定 input double BreakevenTriggerATR = 1.2; // default input bool UseTrailingStop = false; // default input double ChandelierATRMult = 2.0; // default, UseTrailingStop時 input bool UseVolatilityPanicExit = true; // default input double PanicAtrRatio = 2.0; // default input bool UseWeeklyOpenSessionFilter = false; // from_tweet: 週明け1-2時間, optional input int WeeklyOpenStartHour = 0; // サーバー時刻, default input int WeeklyOpenDurationHours = 2; // default input double MaxSpreadPrice = 0.50; // XAUUSD 価格単位, default input long MagicNumber = 2081601; // default

14. 実装要件

  • 新バー検出: 直近確定バー番号を保持し、変わったときのみ判定。
  • エントリー判定は Close[1], Low[1], ATR[1], EMA[1] を使う。Close[0]/High[0]/Low[0]/Volume[0] は使わない。
  • 注文は成行で SL/TP を同時指定。リトライ処理を入れる。
  • スプレッド確認は注文直前(新バー開始時)。XAUUSDはブローカーによって桁が異なるため、pips換算せず MaxSpreadPrice で比較。
  • 建値移動時は初期SLを不利方向へ動かさない。
  • チャート時間足はH1。D1の価格は仕様に含めない。
  • バックテストは「始値のみ」でなく「全てのティック」設定を推奨。

免責事項

本EAは自動生成された検証用コードです。実運用可否はご自身で検証してください。

EA1000 一覧に戻る


関連用語

— SPONSORED —