{
  "id": 11590,
  "rank": 96,
  "name": "XAUUSD M15 Trend-Pullback EA",
  "aka": [
    "XauusdTrendPullback"
  ],
  "family": "B",
  "subtype": "B2",
  "one_liner": "Trades gold on the 15-minute chart, entering in the direction of the higher-timeframe trend, waiting for a pullback into a fast EMA, and exiting based on RSI and ATR.",
  "market_regime": "trending",
  "timeframes": [
    "H1"
  ],
  "symbols": [
    "XAUUSD"
  ],
  "sessions": [
    "07:00-16:00 (London) 13:00-20:00 (New York)"
  ],
  "indicators": [
    {
      "name": "EMA",
      "params": {
        "period": 200
      },
      "applied_to": "close"
    },
    {
      "name": "EMA",
      "params": {
        "period": 21
      },
      "applied_to": "close"
    },
    {
      "name": "EMA",
      "params": {
        "period": 50
      },
      "applied_to": "close"
    },
    {
      "name": "RSI",
      "params": {
        "period": 14
      },
      "applied_to": "close"
    },
    {
      "name": "ATR",
      "params": {
        "period": 14
      },
      "applied_to": "close"
    }
  ],
  "entry_long": [
    "H1 close > H1 EMA(200) and H1 EMA(200) rising over the last 5 bars",
    "M15 close > M15 EMA(21)",
    "bullish bar closing back above the fast EMA with RSI back at or above 50"
  ],
  "entry_short": [
    "H1 close < H1 EMA(200) and H1 EMA(200) falling over the last 5 bars",
    "M15 close < M15 EMA(21)",
    "bearish bar closing back below the fast EMA with RSI at or below 50"
  ],
  "exit_rules": [
    "Stop loss = InpAtrSlMultiplier x ATR(14), widened if broker's stop level or current spread demands it",
    "Take profit = stop distance x InpRewardRatio",
    "Breakeven: at InpBreakevenTriggerR the stop moves to entry plus InpBreakevenOffsetR of locked profit",
    "ATR trailing: once price reaches InpTrailStartR, the stop trails InpTrailAtrMult ATRs behind the current price, updating only when it improves by at least InpTrailStepPoints",
    "Partial close: at InpPartialTriggerR, InpPartialPercent of the original volume is closed once"
  ],
  "filters": [
    "news filter",
    "max spread 60 points",
    "price is more than InpMaxEntryDistAtr ATRs away from the fast EMA"
  ],
  "stop_loss": "InpAtrSlMultiplier x ATR(14), widened if broker's stop level or current spread demands it",
  "take_profit": "stop distance x InpRewardRatio",
  "position_size": "Lot size is solved so a full stop-out costs InpRiskPercent of account equity, using the symbol's tick value, then clipped to the volume step, min/max lot, and available free margin",
  "evidence_type": "source_code",
  "completeness": 80.0,
  "signal_warnings": null,
  "claim_warnings": null,
  "opacity_warnings": null,
  "build_warnings": null,
  "canonical": "https://prismaticalgos.com/compendium/algo/11590-xauusd-m15-trend-pullback-ea",
  "snapshot": "2026-10-31 15:46 UTC",
  "source_url": "https://github.com/srpo93/XAUUSD-bot",
  "limitations": "These are machine-extracted research records, not verified trading systems. Catalog rank measures specification detail and claimed evidence, not profitability. The catalog extraction pipeline did not independently backtest these records. Its separate selected testing ledger does not validate the wider corpus. Rules, labels and parameters can be incomplete or wrong; consult the original source and its reuse terms."
}
