A strategy shows a positive return in backtesting. The equity curve trends upward. The profit factor is above 1.0. By any standard reading of the report, it's profitable.

Then it goes live, and within weeks or months, the account is flat or declining. The strategy hasn't changed. The market hasn't changed dramatically. So what went wrong?

Usually, the answer is one or more of the following structural problems — all of which backtests routinely understate or ignore entirely.


The Hidden Costs That Backtests Don't Capture

Cost TypeBacktest TreatmentLive Impact
Spread
Bid/ask difference on every trade
Usually fixed at a single value (often 1–2 pips) HIGH — widens during news, off-hours, low liquidity
Slippage
Execution at worse-than-requested price
Usually zero — orders fill at exact requested price HIGH for frequent/fast strategies — 0.5–3+ pips per trade
Commission
Broker charge per lot traded
Sometimes included, often default zero MEDIUM — $3–7 per lot each way on ECN accounts
Swap/Rollover
Overnight holding cost
Included in MT4/MT5 if configured, often ignored MEDIUM for swing traders — accumulates significantly over time
Partial fills
Order not fully filled at target price
Not modeled — all orders assumed fully filled LOW-MEDIUM — mainly affects high-volume or illiquid pairs

The Scalping Problem: A Worked Example

The strategies most vulnerable to hidden costs are high-frequency and scalping systems. Here's a concrete illustration:

// Scalping EA — Backtest Settings Average trade target: 8 pips Spread assumed: 1.0 pip (fixed) Slippage assumed: 0 pips Net backtest profit per trade: +7.0 pips Profit Factor: 1.85 // Same EA — Live Conditions Average trade target: 8 pips Spread actual (avg with news spikes): 2.2 pips Slippage actual (avg): 0.8 pips Net live profit per trade: +5.0 pips ← 29% reduction Live Profit Factor: ~1.22 ← barely positive after swap/commission

A 3-pip difference per trade sounds minor. But across 200 trades per month, that's 600 pips of additional cost. The strategy was genuinely profitable in its backtest assumptions — and genuinely marginal in reality.

// Danger Zone

Any strategy with an average profit target below 10 pips is highly sensitive to execution costs. Even a 1–2 pip increase in average spread can halve the effective profit factor. Always test these strategies with at least 2× your broker's typical spread and 1–2 pips of slippage.


The Structural Problems Beyond Execution Costs

Problem 1: Margin of Safety Too Thin

A strategy with a profit factor of 1.15 might pass a basic profitability test, but it has almost no margin of safety. Any slight increase in execution costs, any minor shift in market behavior, or any small drift in the parameters' effectiveness will push it below 1.0. Strategies need a buffer — ideally a profit factor of 1.4 or above — to remain profitable after the real-world friction that backtests omit.

Problem 2: Regime Dependency Without Recognition

Many strategies appear profitable because they worked exceptionally well during one type of market condition that dominated the backtest period. A trend-following system backtested from 2020 to 2023 captured one of the most pronounced trending periods in recent FX history. It looks profitable — because it was profitable under those conditions. The question is whether those conditions are the exception or the rule.

My grid strategy backtested beautifully from 2015 to 2019. Consistent returns, manageable drawdown, everything looked solid. I didn't realize it had survived because EURUSD ranged tightly during that entire period. The moment the pair started trending in 2022, the grid got destroyed. I wasn't running a profitable strategy — I was running a ranging-market strategy during a ranging market.

Problem 3: The Martingale / Position Sizing Illusion

Strategies that use position sizing escalation — adding to losing positions, doubling lot sizes after losses — can produce impressive-looking net profits in backtests that simply ran out of time before the inevitable blowup occurred. The strategy isn't profitable; it's drawing down slowly while generating interim returns, until the market sequence required to trigger the terminal loss appears.

// Warning Sign

If your strategy's lot sizes change based on trade history (martingale, averaging down, grid with increasing lots), examine the maximum simultaneous open positions and maximum combined exposure. A 5-year backtest may simply never have encountered the sequence that would end the account.

Problem 4: Ignoring Swap Costs on Carry Trades

Swap rates — the overnight holding cost for carrying positions — can represent a significant drag for strategies that hold positions for days or weeks. On pairs where you're on the wrong side of the interest rate differential, swaps can accumulate to several hundred dollars per lot per month. A backtest that didn't include swap costs may show profit that is entirely consumed by this cost in live trading.


How to Build a Realistic Profitability Test

// The Stress Test Protocol

Before accepting any backtest as "profitable," run it again with: (1) spread × 2.0, (2) 1–2 pips of slippage on every entry and exit, (3) commission at your broker's actual rate, (4) swap rates included. If the strategy remains profitable after this adjustment, the edge is likely real. If it breaks, the original "profit" was an artifact of unrealistic assumptions.

A strategy that passes this stress test doesn't guarantee live success — but it at least demonstrates that its edge is large enough to survive the friction of real execution. That's the minimum bar worth clearing before any real capital is committed.

The question isn't "did the backtest make money?" It's "did the backtest make money under conditions that resemble live trading?" Those are very different questions, and most beginners only ask the first one.

Check Your EA's Real-World Viability

EA Analyzer Pro extracts key metrics from your MT4/MT5 backtest report and helps you identify strategies with genuine vs marginal edge.

→ OPEN EA ANALYZER PRO