Skip to content
HomeBlogIndicator EducationWhat Is Indicator Repainting and How to Spot It
Indicator EducationFebruary 19, 20265 min read

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.

What Is Indicator Repainting and How to Spot It

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.

How to properly backtest a signal indicator to verify it does not repaint

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:

  1. Add the indicator to a live chart
  2. When a signal appears, screenshot it immediately with the timestamp
  3. Wait for the current candle to close
  4. Check if the signal is still there, in the same position
  5. 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:

  1. Enable bar replay
  2. Step through candles one at a time
  3. Watch if signals appear and stay fixed, or if they shift as new candles form
  4. Pay attention to whether signals on past candles change position as you advance

Test 3: Refresh Test

  1. Note the position of recent signals on your chart
  2. Refresh the page or switch to a different timeframe and back
  3. Compare signal positions to what you noted
  4. Changed positions = repainting

Test 4: Check the Source Code

If the indicator's source code is visible:

  • Look for references to request.security() (or security() in older Pine versions) with current timeframe on higher TF data - can cause repainting
  • Check if calculations use close on the current bar (unrealized close) vs. close[1] (confirmed close)
  • Look for barstate.isrealtime or barstate.isconfirmed conditions 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

GrandAlgo Indicators

Automate these concepts on your charts

Market structure, FVGs, order blocks, liquidity sweeps, and more - detected and plotted automatically on any TradingView chart.