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
The 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