{
  "id": 3200,
  "rank": 968,
  "name": "Moving Average Crossover",
  "aka": [
    "Moving Average EA",
    "Moving Average EA with Martingale"
  ],
  "family": "A",
  "subtype": "A9",
  "one_liner": "Trades based on moving average crossovers, with or without Martingale functionality.",
  "market_regime": "any",
  "timeframes": [
    "null"
  ],
  "symbols": [
    "null"
  ],
  "sessions": [
    "null"
  ],
  "indicators": [
    {
      "name": "Simple Moving Average",
      "params": {
        "period": "MAPeriod"
      },
      "applied_to": "close"
    }
  ],
  "entry_long": [
    "price crosses above Simple Moving Average"
  ],
  "entry_short": [
    "price crosses below Simple Moving Average"
  ],
  "exit_rules": [
    "Take profit and stop loss points are adjusted after a loss"
  ],
  "filters": [
    "null"
  ],
  "stop_loss": "SLPoints",
  "take_profit": "TPPoints",
  "position_size": "LotSize for Simple Moving Average EA; StartingLot for Martingale EA",
  "evidence_type": "source_code",
  "completeness": 50.0,
  "signal_warnings": null,
  "claim_warnings": [
    "RECOVERY SIZING: position size increases after losses (martingale/grid/averaging). Equity curves look smooth until the run that does not recover - judge it on worst-case exposure, not win rate."
  ],
  "opacity_warnings": null,
  "build_warnings": null,
  "canonical": "https://prismaticalgos.com/compendium/algo/3200-moving-average-crossover",
  "snapshot": "2026-10-31 15:46 UTC",
  "source_url": "https://www.mql5.com/en/code/50198",
  "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."
}
