Execution model

also: order execution model, broker execution type, dealing desk vs no dealing desk

An execution model is how a broker processes an order — by taking the other side of it as counterparty, or by routing it outward to external liquidity — and it decides who pays whom, how, and which EAs the account will tolerate.

Execution model — MT5 glossary overview

At a glance

Term type
Broker term
Difficulty
Intermediate
Used in
Broker selection · EA evaluation · MT5 operation

In plain English

When you press buy, either the broker sells to you itself, or it passes the order to someone else and keeps a fee for the trouble. That one choice decides how your costs appear, who gains when you lose, and which trading behaviour the broker will put up with.

Why it matters

Spread, commission, requotes, scalping bans, execution quality — every complaint a trader has about a broker traces back to where the order goes. Read the model first and the complaints become one explanation.

  • It decides whether a conflict of interest exists at all. A counterparty broker earns from client losses by construction; a routing broker earns from volume.
  • It explains the pricing. Fixed spreads only work when someone absorbs the movement, and that someone is taking the other side.
  • It explains the restrictions. Minimum holding times, scalping bans and last-look rejections come from books that cannot absorb fast flow, not from platform limits.
  • It is the one broker property a backtest can never show, because the tester fills every order from the price series regardless of who would have filled it live.

How brokers define it

  • Market maker, also called dealing desk or B-book: the broker takes the other side of the trade and can quote fixed spreads because it absorbs the difference itself.
  • STP, straight-through processing: the broker passes the order to external liquidity providers and folds a markup into the quote instead of charging separately.
  • ECN: the order meets a pool of participants at a raw quote and the broker earns a stated commission per lot.
  • Hybrid: most retail brokers route some flow outward and internalise the rest, per client or per symbol. This is the common case, not the exception.
  • The label is the broker's own choice in most jurisdictions. How the broker gets paid — markup or stated commission — is the observable fact, and one broker can use both: XM carries the market-maker label and a Zero account priced raw plus $3.5 per lot.

What differs between brokers

  • By account type at the same broker, which is usual: a standard account internalised, a raw account routed. All six brokers compared below list a $0 tier and a commission tier.
  • By symbol inside one account. Majors routed and exotics or indices internalised is a common split.
  • By execution mode. Market Watch → right-click the symbol → Specification shows Execution as Instant, Market, Request or Exchange; that field, not the marketing page, decides whether a requote is possible.
  • By filling policy. The same window lists the filling types the server accepts — Fill or Kill, Immediate or Cancel, Return — and they differ between brokers and between account types at one broker.
  • By contract. The policy on automated trading, scalping and holding time follows from the model, but it lives in the client agreement.

Impact on EA performance

  • Under Instant execution the request carries a price and a deviation in points; a move beyond the deviation returns 10004 TRADE_RETCODE_REQUOTE. Under Market execution the server fills at the current price and ignores both fields.
  • An EA that sends a filling type the symbol does not allow gets 10030 TRADE_RETCODE_INVALID_FILL on every order. Read SYMBOL_FILLING_MODE with SymbolInfoInteger and pick the type from it; the flags cover Fill or Kill and Immediate or Cancel only, while Return is a property of Market and Exchange execution rather than a flag.
  • A stops level above zero rejects a stop or target placed inside it with 10016 TRADE_RETCODE_INVALID_STOPS. Counterparty books tend to set one; a tight scalping stop can fail before the strategy ever runs.
  • The Strategy Tester has no execution model. Its Delays setting emulates latency in milliseconds, but the fill still comes from the price series at the spread the history carries.
  • Every listing here names the history its record came from — 30 of 33 name Exness MT5 M1 history — so the costs inside the records are one venue's costs, whichever account you fund.

