{
  "id": 10972,
  "rank": 1005,
  "name": "H4 EMA Pullback",
  "aka": [
    "H4 EMA Pullback Next Level Expert Advisor"
  ],
  "family": "A",
  "subtype": "A4",
  "one_liner": "Trend-following pullback strategy on H4 chart, entering when the market pulls back to the EMA50 zone and confirms the trend direction.",
  "market_regime": "trending",
  "timeframes": [
    "H4"
  ],
  "symbols": [
    "any"
  ],
  "sessions": [
    "always on"
  ],
  "indicators": [
    {
      "name": "ATR",
      "params": {
        "period": 14
      },
      "applied_to": "close"
    },
    {
      "name": "EMA",
      "params": {
        "period": 50
      },
      "applied_to": "close"
    },
    {
      "name": "EMA",
      "params": {
        "period": 200
      },
      "applied_to": "close"
    },
    {
      "name": "EMA",
      "params": {
        "period": 21
      },
      "applied_to": "close"
    }
  ],
  "entry_long": [
    "EMA50 > EMA200",
    "Candle low ≤ EMA50 + (ZoneAtrMult × ATR)",
    "Candle closes bullish (close > open)",
    "Close > EMA21"
  ],
  "entry_short": [
    "EMA50 < EMA200",
    "Candle high ≥ EMA50 − (ZoneAtrMult × ATR)",
    "Candle closes bearish (close < open)",
    "Close < EMA21"
  ],
  "exit_rules": [
    "Take-profit: nearest historical swing high (fractal) above entry, or fallback to risk:reward ratio if no valid level found",
    "Stop loss: placed below the signal candle's low (long) or above its high (short), with an ATR buffer and a broker-enforced minimum distance"
  ],
  "filters": [
    "Body ratio",
    "EMA50 slope",
    "Break of previous candle",
    "Reclaim buffer",
    "ADX"
  ],
  "stop_loss": "below the signal candle's low (long) or above its high (short), with an ATR buffer and a broker-enforced minimum distance",
  "take_profit": "nearest historical swing high (fractal) above entry, or fallback to risk:reward ratio if no valid level found",
  "position_size": "Risk money = Account balance × (RiskPercent / 100); Money/lot = (SL distance / tick size) × tick value; Raw lots = Risk money / money per lot; Final lots = clamp(raw lots, MinLot, MaxLot) → normalised to broker step",
  "evidence_type": "backtest_shown",
  "completeness": 80.0,
  "signal_warnings": null,
  "claim_warnings": null,
  "opacity_warnings": null,
  "build_warnings": null,
  "canonical": "https://prismaticalgos.com/compendium/algo/10972-h4-ema-pullback",
  "snapshot": "2026-10-31 15:46 UTC",
  "source_url": "https://github.com/Mohamed-Kathree/H4-EMA-Pullback-Next-Level-Expert-Advisor",
  "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."
}
