How to Backtest a Trading Strategy in TradingView (The Right Way)
Most traders backtest wrong — they cherry-pick the time period, ignore slippage, and over-optimize until the strategy fits history perfectly. Here's how to run a backtest that actually tells you something useful.
Why most backtests are useless
A backtest that looks great is easy to produce. Run your strategy on the last 6 months of a trending market, optimize the parameters until the equity curve looks like a staircase going up, and screenshot it. Congratulations — you've proven nothing.
Backtesting is useful when it's honest. That means realistic costs, an out-of-sample period, and enough trades to be statistically meaningful. Most retail traders skip all three.
Step 1: Set realistic commission and slippage
TradingView's default backtest settings have zero commission and zero slippage. This is not the real world. Every trade you make costs money — spread, exchange fees, and the difference between the price when your signal fires and the price when your order fills.
In the Strategy Tester properties, set commission to match your actual exchange fees (typically 0.05-0.1% for crypto, 0.01-0.05% for equities) and set slippage to at least 1-2 ticks. These two changes alone will kill most strategies that look great on paper.
Tip
TradePilot-generated strategies include strategy() declarations with default_qty_type=strategy.percent_of_equity to size positions as a percentage of equity rather than fixed contracts. This gives more realistic equity curve behavior.
Step 2: Use enough history
A backtest on 3 months of data means nothing. Markets go through regimes — trending, ranging, volatile, quiet. Your strategy needs to be tested across all of them. For intraday strategies, use at least 1-2 years. For daily/weekly strategies, use 5-10 years minimum.
More importantly, reserve 20-30% of your data as out-of-sample. Optimize parameters on the in-sample period, then run the optimized strategy on the out-of-sample period without changing anything. If performance collapses, the strategy was curve-fitted to history.
Step 3: Check statistical significance
100 trades is the minimum for any meaningful conclusion. Below that, variance dominates — a few lucky trades can make any strategy look profitable. 200+ trades gives you something to work with. 500+ is where you start to trust the numbers.
Also check your win rate against your reward-to-risk ratio. A strategy with 40% win rate needs an average win of at least 1.5x the average loss to be profitable long-term. High win rate with small wins and large losses (the classic retail trap) destroys accounts over time.
- Minimum 100 trades — aim for 200+
- Profit Factor above 1.3 (total wins / total losses)
- Max Drawdown under 20% for most strategies
- Sharpe Ratio above 1.0 suggests risk-adjusted returns are acceptable
- Win Rate and Avg Win/Loss ratio must be consistent with each other
Step 4: Don't optimize on the same data you test on
This is curve fitting. If you run 500 parameter combinations on 2 years of data and pick the best one, you haven't found the best parameters — you've found the parameters that happened to fit that specific historical period. Run those same parameters on the next 6 months and they'll often perform at or below random.
Walk-forward optimization is the correct approach: optimize on period A, test on period B, optimize on period C, test on period D, and so on. TradePilot's Strategy Optimizer is designed to support this — run the optimizer on your in-sample data, then manually verify on out-of-sample data before going live.
Tip
TradePilot's Strategy Optimizer ranks results by Net Profit, Win Rate, Profit Factor, or Sharpe Ratio. Use Profit Factor or Sharpe Ratio as your ranking metric — they're more robust than raw profit for out-of-sample performance.
Step 5: Live test before risking real capital
Even an honest, statistically rigorous backtest is a simulation. Market microstructure, liquidity, and your own execution matter in live trading. Before sizing up, run your strategy on paper trading for 1-3 months. If live performance matches the backtest, you have a real edge.
TradePilot Team
Traders and engineers building the fastest way to go from idea to live Pine Script strategy, right inside TradingView.
More articles
TradingView Alerts Not Firing? The Pine Script Reasons and Fixes
ReadGuidePine Script for Beginners: Where to Start in 2026
ReadEducationCan AI Write Profitable Trading Strategies? An Honest Answer
ReadTutorialThe EMA Crossover Strategy in Pine Script v6 (Complete Guide + Code)
ReadComparisonPine Script vs MQL vs thinkScript: Which Trading Language Should You Learn?
ReadPine ScriptMulti-Timeframe Pine Script: Using request.security Without Repainting
ReadEducationTradingView Strategy Tester Explained: Reading Your Backtest Like a Pro
ReadTutorialHow to Add a Stop Loss and Take Profit in Pine Script v6
ReadPine ScriptPine Script 'Could Not Find Function' Error: Why It Happens and How to Fix It
ReadStrategy10 Pine Script Indicators Worth Building in 2026 (And How)
ReadPine ScriptPine Script Alerts: alert() vs alertcondition() and When to Use Each
ReadTutorialHow to Write an RSI Strategy in Pine Script v6 (With Working Code)
ReadComparisonFree vs Paid Pine Script AI: Is It Worth Paying?
ReadGuidePine Script Generator vs Writing It By Hand: Which Is Faster?
ReadGuideWhy AI Gets Pine Script Wrong (And How to Fix It)
ReadGuideThe Best Pine Script AI for Beginners in 2026
ReadComparisonCan ChatGPT Write Pine Script v6? We Tested It Properly
ReadPine ScriptPine Script Compile Errors: The Most Common Causes and Exact Fixes
ReadEducationTradingView Pine Script Generator: How AI Writes Your Strategy Code
ReadStrategyPine Script Strategy Optimizer: How to Find the Best Parameters for Your Strategy
ReadTutorialHow to Create a Pine Script Strategy with AI: Complete 2026 Guide
ReadPine ScriptPine Script v6 Function Reference: ta.*, strategy.*, input.*, request.*
ReadTutorialHow to Install TradePilot in TradingView (Step-by-Step Guide)
ReadComparisonBest Free AI Tools for Pine Script in 2026 (Honest Comparison)
ReadPine ScriptPine Script v6 Syntax Changes: Everything That Breaks Coming from v5
ReadEducationThe Best TradingView Indicators and Strategy Types in 2025 (And How to Build Them with AI)
ReadEducationPine Script v6 Complete Guide: Strategies, Indicators, and Alerts That Actually Work
ReadComparisonTradePilot vs ChatGPT for Pine Script: Why a Specialist Wins Every Time
ReadProductEdit Any Pine Script Strategy with Plain English — No Coding Required
ReadProductOne Click to Fix Any Pine Script Error Inside TradingView
ReadProductStop Guessing Parameters. TradePilot's Strategy Optimizer Tests Them All.
ReadProductWe Built the Fastest AI Pine Script Generator Inside TradingView
ReadPine ScriptEMA Crossover Strategy in Pine Script v6: Full Code with RSI Filter, Stop Loss & Alerts
ReadBacktestingTradingView Backtesting Guide 2025: How to Test Any Strategy with Pine Script
ReadAI TradingAI Pine Script Generator: How to Create TradingView Strategies Without Coding in 2025
ReadPine ScriptPine Script Strategy: The Complete 2025 Guide to Writing TradingView Strategies
Read