What to confirm before funding

  • How the broker gets paid on the account you will fund: markup inside the spread, or a stated commission per lot. These six brokers state $0 on one tier and $3 to $7 per lot on the commission tier.
  • The Execution field and the filling types in the MT5 symbol specification for the exact symbol the EA trades, on the account type you will open.
  • The stops level and freeze level for that symbol, set against the smallest stop or target the EA sends.
  • The client agreement clauses on automated trading, minimum holding time and scalping — the marketing page is not the contract.
  • Whether the broker publishes execution or slippage statistics, and how recent they are. The live-spread ledger on this site still has zero rows.

Typical risks

  • Choosing on the label. ECN, STP and no dealing desk are unregulated words in most places, and a broker may use them while internalising most flow.
  • Assuming an account is EA-friendly because the platform allows EAs. The platform always allows them; the client agreement is what restricts them.
  • Discovering a minimum holding time after deployment, when a scalping EA has already run and its trades come back cancelled or adjusted.
  • Reading fixed spreads as a cost advantage. Fixed pricing means the counterparty carries the variance, and it prices that in.

Example

One standard lot of EUR/USD on the commission-free tier of each of six named brokers, and what the tester would have filled the same order at. The figures are the brokers' typical published values, not our measurements.

Exness Standard (label: ECN)
0.7 pips, $0 commission
Lowest standard-tier spread in the catalogue; the raw tier adds $3.5 per lot.
TitanFX Standard (label: ECN)
1.0 pips, $0 commission
Blade tier charges $7 per lot — the highest stated commission here.
AXIORY Standard / FXGT Mini / HFM Premium (label: STP)
1.1 / 1.2 / 1.2 pips, $0 commission
Commission tiers at $3 to $3.5 per lot.
XM Standard (label: market maker)
1.6 pips, $0 commission
Widest here — and the same broker prices its Zero account raw plus $3.5 per lot.
What the tester fills at
the spread the M1 history carries
Identical whichever of the six accounts you fund, which is why the model never appears in a tester report.

Source: the executionModel, baseSpreadEurUsd and commissionPerLot fields recorded for these six brokers. A $1-per-lot commission equals 0.1 pip on a standard lot of EUR/USD, so a stated commission converts into the same unit as the spread.

Calculation $3.5 per lot ÷ $10 per pip = 0.35 pip · $7 per lot ÷ $10 per pip = 0.7 pip (one standard lot of EUR/USD, per charge)

Result 0.7 to 1.6 pips across six commission-free tiers — one backtest, six different costs

How it is used

Identify the model from how the broker gets paid and how orders fill, then match it to what the strategy needs rather than to whichever label sounds most advanced.

Range What it means
Raw quote plus stated commission, Market execution Costs are explicit and the server never requotes. Suits frequent trading and small targets.
Variable spread with markup, Market execution Routed outward, cost folded into the quote. Fine for targets measured in tens of pips.
Fixed spread, Instant execution Counterparty model. Workable for slow strategies; read the holding-time terms before deploying.
Any model with a documented minimum holding time A scalping EA cannot run here however good its record.
  • Read the payment mechanism first. It identifies the model more reliably than any name the broker uses.
  • Open the symbol specification before the first order: Execution, filling types, stops level. Three fields settle whether the EA's requests can succeed at all.
  • Match the model to trade frequency. A daily-timeframe EA hardly notices it; an EA taking a few pips lives or dies by it.
  • Set the EA's spread guard from the account, not the backtest. The builds here ship 20 to 60 points; a 1.6-pip standard tier already sits at 16 points, so a 20-point guard leaves it four points of room before it starts skipping bars.
  • Compare live fills with the backtest over the same window. The gap is where execution model, spread and slippage live.

Execution model is worth recording as a field for each broker you compare, so accounts line up on the same row. How the figures here were gathered is on the methodology page.

Common mistakes

Treating market maker as a synonym for scam

A counterparty broker under a serious regulator, with negative balance protection and published terms, is a legitimate arrangement and often the cheapest way to trade small size on slow strategies. The conflict of interest is real and is a reason to read the terms, not a reason to assume misconduct. All six brokers recorded here, the market maker included, list negative balance protection.

Believing the model can be read off a backtest

