コンテンツにスキップ

NidoSokoGoldLong

EA0265_NidoSokoGoldLong_v1.0 / 🧪 候補 — 生成済み・検証待ち

ワンライナー

15分足ダブルボトム後の押し目を、直近安値+ATRバッファで拾う順張りロング

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

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

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

基本情報

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

🧬 DNA 5軸

primary_style entry_mechanism regime_target position_logic core_indicator_family
trend_follow pullback any fixed_sl price_action

🐦 元ネタツイート

https://x.com/NAOYA_Nfx/status/2090019840308511193

📊 バックテスト結果

未実行

📝 仕様書 / Specification

クリックで展開

EA仕様: ニド底ゴールドロング (NidoSokoGoldLong)

1. 原ネタ要約

  • 投稿: @NAOYA_Nfx 2026-08-19
  • 「GOLD、大きく来るぞ」と強気。15分足でダブルボトム出現を確認し、「4365.23付近で押し目買い」を狙うという内容。
  • エンゲージ: いいね77 / リポスト6。具体価格を出して「厳選した位置」と言い切るスタイルが反応されたと推定。
  • 参考価格4365.23は当時の絶対価格。本EAではそのまま使わず、市場構造に抽象化する。

2. 戦略概要

15分足でダブルボトム(二重底)を形成した後、直近のスイング安値圏への押し目タッチをATRバッファ付きで拾い、上昇トレンド転換を狙う順張りロングEA。 ツイートの「大きく来るぞ」を、ダブルボトム確認後の押し目買いとして機械化する。

3. 戦略抽象化

  • 「4365.23付近」は「直近20本のスイング安値 + ATR(14)のバッファ」に置き換える。
  • 「ダブルボトム出現」は「過去20本以内に安値が2回同じ価格帯に存在した」という構造に置き換える。
  • 絶対価格に依存せず、いつの時代のXAUUSDでも機能する。

4. シンボル・時間足

  • Symbol: XAUUSD
  • Timeframe: M15
  • Direction: long_only
  • エントリー判定はM15確定足のみで行う。

5. エントリー条件

5.1 事前状態(bar[2]以前、確定済み)
  • 直近20本以内にスイング安値SwingLowが存在し、その後一度反発している。
  • 同じSwingLow近辺(ATR(14)*0.25以内)に再度下落しており、ダブルボトム的構造が完成している。
  • 安値形成が2回確認できることで「4365.23付近」の価格帯が意識された安値ゾーンとみなす。
5.2 トリガー(bar[1]の確定足)
  • Low[1] <= SwingLow + ATR(14)[1] * 0.25 + TouchTolerancePrice(0.5) … 安値ゾーンへヒゲタッチ
  • Close[1] > SwingLow - ATR(14)[1] * 0.25 … 終値ではゾーンを下抜けしていない
  • 両方が成立したら bar[0] で成行買い(リアルタイムエントリーを確定足エントリーに変換)
  • トリガーはClose[0]やHigh[0]を使わない。確定したLow[1]とClose[1]のみで判定する。
5.3 フィルター(AND)
  • スプレッド: Ask - Bid <= MaxSpreadPrice(0.5)
  • トレンドフィルター: UseTrendFilter=trueの場合のみ Close[2] > EMA(50)[2] を要求。初期値はfalse(無取引回避のため)。
  • ボラティリティ・パニック撤退中は新規エントリー禁止。

6. エグジット条件

  • SL: EntryPrice - ATR(14) * 1.5
  • TP: EntryPrice + ATR(14) * 2.5(RR 約1:1.67)
  • 時間撤退: エントリーから32バー経過で成行クローズ(15分足で8時間相当)
  • 建値移動: UseBreakeven=true、含み益がATR(14)*1.2に達したらSLをEntryPriceに移動。初期SLを不利方向には動かさない。
  • ボラティリティ・パニック撤退: UseVolatilityPanicExit=true、直近ATR(14)が平均ATR(50)のPanicAtrRatio(2.0)倍を超えたら、保有ポジションを成行クローズ。

7. リスク管理

  • RiskPercent: 0.5%(口座余剰に対して0.5%リスク)
  • MaxPositions: 1
  • ConsecLossCooldown: 3連敗で24時間クールダウン
  • 同時ポジションは1本のみ。マーチン・ピラミッドは使用しない。

8. 汎用化ポイント

  • 「4365.23」という価格は、その場のスイング安値+ATRバッファに抽象化した。
  • ダブルボトムは「過去20本の安値圏に2回タッチした」という普遍的な価格アクションとして表現した。
  • よって、XAUUSDのどの価格帯・どの時期でも同じロジックで稼働でき、過学習になりにくい。

9. Optimization Envelope

