Home / Blog / The EA That Worked for Three Years (Until the Broker Changed Spread Model)

The EA That Worked for Three Years (Until the Broker Changed Spread Model)

Split comparison showing a stable EA equity curve with normal spreads versus the same EA with degraded performance after broker spread model changes

Consider a EURUSD scalper, profitable for more than two years with untouched code and identical settings, that loses 12% in six weeks. Its owner has already re-optimized it twice, and each round makes it worse. The EA is not broken — the broker has quietly changed its spread model, and that single shift silently invalidates the assumptions baked into the EA’s logic. When a profitable EA starts losing money without any code changes, a broker-side shift in spread behavior, commission structure, or execution model is the most likely cause, not a broken strategy.

The trader sees declining equity, assumes the strategy failed, re-optimizes parameters to fit recent data, and destroys the original edge in the process. The real cause is external — and the fix does not require touching the core strategy at all.

The Pattern: Nothing Changed, Everything Broke

The scenario is always the same. A trader has been running an EA profitably for months or years. Nothing in the code changed. No settings were modified. The market did not crash. But the equity curve, which used to grind steadily upward, starts bleeding.

The trader’s first instinct is to check the code. Nothing wrong. Second instinct: re-run the backtest. The backtest still looks fine — 68% win rate, smooth equity curve, reasonable drawdown. The strategy “works.” So the trader concludes something mysterious happened and starts re-optimizing parameters to fit the recent losing period.

This is where the real damage begins. Re-optimization on a period where the execution environment has changed means the optimizer is fitting parameters to a cost structure that did not exist when the EA was profitable. The new parameters compensate for wider spreads by widening stops and tightening targets — which destroys the risk-reward ratio that made the strategy profitable in the first place.

In the example, the EA has been running on EURUSD for more than two years. Consistent results, no interventions needed. Then the equity curve starts declining. By the time anyone looks at the execution environment, two rounds of re-optimization have been applied. The first reduces performance slightly. The second turns a 12% loss into a 19% loss. The EA’s original parameters are sound. The execution environment has moved underneath them.

What Brokers Actually Change (and Why They Do Not Tell You)

Brokers adjust their execution environment regularly. They do this for legitimate business reasons — regulatory compliance, liquidity provider renegotiation, competitive repositioning — not to target individual traders. But the changes are rarely announced in advance, and they directly affect how your EA interacts with the market.

Here are the five changes that break EAs most often:

Spread model shifts. A broker moves from a fixed or near-fixed spread to a wider variable spread. Or the variable range widens — what used to be 0.6–1.2 pips on EURUSD becomes 0.8–2.5 pips. For a scalper targeting 5–8 pips per trade, that increase eats directly into the profit margin.

Commission restructuring. A broker changes from per-lot commissions ($7 per round turn lot) to a spread markup model, or adjusts the commission rate. The EA’s profit target was calibrated against the old cost structure. The math no longer adds up.

Execution type changes. A broker shifts from instant execution (where you get the exact price you requested or a requote) to market execution (where you get the best available price, which may differ). EAs built for instant execution do not handle slippage because they never needed to.

Slippage policy adjustments. The broker changes how much slippage it permits on market orders, or changes the priority queue for different account types. Your EA’s fill prices shift by a fraction of a pip on average — invisible on any single trade, but compounding across hundreds of trades per month.

Stop level modifications. The minimum distance between current price and a stop loss or take profit changes. An EA that sets tight stops may suddenly get error 130 rejections it never encountered before, missing entries or failing to manage positions.

In 2025 and early 2026, several brokers adjusted their ECN and STP models in response to updated regulatory transparency requirements. These were not minor tweaks — some brokers restructured their entire spread and commission models. Traders running stable EAs saw unexplained performance degradation with no code changes on their end.

Why Backtests Cannot Diagnose This

The trader’s instinct after seeing declining performance is to backtest. Logical, but misleading in this case.

The MetaTrader Strategy Tester uses historical tick data. That data reflects the spread and execution conditions that existed when the data was recorded — not the conditions that exist today. If your broker changed its spread model in February 2026, a backtest on 2024–2025 data still shows the old spreads. The backtest tells you the strategy is sound, because under the old conditions, it was.

In the example, the backtest shows a 68% win rate and live trading after the change shows 41% on the same parameters. The only variable that changed is the average spread during the London session: it rises from about 0.8 pips to 1.4 pips. That difference does not look dramatic, but on a scalper targeting 6-pip trades, the spread’s share of each trade jumps from roughly 13% to 23% — nearly doubling the cost absorbed before the trade reaches breakeven. Over hundreds of trades per month, those ten extra percentage points erode the entire edge.

Bar chart comparing spread cost as percentage of a 6-pip scalping trade before and after broker spread change, showing increase from 13 percent to 23 percent

The backtest cannot show this because the historical data predates the change. “Every tick” mode generates ticks from stored bars using the broker’s historical data — which reflects past conditions, not current ones. The trader sees a backtest that confirms the strategy works, while the live environment has fundamentally shifted.

This is why performance degradation from broker changes is so dangerous: the diagnostic tool most traders reach for — the Strategy Tester — actively confirms the wrong conclusion.

The Diagnostic: How to Isolate an Environment Change

Before changing anything in your EA, run this three-check diagnostic to determine whether the degradation is environmental or strategic.

Flowchart showing three sequential diagnostic checks to determine if EA performance degradation is caused by broker environment changes or strategy decay

Check 1 — Compare current execution costs against your profitable period.

