The same EA file can produce different trades at two brokers without either terminal being broken. Symbol specifications, data, session times, spread, commissions, stop rules, order filling, and account mode all shape the decisions and the result.
The correct response is not to hard-code one broker’s values. It is to discover valid properties at runtime, validate assumptions, and record enough context to explain differences.
Before comparing two brokers
Separate strategy decisions from the environment that carries them.
- 01SpecifyCompare symbol name, digits, point, contract size, tick value, volume step, and stop levels.
- 02ScheduleCompare server time, sessions, daily breaks, rollover, holidays, and history coverage.
- 03CostMeasure spread, commission, swap, slippage, and the price side used by each rule.
- 04ExecuteCheck account mode, filling policy, rejection codes, partial fills, and confirmed positions.
What changes
A fixed point distance can represent a different money risk when contract size or tick value changes. A session rule can open at a different moment when server offsets differ. A limit or stop may be rejected because the minimum distance or filling policy is not the same.
Practical check
At startup and before trading, read the symbol and account properties the strategy depends on. Reject invalid zero values, normalize price and volume, verify history and session state, and log the environment beside each decision.
- Map broker symbol names without assuming suffixes.
- Calculate money risk from current tick and contract properties.
- Use explicit server-to-session time conversion.
- Model spread, commission, swap, and slippage in validation.
- Treat a successful request and a confirmed trade as different events.
Questions you may have
Why does an EA trade at different times across brokers?
Bar construction, server timezone, sessions, quote arrival, and spread can change when a condition becomes true.
Can optimization solve broker differences?
No. Parameters may adapt to one history, but portability still requires correct symbol, time, cost, data, and execution handling.