Free Backtesting Trading: Tools, Limits and Honest Checks
Free backtesting trading means replaying historical prices against written rules without paying for a tester. You can do that with TradingView bar replay, a spreadsheet, a broker demo and, if you code, public data. None of those methods remove spread, slippage or overfitting, and none of them are a forecast of live results. Trading involves risk of loss.
What a free test can and cannot prove
A backtest answers one narrow question: if these rules had been applied to this past sample, with these assumptions, what would the sequence of trades have looked like. It does not prove the rules will work next month. Free trading backtesting is useful when you treat it as a filter that discards obviously broken ideas, not as evidence that an idea is ready for size.
Write the rules in plain language first: instrument, session, entry, invalidation, target or time stop, and position size method. If you cannot write them so a second person could mark the same bars, the test will be theatre. Keep the sample long enough to include more than one regime. A few weeks of a trending crypto pair is not a test of a mean-reversion rule.
Free methods that actually run on a retail desk
You do not need a paid platform to start. The four routes below are the ones most retail traders can open today. Pick one primary method and stick to it for a given idea so you are not mixing apples with oranges.
TradingView bar replay on a free plan
Bar replay lets you walk forward bar by bar on charts you already use. It is visual, which helps you catch rules you would never notice in a table. On a free plan you still get replay; you do not get the Strategy Tester’s full report engine that paid plans expose. Use replay for discretionary or indicator-assisted rules. Hide the right-hand side of the chart. Advance one bar at a time. Log every signal, every skip, and every reason you overrode the rule.
Record at least: date, symbol, timeframe, direction, entry price, stop, target, result in R, and whether spread would have changed the fill. Twenty logged trades is a start; two hundred across two market types is more honest. If you use custom indicators, confirm they are non-repainting on closed bars. A signal that only appears after the bar closes is the only signal you could have taken live.
A spreadsheet with fixed assumptions
A sheet is the cheapest way to force numbers. Columns that matter:
| Column | What to put in it |
|---|---|
| Date and session | Timestamp plus London, New York or Asia if the rule cares |
| Setup ID | Short code so you can group BOS, FVG, VWAP reclaim and so on |
| Entry, stop, target | Prices you would have used, not later highs |
| Spread and slippage | A fixed cost in pips, ticks or percent; do not leave this blank |
| Size in R | Risk per trade as a fraction of equity, not a round lot |
| Outcome | Win, loss, scratch, plus R multiple after costs |
Use a conservative cost. For liquid FX majors, 1 to 2 pips round-turn plus a tick of slippage is a starting haircut, not a promise. For small-cap stocks and thin crypto pairs, costs can be several times that. Recalculate equity after every trade. If you skip that step you hide the effect of a cluster of losses.
Broker or exchange demo
A demo fills the gap replay cannot: order types, partial fills and session gaps. It is still not live money. Demo liquidity is often cleaner than the book you will meet at size. Use it after the spreadsheet or replay pass, not instead of it. Keep the same written rules. If you change the rules mid-demo, start a new log.
Code and public data, if you already write scripts
Python with freely available daily data can batch-test simple rules. Intraday free data is patchier: missing ticks, adjusted corporate actions and survivorship (delisted names vanish) all bias results upward. If you cannot explain those biases in one paragraph, do not treat the equity curve as decision-grade. Pine Script strategy() on TradingView is another path, but the free plan limits how far you can push reports. Indicators used as overlays are not strategies; do not confuse a painted signal with a fill.
Limits you must budget for in any free trading backtesting
Look-ahead bias: using a bar’s high, close or indicator value before that bar was known. Fix: only act on confirmed closed bars.
Survivorship: testing only names that still exist. Fix: include the names that failed, or stick to index constituents with a known membership list.
Spread, commission and slippage: free charts show mid or last. Live you pay the spread and sometimes more. Fix: subtract a cost on every round-turn before you compute R.
Overfitting: too many filters on too little data. If adding a third condition doubles the win rate on 40 trades, you probably fitted noise. Fix: freeze rules, then test on a later sample you did not touch.
Regime change: a rule that worked in 2020 - 2021 trend may fail in a two-way year. Free samples still need more than one volatility regime.
Position sizing: a 2R average on 0.25% risk per trade is a different animal from the same R on 2% risk. Size is part of the test, not an afterthought. Trading involves risk; a pretty curve with oversized risk is still a path to a blown account.
A practical sequence that stays free
- Write the rule on one page. Include invalidation and a maximum trades per session.
- Mark 50 historical examples by hand on replay. Discard the idea if you cannot mark them consistently.
- Put those 50 plus the next 50 you have not seen into a sheet with costs.
- Compute expectancy after costs: (win rate × average win R) minus (loss rate × average loss R). If expectancy is near zero after a realistic haircut, stop.
- Walk the same rule on a demo for a fixed calendar window, same size method, no mid-test edits.
- Only then decide whether the idea is worth a tiny live size. Tiny means a loss you can ignore, not a size that “feels serious”.
Do not average in extra timeframes, extra indicators or extra markets until this sequence is finished. Stacking tools is how free tests become fiction.
Where chart tools fit, without pretending they are a tester
Breakout, market structure (BOS/CHOCH), liquidity, FVG, VWAP, session and premium/discount tools help you define the setup you are testing. They are analysis and decision-support, not a guarantee of fills. ZynIQ sells Pine Script v6, non-repainting indicators as a one-time purchase that run on any TradingView plan including free, which matters if your only budget is replay plus a sheet. Use them to mark structure the same way every time; still log costs and still refuse to treat the log as a profit forecast. There is also a trading bot in that catalogue; a bot is not a substitute for the sequence above, and connecting anything to live funds is a separate risk decision.
What “good enough” looks like before you spend money
You want a written rule, a costed log, a second sample that was not used to design the rule, and a demo window with the same size method. Win rate alone is a weak metric. A 40% win rate with 2R winners and 1R losers can beat a 70% win rate with 0.4R winners once costs land. Track max consecutive losses and max drawdown in R. If you would not sit through that drawdown live, the test is not finished; the size is too large for you.
Free backtesting trading will not give you institutional tick data, full fill modelling or a compliance-grade report. It will tell you whether an idea is obviously broken. That is the job. Anything beyond that needs either better data, a paid tester, or live size so small that being wrong is cheap. Never size from a free curve as if it were a forecast.
Frequently asked questions
Is TradingView backtesting free?
Bar replay is available on the free plan and is enough for discretionary or indicator rules if you log fills by hand. The full Strategy Tester report set is tied to paid plans. Either way you must add spread and slippage yourself; the chart does not pay your costs.
Can I do backtesting trading free without writing code?
Yes. Write the rules, use bar replay, and keep a spreadsheet with entry, stop, target, cost and R. A broker demo adds order-type friction. Code helps you batch more symbols, but it is not required for a first honest filter.
How many trades do I need before I trust a free test?
Fifty marked examples is a minimum to see whether you can apply the rule at all. A few hundred across more than one regime is more useful. Small samples with many filters are where overfitting hides. Always hold out a later sample you did not use to design the rule.
Why do free tests look better than live results?
Common causes are missing spread, no slippage, acting on intra-bar values, dropping failed symbols, and changing rules after seeing the outcome. Haircut every trade, use closed bars only, and freeze the rule before the second sample.
Should I use a free test to set live position size?
No. Use it to discard bad ideas and to estimate how ugly a losing streak might feel in R. Live size should be a loss you can tolerate, because the test is not a prediction. Trading involves risk of loss.
Do paid indicators replace a backtest?
No. Indicators mark structure, sessions, VWAP, FVG and similar. They do not prove expectancy. You still need a written rule, costs, and a log. Treat them as decision-support on the chart you already replay.