Your Indicators Are Lying to You (The Repaint Problem)
🎯 What You'll Learn
By the end of this lesson, you'll be able to:
- Test indicators for repainting (screenshot signal before bar close, verify after)
- Identify which TradingView indicators repaint (80%+ of retail indicators do)
- Use only non-repainting tools (all SignalPilot indicators are non-repainting)
- Walk-forward test on live data for 2-4 weeks before trusting any indicator
📉 CASE STUDY: Jake's $14,700 Repainting Indicator Disaster
Trader: Jake Morrison, 26, former marketing analyst ($32K account)
Strategy: "Ultimate Reversal Pro" TradingView indicator (47K downloads, 4.8★), 71.4% backtest win rate
Fatal flaw: Indicator was repainting—signals changed or disappeared after bar close
Result: Lost $14,700 (-45.9%) in 10 weeks when "perfect" backtest signals never existed live
The "perfect" backtest (Jan 2024): Backtested 18 months ES futures data. Results: 71.4% win rate, 3.2 profit factor, 3.8:1 R:R, -8.2% max DD, +247% return. "This is the edge I've been looking for!"
The disaster (Feb-Apr 2024, 10 weeks): Went live with $32K. Reality: 76 trades, 34.2% win rate (cut in HALF), 0.58 profit factor (negative expectancy), 0.92:1 R:R. Lost $14,700 (-45.9%). Account: $32K → $17.3K.
The breaking point (Apr 8, 2024): After 4 losing trades, Jake took screenshots of live signals, then compared after bar close. Every signal moved or disappeared:
- 9:38 AM BUY: Signal at 5,186 → After bar close: moved to 5,179 (7 points lower!) • Lost $680
- 10:52 AM SELL: Signal at 5,194 → After bar close: disappeared completely! • Lost $520
- 1:15 PM BUY: Signal at 5,201 → After bar close: moved to 5,196 (5 points lower) • Lost $440
- 2:43 PM SELL: Signal at 5,209 → After bar close: moved to 5,213 (4 points higher) • Lost $380
The investigation (Apr 9-15): Jake tested "Ultimate Reversal Pro" systematically. Visual test: 43 out of 47 signals moved (91.5% repaint rate!). Alert test: 17/20 alert prices didn't match historical locations. Code audit: Found request.security() without lookahead=barmerge.lookahead_off. Verdict: Indicator was HEAVILY repainting.
Recovery (May-Aug 2024): Stopped trading for 2 weeks. Researched deterministic indicators, switched to Signal Pilot's non-repainting tools. New rules: (1) ONLY use indicators with barstate.isconfirmed checks, (2) VERIFY with visual + alert tests, (3) REQUIRE lookahead_off for HTF data, (4) Paper trade 2+ weeks before live. Results over 4 months: 90 trades, 58.9% win rate, 1.94 profit factor, 2.1:1 R:R, +$12,820 profit. Account: $17.3K → $30.1K (+74.1% recovery).
Final results: Started $32K → Trough $17.3K (repainting indicators) → Final $30.1K (deterministic indicators). Net: -$1.9K (-5.9%) but learned $15K+ lesson.
Jake's advice: "I lost $14,700 because I trusted a repainting indicator. Backtest showed 71.4% win rate. Live: 34.2%. Why? Signals I saw live MOVED or DISAPPEARED after bar close. I traded ghosts. The 'perfect' backtest was a lie. Test EVERY indicator: (1) Screenshot live signals, compare after bar close—if they move, it repaints. (2) Set alerts, verify historical locations match. (3) Check Pine Script for lookahead_off and barstate.isconfirmed. (4) Paper trade 2+ weeks—if live doesn't match backtest, indicator is broken. If backtest looks TOO perfect (>70% win rate, <10% DD), it's probably repainting. Real edges are 55-65% win rates with honest drawdowns. Repainting indicators destroy more accounts than bad strategies ever will. NEVER trust, ALWAYS verify."
Case Study Quiz: Jake backtested "Ultimate Reversal Pro" indicator and got amazing results: 71.4% win rate, 3.2 profit factor, +247% return. He went live with $32K but lost $14,700 (-45.9%) in 10 weeks with only 34.2% win rate. What was his fatal mistake?
Correct: C. Jake's indicator showed 71.4% backtest WR, but 91.5% of signals moved/disappeared after bar close. He was "trading ghosts"—entries that looked perfect only because they repainted. Fix: screenshot-test live signals. If backtest looks too perfect (>70% WR), it's likely repainting. Real edges produce 55-65% win rates.
What "Deterministic" Means (And Why It Matters)
Here's the thing: Most indicators are built by hobbyists who don't know about repainting. Or worse, by scammers who do know and don't care.
SignalPilot takes a different approach.
💡 Signal Pilot's Guarantee
Every SignalPilot indicator follows strict deterministic rules:
- No future data: All HTF requests use
lookahead_offand[1]offsets - Fixed signals: Once a signal prints, it never moves or disappears
- Confirmed bars only: Signals wait for bar close (no intra-bar magic)
- Open-source auditable: Code is available for independent review
Translation: What you see live is what you'll see in history. No tricks. No lies.
❌ Repainting Indicator
Backtest: 3.2R expectancy, 2.8 profit factor
Live trading: -0.8R expectancy, 0.6 profit factor
Problem: Signals change after bar close
Result: Wasted months, blown account
✓ Deterministic Indicator
Backtest: 1.8R expectancy, 1.6 profit factor
Live trading: 1.7R expectancy, 1.5 profit factor
Integrity: Signals never change
Result: Consistent, profitable edge
Notice: The deterministic indicator has a lower backtest expectancy. That's because it's honest. It doesn't cheat by using future data.
But live? It actually works.
Never Trust, Always Verify
Here's your step-by-step framework for auditing ANY indicator before risking real money:
✅ Indicator Audit Checklist
Before trading ANY indicator:
- Visual test: Watch 3-5 signals live, check if they move after bar close
- Replay test: Use Bar Replay to compare live vs historical signals
- Alert test: Set alerts, track 20+ instances, compare to history
- Code audit (if available): Check for
request.security()red flags
Pass criteria: ALL tests must show consistent signals.
If ANY test fails → DO NOT USE → Find another indicator
🚨 Real Talk
This feels like extra work. It is. But consider the alternative:
Spend 2 hours testing → Save months of losses and psychological damage.
Skip testing → Blow account → Wonder why trading is "impossible."
Your choice.
🎓 Key Takeaways
- 60-90% of indicators repaint — Test everything before trading it
- Repainting = fake edge — Perfect backtests, disastrous live results
- Use 4 detection methods — Visual, Replay, Alert, Code audit
- Deterministic code matters — Signals often never change after bar close
- SignalPilot guarantees it — No future data, no tricks, no lies
- Audit before you trade — 2 hours testing saves months of losses
⚡ Quick Wins for Tomorrow (Click to expand)
Don't overwhelm yourself. Start with these 3 actions:
- Screenshot test 1 indicator — Take 3 screenshots of live signals, check in 10 mins
- Set 1 alert — Pick your main indicator, set an alert, verify it matches after bar close
- Journal it — "Indicator: [name]. Test: Screenshot. Result: Signals moved/didn't move."
After testing 3 indicators this way, you'll know which ones are lying. Remove the liars immediately.
🎯 Repaint Detection Practice
Exercise: Audit Your Current Indicators
Test every indicator you're using for repainting before risking real money:
- Visual Test: Screenshot 3 signals. Wait 10 minutes. Refresh. Did signals move or disappear?
- Replay Test: Use TradingView replay mode. Play forward. Do signals appear BEFORE or AFTER the move?
- Alert Test: Set alerts on live signals. 1 hour later, check chart. Are alerts still valid?
- Backtest vs Live: Paper trade for 20 trades. Compare expectancy to backtest. Large gap = likely repaint
- Document your findings: Which indicators passed? Which failed?
- Remove ALL repainting indicators from your charts immediately
Goal: Verify that every indicator you trade is deterministic. If you can't prove it doesn't repaint, assume it does.
🎮 Quick Check (No Pressure)
You backtest an indicator: 2.8R expectancy. You trade it live: -0.5R expectancy. What's the most likely cause?
How do you test if an indicator repaints?
What was Jake's main mistake?
If you made it this far, you just saved yourself months (maybe years) of pain. Most traders never learn this. You just did.
Backtesting Reality
Avoid repainting in backtests — test for look-ahead bias and curve-fitting
Read Lesson →Price Action is Dead
Use non-repainting order flow instead of lagging price action signals
Read Lesson →RSI Extremes
Learn how RSI works properly — and why "overbought" doesn't mean sell
Read Lesson →⏭️ Coming Up Next
Lesson #5: RSI Extremes Are Not Reversal Signals
Learn why RSI >70 in an uptrend is often a potential BUY signal, and how regime determines everything.
Educational only. Trading involves substantial risk of loss. Past performance does not guarantee future results.
💬 Discussion (0 comments)
Loading comments...