Services and resources

Broker-difference diagnosis guide

Why an MT5 EA Works on One Broker but Not Another

A practical checklist for isolating symbol, execution, account-mode and terminal differences before changing otherwise working MQL5 strategy code.

The checklist

  1. 1

    Confirm the exact symbol

    Compare symbol names and suffixes first. EURUSD, EURUSD.a and EURUSDm can have different specifications even when their charts look similar.

  2. 2

    Compare digits and tick size

    Price normalization must follow tick size, not assumptions copied from another broker. Log digits, point, tick size and contract size on both setups.

  3. 3

    Validate volume rules

    Check minimum, maximum and step volume plus directional limits. A lot size accepted by one broker can be invalid on another.

  4. 4

    Check stops and freeze levels

    Stop loss, take profit and modifications can be rejected when the requested distance violates the current symbol restrictions.

  5. 5

    Match filling and order modes

    Use a filling policy and order type supported by the current symbol instead of hard-coding a mode observed on the development account.

  6. 6

    Identify netting or hedging

    Position selection and close logic differ between account models. Record the margin mode and test the intended position-management behaviour.

  7. 7

    Compare server time and sessions

    Session filters, daily resets and candle boundaries can shift when broker server time, daylight-saving rules or trading sessions differ.

  8. 8

    Inspect terminal permissions

    Confirm automated trading, DLL, email, notification and filesystem requirements. A disabled permission can look like a strategy failure.

  9. 9

    Preserve the return code

    Capture the trade-server return code, request fields and nearby Experts or Journal lines instead of reporting only that no trade opened.

  10. 10

    Run one controlled comparison

    Use the same EA build, inputs, symbol class and time window. Change one environmental variable at a time before editing strategy logic.

Common questions

Does different behaviour prove that the broker is manipulating the EA?

No. Symbol specifications, data feeds, account modes, session times and execution rules routinely differ. Collect comparable evidence before assigning a cause.

Should I hard-code broker-specific symbol names or filling modes?

Usually not. Robust MQL5 software should discover supported symbol properties at runtime or expose an explicit, documented mapping when discovery is insufficient.

Can the same backtest result be guaranteed across brokers?

No. Historical prices, spreads, ticks, sessions and execution models differ. Acceptance should focus on defined software behaviour and documented tolerances.

Free diagnostic resource

Download the free MT5 Broker Environment Report

Capture the relevant settings in a reviewable, privacy-conscious report before sending a bug request.

Open the free tool