守るべき条件(変更禁止)
  • エントリー判定は確定足(bar[1]以前)のみ。
  • 絶対価格レベルでのエントリーは禁止。必ず相対参照(SwingLow / ATR / Donchian等)にする。
  • レジームフィルターとエントリーの時間足は同一(M15)。
  • ダブルボトム構造の確認(bar[2]以前)とトリガータッチ(bar[1])は時系列を分離する。
緩和してよい条件
  • lookback_bars: 10〜30
  • atr_buffer_mult: 0.1〜0.5
  • TouchTolerancePrice: 0.3〜1.0
  • ATR_SL_Mult: 1.0〜2.0
  • ATR_TP_Mult: 1.5〜3.5
  • TimeExitBars: 24〜48
最適化してよいパラメータ
  • トレンドフィルターのEMA期間(30〜100)
  • UseTrendFilterのON/OFF
  • 建値移動のトリガーATR倍率(1.0〜1.8)

10. 無取引回避の設計

  • 初期値のバッファは広め(ATR*0.25 + 0.5ドル)に設定し、タッチ頻度を確保する。
  • UseTrendFilterは初期値false。厳しくなりすぎた場合はトレンドフィルターをOFFにできる。
  • M15で直近20本安値へのタッチは1日数回は発生しうるため、最低取引頻度を確保しやすい。
  • それでも取引が月5回未満になる場合は、lookback_barsを10まで縮小してもよい。

11. 過剰取引防止の設計

  • 同一バーで1回のみエントリー。
  • エントリー失敗後は次のバーまで待つ(連打防止)。
  • 1日の最大エントリー回数: 5回まで(input指定可)。
  • 3連敗で24時間クールダウン。
  • スプレッドがMaxSpreadPriceを超える時間帯はエントリーしない。

12. Story Package

  • 勝利時: 「15分足の二度底、金の押し目を拾った。#GOLD #ダブルボトム」
  • 敗北時: 「4365の壁、ヒゲだけで弾かれた。でも次は違う。」
  • 無取引時: 「一週間待ったけどタッチなし。金は気まぐれ。」
  • 検証ログ: バックテストPF・無取引期間・スプレッド影響も公開し、改良サイクルを見せる。

13. 入力パラメータ一覧(MQL5 input)

MQL
// === 基本 ===
input int    InpMagicNumber           = 2450819;       // Magic Number
input double InpRiskPercent           = 0.5;           // Risk Percent (0.5%)
input int    InpMaxPositions          = 1;             // Max Positions

// === エントリー ===
input int    InpEntryLookback         = 20;            // Lookback Bars for Swing Low
input double InpAtrBufferMult         = 0.25;          // Zone Buffer (ATR multiple)
input double InpTolerancePrice        = 0.5;           // Touch Tolerance (price)
input int    InpConfirmationBars      = 1;             // Confirmation Bars

// === フィルター ===
input bool   InpUseTrendFilter        = false;         // Use EMA Trend Filter
input int    InpTrendEmaPeriod        = 50;            // Trend EMA Period
input double InpMaxSpreadPrice        = 0.5;           // Max Spread (price)

// === エグジット ===
input int    InpAtrPeriod             = 14;            // ATR Period
input double InpAtrSlMult             = 1.5;           // SL = ATR * 1.5
input double InpAtrTpMult             = 2.5;           // TP = ATR * 2.5
input int    InpTimeExitBars          = 32;            // Time Exit Bars
input bool   InpUseBreakeven          = true;          // Use Breakeven Move
input double InpBreakevenTriggerAtr   = 1.2;           // Breakeven Trigger (ATR mult)

// === 防衛 ===
input bool   InpUseVolatilityPanicExit = true;         // Use Volatility Panic Exit
input double InpPanicAtrRatio         = 2.0;           // Panic ATR Ratio

// === クールダウン ===
input int    InpConsecLossCooldown    = 3;             // Cooldown after consecutive losses
input int    InpCooldownHours         = 24;            // Cooldown Hours

14. 実装要件(標準)

  • 新バー検出はOnTickで前回バー番号と比較し、新バー時のみシグナル判定する。
  • エントリー判定は必ずM15の確定足(bar[1])で行う。Close[0]/Open[0]/High[0]/Low[0]は使用禁止。
  • 保有ポジションの管理(SL/TP更新・建値移動・パニック撤退)は毎tickで行ってよい。
  • スプレッド確認はAsk-Bidで行い、Bar状態ではなくtick時に確認する。
  • マジックナンバーで自EAのポジションのみ管理する。
  • XAUUSDはブローカーによりDigits/Pointが異なるため、SL/TP・toleranceは必ず価格差ベースで実装し、Point固定換算にしない。
  • バックオフィス検証のため、エントリー理由(ダブルボトム・タッチ・フィルター状態)をログ出力する。

免責事項

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

EA1000 一覧に戻る


関連用語

— SPONSORED —