What Is Indicator Repainting and How to Spot It
Repainting indicators change their signals after the fact, making them look perfect on history but useless in live trading. Here's how to detect them.
You find an indicator with incredible results. Every signal is perfectly placed - buys at the exact bottom, sells at the exact top. The win rate looks like 90%+. You add it to your live chart and start trading.
The signals are terrible. Entries are late, stops get hit, and the chart that looked perfect yesterday now shows different signals than what you saw in real-time.
That indicator repaints.
What Is Repainting?
A repainting indicator changes its historical signals after the fact. The arrow that appeared during a live candle moves, disappears, or changes once the candle closes or new data arrives.
On a historical chart, it looks like every signal was perfectly timed. In real-time, the signals are unreliable or completely different from what you'll see later.
How Repainting Happens
During the current candle: The signal appears and disappears as price moves within the candle. You see a "Buy" signal, but it vanishes before the candle closes.
After the candle closes: The signal was on one candle but shifts to a different candle on the next bar. What looked like a well-timed entry is retroactively moved to a better position.
On chart refresh: You reload the chart and signals have changed position from what you saw during your live session.
Why Repainting Is a Problem
Backtesting Is Meaningless
You can't evaluate a repainting indicator's historical performance because the history it shows you isn't what happened in real-time. A 90% win rate on the chart might be a 40% win rate live. This is why proper backtesting requires verifying non-repaint behavior first.
False Confidence
Seeing perfect signals builds false confidence in the indicator. You size up your positions, skip confirmation, and trade every signal - only to discover the live performance is nothing like the backtest.
Impossible to Replicate
Even if you screenshot every signal in real-time, the indicator may change those signals on the next refresh. You literally cannot trade what the indicator shows you.
How to Detect Repainting
Test 1: Live Observation
The most reliable method:
- Add the indicator to a live chart
- When a signal appears, screenshot it immediately with the timestamp
- Wait for the current candle to close
- Check if the signal is still there, in the same position
- Repeat over multiple signals across multiple sessions
If signals move, disappear, or appear on different candles after the fact - it repaints.
Test 2: Bar Replay
Most charting platforms have a bar replay feature:
- Enable bar replay
- Step through candles one at a time
- Watch if signals appear and stay fixed, or if they shift as new candles form
- Pay attention to whether signals on past candles change position as you advance
Test 3: Refresh Test
- Note the position of recent signals on your chart
- Refresh the page or switch to a different timeframe and back
- Compare signal positions to what you noted
- Changed positions = repainting
Test 4: Check the Source Code
If the indicator's source code is visible:
- Look for references to
request.security()(orsecurity()in older Pine versions) with current timeframe on higher TF data - can cause repainting - Check if calculations use
closeon the current bar (unrealized close) vs.close[1](confirmed close) - Look for
barstate.isrealtimeorbarstate.isconfirmedconditions that behave differently in real-time vs. history
GrandAlgo
See these concepts automated on your charts
18 TradingView indicators — smart money, price action, supply/demand, and more.
What Types of Repainting Exist?
Full Repaint
Signals completely change position after the fact. A buy signal on candle 50 moves to candle 47 after more data arrives. This is the most deceptive type.
Current Bar Repaint
Signals appear and disappear on the current unclosed candle as price moves. The signal is real once the candle closes, but during the candle it flickers on and off. This is less deceptive but still problematic for traders who enter before the candle closes.
Future Leak
The indicator uses future data in its calculation (data that wouldn't have been available at the time of the signal). This creates perfect-looking entries on historical data that are impossible in real-time.
Why Is Non-Repainting Not Enough?
An indicator that doesn't repaint isn't automatically good. It just means the signals it shows on history are the same signals that appeared in real-time. The signals can still be:
- Late - Signal fires after the move already happened
- Noisy - Too many signals, most of them losses
- Unfiltered - No trend context, no confluence, no risk management
- Poorly designed - The underlying logic is weak regardless of repainting
In fact, most buy/sell signal indicators are garbage for reasons well beyond repainting.
Non-repainting is the minimum requirement, not a quality indicator.
What Good Signal Indicators Do Instead
Rather than using calculations that require future data, quality signal indicators:
- Wait for candle confirmation - Signals only fire on a closed candle, never during an active one
- Use confirmed data only - All calculations reference completed bars, not the current live bar
- Multiple confirmation layers - Several independent conditions must align before a signal fires
- Fixed once fired - A signal that appears stays exactly where it is, permanently
Tools like Smarter Money Suite are built on these principles - confirmed data, multiple confirmation layers, and signals that never move once printed.
Frequently Asked Questions
Indicator repainting happens when a signal changes, moves, or disappears after the fact, making historical signals look cleaner than live signals.
Repainting creates false confidence. Backtests and chart history can look excellent, but the live signal the trader actually saw may not have existed later.
Watch it live, use TradingView bar replay, refresh the chart, and inspect whether the script uses future-looking data or unstable current-bar logic.
Current-bar movement is normal while a candle is open. The serious problem is when closed-bar signals change or disappear after confirmation.
A trustworthy signal indicator is non-repainting on closed bars, explains its logic, includes risk rules, and performs consistently across markets and time periods.
Key Takeaways
- Repainting indicators change signals after the fact - making history look perfect while live performance is poor
- Live observation over multiple sessions is the most reliable detection method
- Repainting makes backtesting meaningless - you can't trust the historical results
- There are three types: full repaint, current bar repaint, and future leak
- Non-repainting is the minimum requirement - it doesn't make an indicator good by itself
- Quality indicators use confirmed data only and fire signals on closed candles
- If an indicator looks too good to be true on historical data, test it live before trusting it
- Once you've confirmed an indicator is non-repainting, build a complete trading system around it