If your EA logs spread and commission data (it should — see Section 6), compare the averages. If it does not log this data, start now: use MarketInfo(Symbol(), MODE_SPREAD) (opens in a new tab) to sample the spread on every tick during your trading window, and compare against what your EA was designed for. In the example, this check shows a 75% increase in average spread during the London session.

Check 2 — Run the EA on a different broker’s demo account.

Open a demo account with a different broker. Same settings, same parameters, same symbol. If the EA performs closer to its historical profile on the second broker, the problem is broker-specific, not strategic. In the example, the EA on a second broker’s demo returns to within 5% of its original performance profile. Diagnosis confirmed.

Check 3 — Audit fill prices against signal prices.

Compare the prices at which the EA intended to enter against the prices it actually received. If average slippage has increased, or if the variance in fill quality has widened, the execution environment has changed. This requires the EA to log both the requested price and the actual fill — data that most EAs do not capture but should.

If checks 1 and 2 point to the broker environment, you have your answer. If the EA performs poorly on a second broker too, the environment is not the cause — revisit the strategy itself (see Section 7).

In the example, Check 1 reveals the spread change and Check 2 confirms it is broker-specific. Check 3 is not needed for the diagnosis, but it is worth running anyway to quantify the impact for the adaptation plan.

The Fix: Adapting Without Destroying the Strategy

The correct response to environment-caused degradation is not re-optimization. Re-optimization changes the strategy to fit the new cost structure, which destroys the original edge. The correct response is adapting the execution layer while preserving the strategy logic that was working.

Three adaptation categories:

Spread-aware entry filters. Add a dynamic spread check before entry. Skip the trade when the current spread exceeds a threshold relative to the rolling average. For the example EA, that is a filter that rejects entries when spread exceeds 1.5 times the 20-period average spread. This avoids entering during the widest spread windows without permanently disabling the strategy.

Commission-adjusted profit targets. If the broker changed commission structure, recalculate the take profit to maintain the same net-of-cost profit per trade. This is arithmetic, not strategy modification — the entry logic and signal generation remain untouched. You are adjusting for a changed cost input, not changing the trading thesis.

Execution monitoring. Log the actual fill price versus the requested price on every order. Calculate rolling averages for slippage. If slippage degrades beyond a threshold, the EA alerts you instead of continuing to trade in an adverse environment.

In the example, the adaptation is the spread filter, a take profit moved by 0.6 pips to compensate for the wider spread, and a revert of both rounds of re-optimization to the original parameters that had worked for more than two years.

At barmenteros FX, this is the type of diagnostic and adaptation work we do — isolating whether degradation is environmental or strategic, then adjusting execution parameters without touching the signal logic that was generating edge.

The total intervention: one spread filter, one TP adjustment, one parameter revert. No strategy changes. No re-optimization. The EA’s core logic was sound the entire time.

Build Execution Monitoring Into Every EA

The root vulnerability in the example EA — and in many EAs in production — is the absence of execution monitoring. The EA assumes static execution conditions and has no mechanism to detect when those conditions change.

Every production EA should track three metrics on a rolling basis:

– Average spread at entry. Sample the spread at the moment each trade opens. Maintain a rolling average over the last 50–100 trades.

– Average slippage per order. Compare the requested fill price to the actual fill price. Track the rolling average and standard deviation.

– Effective commission cost per trade. If the broker reports commission data, log it per trade. If not, calculate from the known commission rate and actual lot size filled.

When any metric deviates beyond 2 standard deviations from its rolling baseline, the EA generates an alert — a journal entry, a push notification, or both. The trader investigates before the deviation compounds across dozens of trades.

This is not complex to implement. In MQL4 or MQL5, it adds roughly 50 lines of code — a small array for each metric, an update function called after each trade execution, and a comparison function that fires the alert. The data itself is already available through MarketInfo() (opens in a new tab), OrderOpenPrice() (opens in a new tab), and OrderCommission() (opens in a new tab).

The cost of not having this monitoring is the example’s whole story: six weeks of degradation before anyone diagnoses the cause, two rounds of harmful re-optimization, and a 19% equity drawdown on a system that was fundamentally sound.

When It Really Is the Strategy

Not every performance decline is an environment change. Genuine strategy decay exists, and this diagnostic framework will tell you when you are facing it.

If the EA performs poorly on a second broker’s demo (Check 2), the environment is not the cause. The strategy itself may be experiencing:

– Regime shift. The market’s volatility profile changed — a mean-reversion EA that thrived in ranging conditions stops working when the market transitions to a trending regime.

– Volatility compression. The asset’s daily range shrinks below the EA’s profit target. There is simply not enough movement to generate the trades the strategy needs.

– Crowded trade. Too many participants are running similar strategies, compressing the edge to zero.

A contrasting example: a mean-reversion EA on GBPJPY, profitable for 18 months, whose performance declines. The same diagnostic runs, and Check 2 shows the EA performing poorly on every broker tested. The environment has not changed — the volatility regime has: the pair has compressed into an unusually tight range that the EA’s parameters cannot exploit. The correct response is to reduce exposure and wait for the regime to shift, not to re-optimize into a range that will eventually end.

The diagnostic in Section 4 separates these two scenarios cleanly. Environment change: adapt the execution layer. Strategy decay: reduce exposure or retire the strategy. Mixing them up — re-optimizing a sound strategy to fit a changed environment, or blaming the broker for a dead strategy — costs money both ways.

If your EA has started underperforming and you cannot determine whether the problem is environmental or strategic, request a diagnostic review. We apply the framework described above to your execution data and identify the root cause before any code changes are made.

Leave a Reply

Your email address will not be published. Required fields are marked *

Get a free quote

Fixed price within 24–48 hours. No subscriptions, no demos.