Repainting quietly ruins a lot of swing setups: a signal that looks clean in hindsight but wasn't actually there when the candle was forming. Here's the mechanical checklist I use for an entry, and how I test that it doesn't repaint.
**The setup criteria I look for:**
* Trend: price above EMA21 / EMA50 / EMA200, EMAs stacked in order
* Momentum: RSI in a 45–65 window, MACD histogram positive
* Volume: relative volume ≥ 1.5–2× the 20-day average
* A defined pattern (pullback, breakout, VCP, flag) with reward/risk ≥ 1.8
* Cut points for overextension above EMA21 and a weak market regime
**The repainting test:** freeze the data (I used 12 US large-caps, daily, 2 years). For a set of historical candles, recompute the setup using *only* data up to that candle (what you'd see live) and compare it to the same candle in the full dataset (what you see in hindsight). If they differ → the signal repaints. Across 144 candle checks mine matched exactly — no look-ahead.
**Honest limit:** "doesn't repaint" isn't "profitable" — separate question. This is daily swing, not intraday.
Curious what else people stress-test. What's bitten you hardest — late fills, survivorship bias, timezone drift on the candle boundary?