Diagnosing EA Performance Degradation: When the Broker Changes the Spread Model
The Pattern
A trader runs an EA profitably for months or years. No code changes. No settings modified. The equity curve starts bleeding. The trader backtests — still shows good results. The trader re-optimizes — makes it worse.
I have encountered this three times since January 2026. Each time, the root cause was a broker-side change in execution conditions — not a broken strategy.
In a recent case, a EURUSD scalper profitable since mid-2023 started losing in February 2026. The trader re-optimized twice. The first round reduced performance slightly. The second turned a 12% loss into 19%. The EA's original parameters were sound the entire time.
What Brokers Change
Brokers adjust execution environments for legitimate business reasons — regulatory compliance, liquidity provider renegotiation, competitive repositioning. The five changes that break EAs most often:
- Spread model shifts — fixed to variable, or wider variable range. What used to be 0.6-1.2 pips on EURUSD becomes 0.8-2.5 pips.
- Commission restructuring — per-lot commissions to spread markup, or rate changes.
- Execution type changes — instant execution to market execution. EAs built for instant execution do not handle slippage.
- Slippage policy adjustments — fill priority changes that shift average fill prices by fractions of a pip.
- Stop level modifications — minimum SL/TP distance changes that cause error 130 rejections.
In the client case, average London session spread went from 0.8 to 1.4 pips. On a 6-pip scalper, spread cost jumped from 13% to 23% per trade.
Why Backtests Miss This
The Strategy Tester uses historical tick data with the spreads that existed when the data was recorded. A backtest on 2024-2025 data shows the old spreads. The trader sees a 68% win rate in the tester while live trading shows 41% on identical parameters.
"Every tick" mode generates ticks from stored bars — past conditions, not current ones. The diagnostic tool most traders reach for actively confirms the wrong conclusion.
Three-Check Diagnostic
Before changing any EA parameters, run these three checks:
Check 1: Compare Execution Costs
Sample the spread at entry during your trading window and compare against your profitable period:
In the client case, this check took 20 minutes and showed a 75% increase in average spread during London session.
Check 2: Test on Second Broker
Open a demo account with a different broker. Same settings, same parameters, same symbol. If the EA performs closer to its historical profile, the problem is broker-specific. In the client case, the EA returned to within 5% of original performance on the second broker.
Check 3: Audit Fill Quality
Compare requested entry price against actual fill:
If average slippage increased or variance widened, the execution environment changed.
Adapting Without Destroying the Strategy
Re-optimization changes the strategy to fit a cost structure that did not exist when the EA was profitable. The correct response is adapting the execution layer while preserving the signal logic.
Spread-aware entry filter:
This skips entries during the widest spread windows without permanently disabling the strategy.
Commission-adjusted take profit:
Build Execution Monitoring Into Every EA
Every production EA should track three rolling metrics:
- Average spread at entry — sample on every trade open, maintain rolling average over last 50-100 trades
- Average slippage per order — compare requested fill price to actual fill price
- Effective commission cost — log per trade from broker-reported data or known rate
When any metric deviates beyond 2 standard deviations from its rolling baseline, generate an alert. This adds roughly 50 lines of code and prevents weeks of degradation going unnoticed.
In the client case, the full intervention was one spread filter, one TP adjustment, and one parameter revert. No strategy changes. The EA recovered to approximately 90% of original performance within three weeks.


