Learn
How to Choose a Broker for Expert Advisors: 25 Checks Before You Open an Account
At a glance
A broker for Expert Advisors has to prove five things that a brand page rarely shows: that the contract permits your EA’s trading style, what the symbol specification allows, what a trade costs in full, where the servers are, and how much you can lose. We read the documents of three brokers on 2 October 2026. One of them states its stops level, none addresses grid or martingale logic, and at all three the contract differs from the website on at least one point. This guide gives you 25 checks, a worksheet and a read-only MT5 script that prints the values the documents leave out. It names no broker.
On this page

There is no single best broker for Expert Advisors, because the answer depends on what your EA does. A scalper fails where a swing system runs without trouble. What you can do is check, before you open an account, whether one specific account lets your EA work as designed. This guide shows where each answer is written and what to do when it is not written anywhere.
Broker documents were read and platform documentation was checked on 2 October 2026. RoboXpert develops its own trading software, and some brokers pay us when a reader opens an account through our link, so we have a commercial interest in this subject. This guide names no broker and contains no partner link. AI assisted with research and drafting. See our editorial disclosure and evidence methodology.
What a broker for Expert Advisors has to prove
Five areas decide whether an account fits an EA. The table shows what to check in each and where the binding answer is written.
Scroll horizontally if needed
| Area | What to check | Where it is written |
|---|---|---|
| Company and account | Which legal entity you contract with, and which account type | Client agreement, regulator’s register |
| Contract terms | Whether automated trading and your EA’s style are permitted | Client agreement, order execution policy |
| Specification | Stops level, volume limits, order limits, MT5 account mode | Symbol specification in the terminal |
| Costs | Commission, average spread, swap, inactivity fee | Account and fee pages, contract |
| Server and protection | Server location, negative balance rule, dispute body | Website, contract, regulation |
Marketing pages answer few of these. A sentence such as “EAs allowed” says nothing about stop distances, order limits or news.
What three brokers’ documents left open
To see how much the documents really say, we read the client agreements, fee pages, specifications and help centres of three brokers at which we hold accounts, and looked each company up in its regulator’s register. The table counts how many of the three publish each item. The lower the number, the more often you will have to read the value in the terminal or ask for it in writing.
Scroll horizontally if needed
| What we looked for | Brokers out of 3 |
|---|---|
| States the stops level of EURUSD | 1 |
| States where its trade servers are | 2 |
| Publishes an average EURUSD spread, not only a “from” value | 2 |
| Says which MT5 account modes it offers, hedging and netting | 2 |
| Publishes limits on open orders and on volume | 2 |
| Publishes swap rates per symbol | 2 |
| Says whether a demo account expires | 1 |
| Names scalping as permitted in its terms | 1 |
| Addresses grid or martingale logic in its terms at all | 0 |
| Limits leverage or execution around news in its terms | 2 |
| Limits a client’s loss to the account balance by contract or by regulation | 1 |
Five further findings from the same reading:
- Website and contract disagreed at all three. One help centre says no inactivity fee is charged, while the contract reserves one. One website says scalping is allowed, while the contract lets the broker refuse orders that relate to scalping. One offers negative balance protection as a programme it may withdraw, while the contract requires the client to pay a deficit.
- All three contracts contain a broadly worded clause against strategies that exploit the broker’s pricing or burden its systems, without naming a strategy. None mentions grid or martingale logic.
- One demo account is cheaper than the live account of the same name. Its help centre states that the demo charges the commission of a different, cheaper account type.
- One broker publishes two different average spreads for the same account, on two of its own pages.
- Two of the three registers list the company but show no licence number, so the number on the broker’s website cannot be matched there.
This was a reading of documents on one day, not a test of execution. It says nothing about how any of the three fills orders.
Step 1: Identify the company and the account, not the brand
A brand name can cover several companies under different regulators. In our reading, one brand uses one company for clients in its home country and another, licensed offshore, for everyone else. A second company changed its legal name in 2025, and two of its current documents still carry the old one.
Before anything else, write down:
- The legal entity named in the client agreement you would sign. It is usually on the first page.
- Its regulator and licence, and whether you found that entity yourself in the regulator’s public register.
- The account type you would open. Costs, leverage and stop-out level differ between account types of one broker.
- Who may open it. Brokers list countries they do not accept, and some state that their offer is not meant for residents of whole regions.
Every later check belongs to this entity and this account type. A fact about the brand’s other company does not apply to you.
Step 2: Read what the contract allows your EA to do
Search the client agreement and the order execution policy for these words: automated, expert, scalping, hedging, news, arbitrage, abusive. Then sort each topic into one of three states:
- Permitted: the contract or an official document says so.
- Not addressed: you found nothing. The broadly worded clause may still apply.
- Restricted: the contract limits or prohibits it, or lets the broker refuse such orders.
Where the website says more than the contract, the contract binds. Clauses we met in this reading show what to look for:
Scroll horizontally if needed
| Clause type | What one of the contracts says | Which EA it touches |
|---|---|---|
| News | Orders that would raise effective leverage above 1:200 around significant news may be refused | News and breakout systems |
| Order types | “Close by” orders are not supported | EAs that close opposite positions against each other |
| Automation | “Any high speed or automated mass data entry system” needs written consent | Any EA, depending on how the broker reads it |
| Request volume | More than 3,000 server requests a day counts as hyperactive | Grids, trailing stops that modify often |
| Several accounts | Hedging one of your accounts against another is treated as abuse | Multi-account setups |
If your EA’s style is not addressed, ask the broker in writing and keep the answer. A chat reply is weaker than a contract clause, but it is more than nothing.
Step 3: Check the specification your EA depends on
The symbol specification holds the technical limits that decide whether an order is accepted. MetaTrader shows it per symbol: right-click the symbol in Market Watch and choose Specification. The fields are described in MetaTrader’s help and in the MQL5 symbol properties; MetaQuotes explains the stops and freeze checks in its list of checks for trading robots.
The table lists the seven values that most often decide whether an EA’s orders are accepted, and what goes wrong when one of them does not fit.
Scroll horizontally if needed
| Value | What it means | Why an EA fails without it |
|---|---|---|
| Stops level | A band in points around the current price in which stop loss, take profit and pending orders cannot be placed | A scalper with tight stops gets “Invalid Stops” |
| Freeze level | A distance in points to the activation price inside which an order or position cannot be modified | A trailing stop or a pending order close to the price cannot be changed |
| Minimum volume and step | The smallest deal and the smallest change in volume | Position sizing rounds to a larger risk than planned |
| Maximum volume, volume limit | The largest deal, and the largest total per direction on one symbol | A grid or a scaling system stops adding |
| Order limit | The maximum number of active pending orders on the account | Pending-order grids are cut off |
| Position accounting | Hedging keeps separate positions per symbol; netting keeps one | An EA written for one mode misbehaves in the other |
| EA trading allowed | An account property the broker can switch off | The EA runs but every order is rejected |
Only one of the three brokers we read publishes its stops level. For the others, the terminal is the only source, and a demo account of the same type is enough for a first reading. Our read-out script prints all of these values in one run. The MT5 hedging vs netting guide shows what the two account modes do to the same orders, and the glossary explains point and stop out level.
Step 4: Add up what a trade costs
The cost of one round trip has three parts, and brokers rarely show them in one place:
- Commission for opening and closing together. Check whether a quoted figure is per side or per round turn, and whether it is per lot or per amount traded.
- Spread. A “from 0.0 pips” value is the best moment of the day, not what you pay. Look for a published average spread and the period it covers. One of the three brokers publishes none.
- Swap for every night a position stays open, including the triple charge on one weekday.
Then look for costs outside the trade: an inactivity fee in the contract, and withdrawal fees. A published average is still the broker’s own figure; what your EA pays also depends on slippage, which no document can state. Our cost sensitivity study shows how far the result of one fixed rule set moves when these costs rise.
Step 5: Find out where the trade server is
The time an order needs to reach the broker depends on the distance between your terminal and the trade server. Two of the three brokers publish a data-centre location; one publishes only server host names.
MetaTrader 5 reports the last measured ping to the trade server as a terminal property, in microseconds, according to the MQL5 reference. The read-out script prints it in milliseconds. Run it from the machine the EA will run on: your computer and a VPS in another city give different numbers. A ping is a network round trip, not the time a broker needs to execute an order.
If you plan to use a VPS, compare the broker’s conditions for a free one with what you will really trade. In our reading, the monthly volume required for a free VPS ranged from 3 to 20 lots. The VPS comparison explains which kind of hosting an EA needs.
Step 6: Know what happens when something goes wrong
An EA can lose faster than you can react, so check the limits before you need them.
- Negative balance. Ask whether your loss is limited to the money in the account, and where that is written. In the EU, retail clients trading contracts for difference have this protection: ESMA introduced it in 2018, and national regulators such as BaFin have kept it. Elsewhere it may be a contract clause, a policy the broker can withdraw, or absent. The three brokers we read gave three different answers.
- Stop-out level. The margin level at which the broker closes positions differs by account type. It decides how much room a grid has.
- Disputes. Find the body outside the broker that decides a complaint, and whether a compensation scheme covers the entity. One contract we read names an ombudsman that does not cover that type of company.
- Regulator warnings. Search the warning lists of the main regulators for the brand name and note the date of each entry.
- Withdrawals. Note the fee per method and the stated processing time.
What a demo account can and cannot tell you
A demo account answers the questions of step 3: the terminal shows the same kind of specification, and the script reads it in seconds. It also shows whether your EA starts, places orders and manages them on that broker’s symbols. If it does not, the MT5 EA diagnosis guide helps to find the cause.
A demo account does not show live execution. No real counterparty stands behind a demo order, so its fills, slippage and rejections do not tell you what the live server does. A broker can also configure demo and live accounts differently, as the cheaper demo commission in our reading shows. Treat a demo run as a check of compatibility, not of cost or execution quality. For the difference between simulated and real results, see backtest vs live trading.
Use the worksheet and the read-out script
Reader resource · ZIP
Broker check kit for Expert Advisors
A worksheet with 25 checks and a read-only MT5 script that prints account mode, order limit, stops and freeze level, volume limits, swaps and the ping to the trade server. Includes our compiler log and an MIT licence. No order-sending code.
Download the check kitThe worksheet has 25 checks in the order of this guide. It keeps three columns apart: what a document says, what the terminal shows, and what you measured yourself.
The script, RoboXpert_Broker_Readout.mq5, reads account, symbol and terminal properties and prints them to the Experts log. These are the lines that answer the questions most often left open:
Print("Position accounting: ", EnumToString((ENUM_ACCOUNT_MARGIN_MODE)AccountInfoInteger(ACCOUNT_MARGIN_MODE)));
Print("Trading by Expert Advisors allowed: ", (bool)AccountInfoInteger(ACCOUNT_TRADE_EXPERT));
Print("Maximum number of active pending orders: ", AccountInfoInteger(ACCOUNT_LIMIT_ORDERS));
Print("Stops level in points: ", SymbolInfoInteger(_Symbol, SYMBOL_TRADE_STOPS_LEVEL));
Print("Freeze level in points: ", SymbolInfoInteger(_Symbol, SYMBOL_TRADE_FREEZE_LEVEL));
Print("Last ping to the trade server in milliseconds: ", TerminalInfoInteger(TERMINAL_PING_LAST) / 1000.0);
We compiled the script on 2 October 2026 in a separate MetaEditor installation with 0 errors and 0 warnings; the log is in the package. We did not run it against a broker account for this guide, so we show no output. It sends no order. Run it on a chart of each symbol your EA trades, on the account type you plan to use.
Questions about choosing a broker for an EA
Is there a best broker for Expert Advisors?
Not in general. Lists of “best” brokers rank brands, while the terms that decide whether an EA works belong to one company, one account type and one symbol. An account that suits a swing system with wide stops can be unusable for a scalper because of its stops level or its news clause. Start from what your EA needs and check one account against it.
Do all MT5 brokers allow Expert Advisors?
No. The platform supports them, but the broker decides per account: MetaTrader has an account property that states whether trading by Expert Advisors is allowed, and the contract can restrict automated trading or certain styles. Check both.
Can a broker refuse or reverse trades made by my EA?
The contracts we read reserve that right in broad terms, for example for strategies that the broker considers to exploit its pricing, or for software that burdens its systems. How often a broker uses such a clause is not something a document shows. Know the wording before you trade a style that sends many orders.
Is an ECN or raw-spread account better for an EA?
The name of an account type is a label, not a guarantee of how orders are executed. Compare the commission, the published average spread and the stop-out level of the account types of one broker, and check the execution mode in the specification. For an EA that trades often, the sum of commission and average spread matters more than the label.
Does regulation protect me from losing more than my deposit?
Only where the rules that bind your broker’s company say so. Retail clients of EU-regulated firms have that protection for contracts for difference. For companies licensed elsewhere, look for the rule in the contract or in the regulation of that country, and do not rely on a sentence on the website.
Sources & further reading
- MetaTrader 5 Help: Market Watch and the symbol specification
- MQL5 Reference: symbol properties
- MQL5 Reference: account properties
- MQL5 Reference: client terminal properties
- MetaTrader 5 Help: general principles, netting and hedging
- MetaQuotes: the checks a trading robot must pass before publication in the Market
- ESMA: restrictions on contracts for difference for retail investors
- BaFin: guidelines on the general administrative act on contracts for difference