The Strategy Tester fills every order from the price series at the spread the history carries. Two accounts with completely different routing produce identical tester reports, which is why the record on the account itself is the only evidence about execution that exists.

Assuming one model per broker

Most retail brokers run different models on different account types, and often on different symbol groups within one account. The question is never what the broker is but what the specific account and symbol are.

Ignoring the client agreement

Minimum holding times, scalping restrictions and the right to adjust trades executed on off-market prices live in the contract, not in the platform. An EA restricted by contract runs perfectly and then has its results reversed.

Using deviation as a slippage limit on a Market execution account

Deviation belongs to Instant execution, where it caps how far the price may move before the server requotes. On Market execution the server ignores the field, so an EA that relies on it has no slippage protection at all; a spread guard before the order and a check of POSITION_PRICE_OPEN after it are what remain.

In depth

What the records on this site say about execution

Each listing names the history its record came from and, where the build has one, the spread guard it ships. Those fields are the whole execution footprint a tester report leaves behind.

33 published EA records, 6 brokers comparedFigure
Records naming Exness MT5 M1 history as the source30 of 33
Records run on real ticks (Model 4)22 of 33
Records run on ticks generated from M1 bars (Model 0)10 of 33 (1 record states no model)
Builds that ship a spread guard14 of 33, set at 20–60 points (40 on 6 of them)
Records carrying a tick-recorded average spread1 of 33 (19.14 points, GBPJPYm, in the tester)
Brokers by stated modelECN 2 · STP 3 · market maker 1
Commission-free tier EUR/USD spread across those brokers0.7 to 1.6 pips at $0 commission
Live spreads we have measured across brokers0 rows

Thirty records share one venue’s history, so the costs inside them are one broker’s costs; comparing the same lot across the six brokers above shows a commission-free tier costing more than twice as much before any routing question arises. The spread guard is the only line that survives the move from tester to live unchanged: it reads SymbolInfoInteger(_Symbol, SYMBOL_SPREAD) and skips the signal when the live spread is wider than the fixed MaxSpread input the build ships, so that input should be set from the account you fund, not from the backtest.

Read the cost the way this comparison does — the spread on the standard tier, the commission on the raw tier, and the ECN label only after both. The gap between the record and the live account is slippage plus whatever the model adds; a scalping build feels all of it, a daily-timeframe expert advisor almost none. The six accounts recorded here line up on the same fields.

Frequently asked questions

How do I find out which execution model my account uses?
Look at how the broker gets paid and how orders fill. A stated commission per lot with a near-zero spread means the account is routed and priced raw; a wider spread with no commission means the cost sits inside the quote. Then open Market Watch → Specification for the symbol: the Execution field says Instant, Market, Request or Exchange, and the filling types say what the server accepts.
Is a dealing desk broker bad for EAs?
It depends on the EA. Strategies holding positions for hours or days run fine on any model. Strategies taking a few pips at a time are the ones dealing-desk brokers restrict by contract, so the question to settle before funding is not quality but permission.
Why do my live results differ from the backtest even though the data is the same?
Because the tester fills from the price series and a live account fills from whoever is on the other side. Spread, commission, latency and rejection behaviour all come from the execution model, and none of them exist inside a tester report. On this site only one of 33 records even carries a measured average spread.
Does ECN guarantee no requotes?
Market execution guarantees that the server fills or rejects an order rather than requoting it, and raw-priced accounts normally run Market execution. A rejection is not better than a requote in itself — and because Market execution ignores the deviation field, the EA has to guard the spread before sending and check the fill price afterwards.
Why does my EA get 10030 invalid fill on the live account when the demo worked?
The two accounts allow different filling types. Fill or Kill, Immediate or Cancel and Return are set per symbol by the broker's execution setup, and an EA that hard-codes one type fails on any account that does not permit it. Read SYMBOL_FILLING_MODE at start-up and choose the type from what the symbol reports; the flags cover Fill or Kill and Immediate or Cancel, and Return is available on Market and Exchange execution symbols without a flag.