Free Forex Backtesting Software: Access, Data and Test Design
Free forex backtesting can help you inspect a trading rule without submitting live orders. The word free needs a narrower definition, though: an included testing engine, a limited cloud plan and a software trial provide different access to data and computing resources.
Choose around the strategy's execution requirements. A rule that uses completed daily bars needs different evidence from a scalping rule whose outcome depends on the order of bid and ask ticks.
Compare what you can actually test
| Tool | Useful starting point | Constraint to check |
|---|---|---|
| MetaTrader 4 | Run an existing MQL4 Expert Advisor in the included Strategy Tester | Broker history, modelling mode and the spread setting |
| MetaTrader 5 | Test MQL5 EAs, including multi-symbol logic | Availability of real ticks and synchronization of each symbol's history |
| TradingView | Pine strategy simulation or manual Bar Replay | Plan, symbol, interval, available history and separate replay-trading access |
| Forex Tester desktop trial | Evaluate manual testing controls | Trial duration, project saving and included history |
| QuantConnect | Programmatic research with the LEAN engine | Free-plan resolution, datasets, compute and paid deployment features |
| Backtrader | Python research using data you supply | Data preparation, fill modelling and local computing resources |
This is a workflow comparison, not a ranking from a documented hands-on performance test.
MT4 and MT5: inspect the tester settings
MT4's tester setup documentation explains that its stored history uses bid prices and its default ask-price modelling uses the spread at the start of testing; a custom spread can be entered. That is a material limitation for strategies sensitive to spread changes.
Open the Strategy Tester, select the EA, symbol, dates and modelling method, and save the settings with the report. Inspect several trades in visual mode. Confirm which price triggers each order and whether the result depends on movement inside a candle that the selected data cannot resolve.
MT5 testing supports multiple modelling modes, including real-tick testing where the required history is available. A broker's terminal does not guarantee complete tick coverage for every symbol or date. Record gaps and downloaded history before comparing runs. Local testing and paid cloud optimization resources are separate cost questions.
TradingView: replay and strategy simulation are different
Bar Replay advances a chart through history; a Pine strategy uses TradingView's broker emulator to apply coded rules. An indicator with arrows is not automatically a strategy, and a replay chart does not turn an ordinary broker order into a historical simulated trade.
Check the current TradingView plan and Replay history limits for the exact interval. Daily history and intraday history differ. Use Select the first available day to inspect the supported starting point. A free account should not be presented as unlimited intraday replay access.
A CSV downloaded from another provider cannot simply be imported to replace a symbol's candles on TradingView's hosted chart. If a required period is missing, choose a supported feed or an engine that accepts the dataset you have.
Pineify can help prepare Pine scripts, and its Coding Agent also supports MQL workflows. Run Pine strategies in TradingView and MQL EAs in their matching MetaTrader tester. Code generation, platform execution and analysis of an exported report are separate steps; generating code does not provide instant verified backtest results or additional market-data rights.
Cloud free tiers and desktop trials
As checked on October 20, 2026, QuantConnect's pricing page lists forex among the free plan's asset classes and includes backtesting. Its comparison distinguishes minute/hour/daily resolution from tick/second access and separates free research from paid capabilities. Open-source LEAN availability does not make every dataset, hosted resource or live deployment free.
The Forex Tester desktop trial comparison lists one month of testing history, one hour of uninterrupted testing and no project saving for the trial. Those terms describe that desktop trial, not necessarily a separate online product. It can demonstrate the controls, but it is not an unrestricted long-term research environment.
Backtrader is a Python framework. You supply compatible data and choose the commission, slippage and execution assumptions. Converting a spreadsheet into a feed does not verify its timestamps, missing rows or bid/ask interpretation. A configurable model still needs comparison against the market and broker behavior you intend to simulate.
A reproducible first forex test
- Write the exact entry, exit, sizing and trading-session rules before viewing the test results. Specify whether decisions use a completed bar or an intrabar event.
- Record the pair, provider, time zone, date range, price type and available resolution. Inspect gaps and daylight-saving transitions.
- Include spread, commissions and overnight financing where relevant. Separate costs already embedded in bid/ask prices from added charges to avoid double counting.
- Save several individual trades with their signal and fill timestamps. Check that the inputs existed at the time of each decision.
- Reserve a later period before adjusting parameters. Keep a record of every candidate tried, including failures, and rerun the chosen rule unchanged on that reserved period.
- Test sensitivity to plausible cost and execution changes. Use subsequent demo observations to compare order behavior, rather than treating historical results as a promise of live performance.
There is no universal minimum of two years or 200 trades that establishes reliability. The useful sample depends on the rule's frequency, dependence between trades and the market conditions represented. Many trades during one repeated condition may add less information than the count suggests.


