NOONOO TRADINGStart in the bot

Indicator Repainting: Detecting Signals That Only Look Good in Backtests | NOONOO TRADING

If every arrow on a chart lands perfectly at a high or low, you may have found a repainting indicator rather than a good one. Those arrows may have been moved there after the outcome was known, rather than appearing at the time.

What is repainting?

Repainting occurs when an indicator later deletes or relocates a value or signal it previously displayed. Historical signals visible now differ from what was actually visible then.

The difficulty is that it is hard to see afterward. Opening a chart shows only the redrawn version. A disappearing signal can be observed live during its candle, yet later history can make it look as though the final signal always existed. This produces impressive backtests that cannot be reproduced live.

Type 1: Changes on an unclosed candle

This is common and reflects how indicators using the current candle operate. Its closing price is not final, so calculations use the current value.

Five-period simple moving average, MA5

Last four confirmed closes: 100, 102, 101, 103; sum 406.

Current price 110 → MA5 = (406 + 110) ÷ 5 = 103.2.
Current price 98 → MA5 = (406 + 98) ÷ 5 = 100.8.
Final close 104 → MA5 = (406 + 104) ÷ 5 = 102.0.

Only 102.0 remains in history. The earlier 103.2 and 100.8 leave no trace.

Within one candle, the average moves between 100.8 and 103.2. If price crosses it during that interval, moving-average breakout alerts may appear and disappear repeatedly. The finalized chart does not retain those fluctuations.

This is normal real-time calculation, not necessarily an indicator defect. Evaluate only closed-candle values to address it. The next two types create deeper problems.

Type 2: Retrospective plotting

Indicators that automatically mark pivots, trend lines or support and resistance often fit this category. A pivot needs a subsequent reversal of a specified size to confirm, after which its marker is placed at the earlier point.

A pivot-high indicator requiring a 5% reversal

Price rises to 10,000 and starts falling.
The high is confirmed only after a 5% decline:
10,000 × (1 − 0.05) = 9,500.

The chart displays a high marker at 10,000.
The earliest price at which that marker is known is 9,500.

Displayed price versus executable price: 500, or 5.0%.

Using the marked high as a backtest entry adds five percentage points of apparent advantage per trade in this example. Across 30 signals, that is 150 percentage points in simple summed differences. It comes from using a price identified after the outcome, rather than strategy skill.

The indicator is not necessarily broken: confirmation is part of its design. The mistake is treating its retrospective drawing as information available in real time.

Type 3: Future-data leakage

Here the calculation itself includes future data: pulling values from later rows through negative offsets, for example, or normalizing an entire dataset so later values influence earlier calculations.

It can be hard to detect visually. Unlike type 2, the plotted signal itself misrepresents available information, and a chart alone may not reveal it. If signals appear only at exceptional locations and the formula is hidden, investigate this possibility. It differs from overfitting: overfitting selects parameters to match history; leakage uses information unavailable at the time.

Commonly misunderstood cases

Forward spans in Ichimoku are not future-data references. The cloud is plotted 26 periods ahead but calculated from already available historical values. It plots past-derived values at future chart locations. The source describes confirmed plotted values as fixed. It also says to account for the lagging span's 26-bar displacement when interpreting its apparent position.

Heikin-Ashi and Renko values are not ordinary executable prices. The source describes them as distinct from repainting because confirmed values remain fixed. Heikin-Ashi opens and closes are transformed averages; using them as fill prices may assume unavailable executions and inflate a backtest in a similar way.

Automatic divergence detection commonly uses type 2. Divergence requires two pivots, and the second is confirmed by subsequent movement. Its marker is then placed in the past.

Three checks for your indicator

1. Observe live. Watch whether a signal appears before a candle closes and whether it remains at the close. Disappearing intrabar signals indicate type 1. A one-minute chart can reveal this sooner than waiting four hours for a four-hour candle.

2. Truncate the available data. Use replay to show the chart only through a chosen time and inspect its signals. Then restore all data and compare the same location. Different signal locations indicate retrospective plotting or future-data leakage. The source treats this as the strongest check.

3. Question unusually perfect signals. Repeated exact highs and lows are a reason to investigate. The source argues that such precision is implausible from real-time information and says any indicator appearing to exceed a 90% historical win rate requires rechecking.

Responses

Execute from confirmed candles. Evaluate after the candle closes and enter at the next candle's open rather than using a changing intrabar indicator. This addresses type 1 in the guide's framework. The delay still needs testing to determine whether the strategy remains viable.

Include confirmation delay in backtests. For type 2, change the execution price rather than simply deleting signals. Use the price when confirmation finishes, not the earlier pivot. In the example, that is 9,500 rather than 10,000.

Compare forward tests. Remaining repainting can create large differences between historical and live results. Record signals in real time through paper trading and compare them with backtest output. Walk-forward analysis serves a related validation purpose.

Keep independent signal records. Save each alert's real-time timestamp and price for comparison with later chart markers. This is effectively essential before automation, because a bot orders from values available then, not a chart's later drawing.

Why this matters

Repainting is more than minor inaccuracy. Performance calculated using unavailable future information does not demonstrate live strategy performance. The result reflects prior knowledge of outcomes rather than a usable edge.

The source contrasts this with publicly specified indicators such as MACD and pivot points, whose confirmed values remain fixed under their stated calculations. A hidden-formula arrow indicator should at least pass the truncated-data check. The guide says that many free “90% win-rate indicators” fail it.

Three key points

1. Repainting deletes or relocates previously displayed signals; today's historical chart may differ from what was visible then.
2. The three types are intrabar changes, retrospective plotting and future-data leakage; the respective responses are confirmed candles, correct executable timing and rejection of leaked calculations.
3. Compare replay with truncated data against the complete chart to inspect signal placement.

Caution

The closing prices, averages and reversal amounts above are hypothetical calculation examples, not current prices or measured results from a specific strategy. Indicators transform past prices and guarantee neither direction nor profit. Leveraged trading can lose all principal, and investment decisions and responsibility remain your own.

NOONOO TRADING invites you to follow live trading in our free chat.

Start in the bot

📈 OKX trading fee discount for new registrations

Register for the OKX Fee Discount →