Updated 2026-07-26 · 6 min read
Automated backtesting (Python, EA, Pine Script) is powerful but has a steep learning curve. More importantly, it cannot test discretionary strategies — setups where you use judgment to decide "this FVG looks clean, but that one doesn't." Manual backtesting lets you practice the actual skill of reading charts and making decisions under uncertainty, which is what live trading actually demands.
Manual backtesting also eliminates the risk of coding bugs introducing false results. A backtest that shows a 90% win rate because of a Pine Script logic error is worse than useless — it is misleading.
Use a browser-based bar-by-bar replay backtester. FXAbsolute is free, runs in any browser, has 10 forex pairs with 5 years of M15 data, and includes a built-in trade journal that auto-tracks your win rate, profit factor, R:R, and drawdown. No download, no sign-up. If you use something else, the key requirement is bar-by-bar replay — you must be able to advance one candle at a time without seeing future candles.
Start with EURUSD or GBPUSD on H1 (1-hour candles). These pairs have tight spreads, clean price action, and enough daily movement to generate setups without being chaotic. Do not jump between 5 pairs and 3 timeframes — that is how you end up with 12 trades across 6 combinations and zero statistically valid data. Master one pair on one timeframe first.
Not vague intentions. Not "enter when it looks like a reversal." Write exact, testable rules: "Entry: price closes above the 50 EMA on H1, RSI(14) above 30 but below 70, bullish engulfing candle. Stop loss: below the engulfing candle low minus 5 pips. Take profit: 2x the stop loss distance." If you cannot write the rules precisely enough that another trader could follow them without asking questions, the strategy is not backtestable yet. Write the rules first. Then open the chart. Never the other way around.
This is the step that separates honest backtests from fantasy. Advance to a new candle. Look at it. Does it meet your entry conditions? If yes, write down your entry, SL, and TP in your journal before advancing to see what happens next. If the candle does not meet conditions, advance past it. Never skip a candle that meets your conditions because "it doesn't look right" — that is hindsight bias. If you wrote the rules, and the conditions are met, you enter. Period.
Every trade gets logged: pair, timeframe, direction, entry price, SL, TP, exit price, result (win/loss/breakeven), date/time, and a one-sentence note about why you entered. If a setup was ambiguous — "RSI was 71, just above my 70 threshold" — log it as a trade anyway. The point of backtesting is not to feel good about your win rate. It is to discover what your real win rate is. A journal with 100% clean setups is a journal that filtered out the hard ones.
At 30 trades, your win rate could be off by 18% in either direction. At 100 trades, it is still ±10%. At 200, you can start drawing real conclusions. Calculate: win rate (wins ÷ total trades), profit factor (gross profit ÷ gross loss), average R:R (average winner size ÷ average loser size), and maximum consecutive losses. A strategy with a 45% win rate and 2:1 R:R is more profitable than one with a 65% win rate and 1:1 R:R. Do not judge your strategy by win rate alone — judge it by profit factor and expectancy.
FXAbsolute gives you bar-by-bar replay, automatic trade journaling, win rate and profit factor tracking, and 5 years of real data. No Python. No Excel. No MT4. Just open the site and start.
▶ Start Free Backtesting →