Repainting Indicators: Why the History Looks Perfect
An indicator repaints when its values or signals on already-closed candles change after new data arrives. On history such an indicator looks almost flawless, because it “knows” what came later. Live, it doesn't have that knowledge.
What it is
The classic examples are ZigZag and fractals: the turning point only appears a few candles after the fact, but it's drawn on the chart exactly at the high. Centred moving averages and indicators calculated from “future” data of a higher timeframe work the same way.
In TradingView and MetaTrader the problem also appears by accident: a script that pulls higher-timeframe data without the right settings shows, on history, a candle close that didn't yet exist at that moment. That's where “strategies” with a 90% win rate in the tester come from.
How people use it
- “non-repainting” buy and sell signals in paid indicators
- ZigZag and fractals for marking highs and lows
- strategy tester backtests showing almost nothing but profits
- videos claiming “this indicator catches every top”
What the research and evidence say
It isn't a matter of opinion but of construction: if a signal on a candle depends on data that appeared after the candle closed, the historical result is inflated by definition. A fair test requires every signal to be known at the moment it would have been executed. Many indicators advertised as “non-repaint” still delay or shift signals when checked.
Weaknesses
- perfect results on history, worse live
- hard to spot without watching it live
- the code is often hidden
- marketing based on screenshots of the past
What order flow shows
Trade data doesn't repaint. A trade that went through at a given price, with a given size and side, stays in the record forever, and the footprint, delta and volume profile of a closed candle won't change. That's one of the reasons I analyse the session record tick by tick: what I see in the replay is exactly what was visible live.
How to use it sensibly
- before you trust an indicator, watch it live for several sessions and compare it with the history
- in tests, use only the data available at the moment of the signal
- avoid indicators with hidden code and a promise to catch the tops
Related
- Glossary: Backtest
- Glossary: Overfitting
- Glossary: Sample size
- Atlas of biases: Overfitting
- Atlas of biases: Hindsight bias
- Atlas of biases: The Texas sharpshooter fallacy
- Order flow: Replay training: how to practise reading the market outside the session
- Also under the microscope: RSI
- Also under the microscope: MACD
- Also under the microscope: The stochastic oscillator and Stochastic RSI
Frequently asked questions
What does it mean when an indicator repaints?
That its signals on closed candles change later. On history it looks perfect; live it gives different signals.
How do you check whether an indicator repaints?
Record the live signals for several sessions and compare them with what the indicator shows on the same history later. Any difference means repainting.
Does ZigZag repaint?
Yes. The last ZigZag leg keeps changing until price moves far enough away, and the turning point is drawn retroactively.
Educational content, not investment advice. No signals, entries, stops or position sizes.