Repaint
Definition
Repaint is the indicator behaviour where past bars' indicator values change as new data arrives. Repainting indicators show favourable historical signals that retroactively disappear when newer bars print — making backtests look impressive but live trading impossible because the signal that appeared at trade time may no longer be there minutes later.
In-depth: Repaint
Repaint is the defining failure mode of poorly-designed technical indicators and the most exploited mechanism in fraudulent EA marketing. The mechanism is subtle: an indicator's mathematical definition includes future information that wasn't available at the bar's close time, causing the indicator value to update retroactively as new bars print.
How repaint mechanism works:
• **Look-ahead in formula**: indicators using future bars in their computation produce repainting behaviour. Example: a moving average computed across bars [N-5, N-4, N-3, N-2, N-1, N, N+1, N+2] requires N+1 and N+2 bars that don't exist at bar N's close — so the indicator value at N gets recomputed as those bars print • **Fractal indicators**: many fractal-based indicators (e.g. Williams Fractal) inherently require subsequent bars to confirm; the indicator at bar N is finalised only after 2-5 subsequent bars • **Confirmation lag**: even indicators without explicit look-ahead can repaint if their interpretation requires waiting for confirmation patterns. The indicator value may be "correct" but the actionable signal requires future confirmation • **Buffer-based indicators**: MetaTrader indicators that write to historical buffer indexes (rather than appending only to the current bar) can produce arbitrary repainting if their logic includes recomputation of past values
How repaint manifests in fraudulent EA marketing:
• **"Perfect entries" in backtests**: marketing materials show backtest equity curves with consistent profitable entries at price extremes. The entries look perfect in retrospect because the repainting indicator updated its signals after the fact • **High win rates** (85%+): repainting indicators that signal trades only after the trend is established produce historically perfect signals with implausibly high win rates • **Impossibly tight stops**: backtests show stops never hit because the repainting indicator filters out the bars where stops would have been hit • **Marketing screenshots showing "this is what the indicator showed at the time"**: the screenshots are typically post-hoc captures where the indicator has already updated; the buyer can't replicate them in live
How to detect repaint:
• **Real-time observation**: load the indicator on a live chart and watch as bars print. If the indicator value at a recently-closed bar changes after subsequent bars print, it repaints • **Strategy Tester comparison**: run the indicator in MT5 Strategy Tester with visual mode and observe whether past bars' indicator values change as the test progresses through time • **Code inspection**: for indicators with available source, look for OnCalculate() functions that write to buffer indexes other than the current bar index (rates_total - 1) • **Backtest vs forward-test divergence**: deploy the indicator's strategy in forward-test on demo and compare results to backtest. Material divergence (50%+ performance gap) is a strong repaint signal • **Time-stamp delay**: many repaint patterns can be detected by noting when the indicator signal appeared visually on the chart vs when the bar that triggered it actually closed
Legitimate confirmation lag vs fraudulent repaint:
• Some legitimate indicators have inherent confirmation lag (Williams Fractal, ZigZag at extremes). The legitimate ones explicitly document the lag and traders use them with awareness of the delay • Fraudulent repaint is when the indicator's behaviour is hidden — backtests show favourable results that aren't reproducible because the underlying indicator updates after the fact • Distinguishing legitimate from fraudulent: legitimate indicators document their confirmation requirements explicitly; fraudulent indicators present their backtests as if no lag exists
For EA buyer evaluation:
• Any EA backtest showing 85%+ win rate over 12+ months is structurally suspicious unless the underlying strategy explicitly justifies it (grid, martingale — both excluded from editorial endorsement) • Vendors who decline to provide forward-test verification (demo deployment) on top of backtest results may be hiding repaint behaviour their backtests exhibit • EAs using "proprietary indicators" without source code or documented mathematical specification carry elevated repaint risk because buyers can't verify the indicator's behaviour • Vendors who present screenshots from their live deployment showing the same signals as their backtests typically have low repaint risk; vendors who only show backtest equity curves without live evidence carry higher repaint risk
The editorial position: any EA whose marketing emphasises backtest results without forward-test or live verification should be assumed to use repainting indicators until proven otherwise. The burden of proof is on the vendor to demonstrate live execution matching backtest performance; absent that demonstration, repaint is the most likely explanation.