Broker labels are useful starting points, but they do not tell the whole execution story. For an Expert Advisor, the practical questions are how prices are formed, where an order is handled, which execution mode the symbol uses and what happens when the requested price is no longer available.
Market Maker, STP, ECN and DMA: what the labels mean
A Market Maker may quote prices and act as counterparty to a client trade under its execution policy. STP usually describes automated routing to one or more external providers. ECN generally refers to an electronic network that matches available bids and offers, while DMA describes direct access to an external order book or liquidity venue. In retail Forex, these terms are not applied uniformly, so the account agreement and execution policy are more informative than a marketing badge.
| Label | Typical idea | What an EA user should verify |
|---|---|---|
| Market Maker | The broker provides the client price and may internalize flow. | Requotes, spread behavior, stop rules and conflict-of-interest disclosure. |
| STP | Orders are routed automatically to selected liquidity sources. | Whether routing is consistent, how markups are added and how rejects are handled. |
| ECN | Prices and available volume are aggregated from participants. | Commission, minimum volume, partial fills and depth available at the quoted price. |
| DMA | The order reaches an external venue or order book under defined rules. | Eligible instruments, order types, fill policy and any last-look process. |
A well-controlled EA can run better on a stable account with transparent costs than on an account carrying an attractive label but producing erratic spreads, rejects or fills.
Separate the broker model from the MetaTrader execution mode
MT4 can show execution settings such as Instant Execution, Request Execution or Market Execution for a symbol. These describe how the terminal and server process a market order; they are not proof that the broker is an ECN, STP or Market Maker. Under Instant Execution, the requested price can become unavailable and a requote may follow. Under Market Execution, the trade is filled at the available server price, which may differ from the price visible when the EA sent the request.
Also inspect the symbol specification: floating or fixed spread, Digits, contract size, Stops Level, lot step, maximum volume, swap and trading sessions. An EA can be logically correct yet still receive invalid-stop or invalid-volume responses because these broker-defined parameters differ.
Execution quality is measurable, not a slogan
Judge execution over a representative sample of the EA’s active hours. Record the requested price, fill price, round-trip latency, rejects, requotes, partial fills and spread at entry. Separate normal sessions from rollover, major news and thin-liquidity periods. A single fast order is not evidence of consistently good execution.
Track positive and negative differences, not only the average.
Count rejected opens, closes and modifications separately.
Measure the complete order path, not only a VPS ping.
Execution quality is strategy-dependent. A few tenths of a pip may be immaterial to an H4 position but decisive for a short-horizon scalper. Grid and multi-order systems also need sufficient liquidity and margin when several orders are triggered close together.
EA compatibility checklist
Regulation, client-money rules and withdrawal terms must be checked separately for your legal entity and jurisdiction. Good technical compatibility does not replace due diligence on the company holding the account.
Run a controlled broker test before live deployment
- Use the same EA build, symbol, timeframe and inputs intended for live trading.
- Keep risk fixed and compare accounts during the same trading window.
- Export the Experts, Journal and account history rather than relying on screenshots.
- Compare requested and filled prices, spread, commission, swap and modification errors.
- Repeat the test across enough trades to include calm and faster conditions.
- If you move live, begin small and confirm that live fills remain within the tested range.
Do not optimize an EA around one unusually favorable demo feed. The goal is to find stable conditions the strategy can tolerate, not the best isolated result.
Official references
MetaTrader documents its order execution process and the broker-defined fields shown in Market Watch and Contract Specification. Use those terminal values together with the broker’s own execution policy.