{
  "id": 3324,
  "rank": 2676,
  "name": "MA Stop Loss",
  "aka": [
    "stop loss on moving average",
    "trailing stop with MA"
  ],
  "family": "A",
  "subtype": "A9",
  "one_liner": "Sets stop loss based on moving average with a minimum distance and a maximum loss threshold.",
  "market_regime": "any",
  "timeframes": [
    "M1"
  ],
  "symbols": [
    "any"
  ],
  "sessions": [
    "any"
  ],
  "indicators": [
    {
      "name": "MA",
      "params": {
        "period": 20
      },
      "applied_to": "close"
    }
  ],
  "entry_long": [
    "close CROSSES OVER average[20,0](close)"
  ],
  "entry_short": [
    "close CROSSES UNDER average[20,0](close)"
  ],
  "exit_rules": [
    "if LongOnMarket THEN SL = max(SL, MA - 4*PipSize)",
    "if ShortOnMarket THEN SL = min(SL, MA + 4*PipSize)",
    "if abs(SL - TradePrice) > 50*PipSize THEN SET STOP %LOSS 0.25",
    "else SET STOP PRICE SL"
  ],
  "filters": [],
  "stop_loss": "MA - 4*PipSize for long, MA + 4*PipSize for short, with a max loss of 0.25% if the distance is greater than 50 pips",
  "take_profit": null,
  "position_size": null,
  "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/3324-ma-stop-loss",
  "snapshot": "2026-10-31 15:46 UTC",
  "source_url": "https://www.prorealcode.com/topic/stoploss-on-a-moving-average/",
  "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."
}
