Your EA has a session filter. Your broker has a clock. If those two disagree by an hour, every London entry your robot takes is really a pre-London entry — and nothing in the journal will tell you, because the trades look completely normal.
That is the shape of almost every broker problem a session-timed ICT robot runs into. No error is thrown. No order is rejected. The EA just quietly trades a slightly different strategy than the one you tested, and you spend three months blaming the model.
Generic "best broker for EAs" rankings won't catch that, because they score brokers for a generic robot: tight spread, fast fill, free VPS, done. A killzone-timed, liquidity-sensitive model asks for a narrower set of things and breaks in ways a grid bot or a swing EA never would. This page scores real MT5 forex brokers against that narrower list — and then hands you the list itself, so you can judge a broker we didn't cover.
Key Takeaways
An ICT EA is awake for only two windows a day, so judge a broker on its behaviour at the London and New York opens — not on a monthly average spread.
Three settings rewrite the strategy without raising an error: the server's GMT offset and DST rule, the symbol suffix on your live account type, and the minimum stop distance.
Minimum hold times and broker-side news freezes are disqualifying; netting accounts, wide stop distances and requotes are usually workable with EA-side changes.
Raw-spread, commission-based MT5 accounts with an explicit written stance on automation and a reachable VPS are the practical shortlist.
Table of Contents (25 min read)Contents
What an ICT EA Actually Asks of Your Broker
You already know the strategy, so this section only translates it into the handful of things your broker has to get right. Skip ahead if you'd rather go straight to the comparison.
A typical ICT or Smart Money Expert Advisor on MetaTrader 5 runs a chain that looks roughly like this:
A session filter gates everything — outside the London or New York window, the EA does not trade at all.
A market-structure filter on a higher timeframe sets directional bias, so entries only fire one way at a time.
A liquidity sweep — price running a prior high or low and rejecting — arms the setup.
An entry zone (an order block, a fair value gap, or an optimal trade entry retracement) defines the exact price the EA is waiting for.
A stop goes just beyond the structure that invalidates the idea, often only a handful of pips away.
Targets sit at the next pool of resting liquidity, sometimes with a partial close along the way.
Now read that chain again, not as a strategy but as a list of demands on infrastructure. It says: be awake at exactly these hours, in this timezone, on this exact symbol; let me place a stop close to price; fill me at a level rather than near it; and don't move the goalposts twice a year. None of those are things a generic EA checklist tests for.
A strategy's tolerances are only as good as the infrastructure holding them level.
What to Check in a Broker Before You Run an ICT EA
Every generic algo-trading broker guide converges on the same four or five items, and none of them is wrong. They're just not sufficient. Here is that standard list, and what a killzone-timed model adds on top of each line.
Selection criteria
Criterion
The generic EA checklist
What a killzone-timed ICT EA adds
Execution
Fast fills, low average slippage
Fills at a level inside a two-hour window, not an average across the month
Spread
Tight headline spread
Stable spread at the London and New York opens — the only hours it trades
Cost model
Low all-in cost
A fixed commission you can model, not a floating cost that spikes on the open
Platform policy
EAs are allowed
Hedging mode, no minimum hold time, no news-window freeze
Hosting
A VPS is available
Low latency to this broker's own MT5 server, up through every killzone
Server clock
Not mentioned
A documented GMT offset and a stated daylight-saving rule
Symbol naming
Not mentioned
The same symbol name on the live account type you actually fund
Stop distance
Not mentioned
A minimum stop distance tighter than the stops your model places
The first five rows are the standard algo-trading checklist. The last three are where a session-timed ICT model gets broken by a broker that scores well on everything else.
Why Does Execution Speed Outweigh the Rest Here?
Because an ICT EA concentrates its whole year into a few hundred minutes.
A trend-following robot that holds for days can absorb a poor fill — the entry is a rounding error against the move it is trying to catch. An ICT entry is the opposite. The EA is buying a specific level inside a zone that price is expected to leave quickly, with a stop placed just beyond the structure. Miss that level by a few pips and you haven't only paid more: you have changed the trade's reward-to-risk ratio, moved the stop's distance relative to entry, and in the worst case taken a fill on the wrong side of the level the whole idea rested on.
Worse, the two variables are correlated in the wrong direction. Execution speed and slippage are both at their worst in the minutes right after a session opens — precisely the minutes a killzone filter selects for. A broker whose fill quality averages out fine across a whole month can still be poor in the only hours you care about.
What to actually look at: whether the broker runs market execution rather than instant execution with requotes, where its MT5 servers physically sit (the London and New York financial-hub data centres are the common homes), and whether it offers a raw-spread, commission-based account — which usually signals an ECN-style routing model rather than a market-maker dealing desk quoting you a price.
Spread Behaviour Inside the Killzone Window
Your EA does not trade the average day. It trades two windows.
When the EA is awake
FX sessions in UTC — where the killzones sit24-hour clock · times in UTC
UTC timeline
SydneyAESTTokyoJSTLondonGMT/BSTNew YorkET
21:00–24:0021:0000:00–6:00–6:00
0:00–9:000:00
7:00–16:007:00
12:00–21:0012:00
000306091215182124
Tokyo + London7:00–9:00 UTC · Handover into the London open
London + New York12:00–16:00 UTC · Deepest liquidity of the day
Sydney
Tokyo
London
New York
Overlap (peak liquidity)
The London and New York bands overlap in the middle of the UTC day — the deepest liquidity, and the reference window most session-timed models are built around.
An ICT EA is live for a fraction of this track. The left edge of the London band and the left edge of the New York band are where spread behaviour decides what your fills look like.
The overlap in the middle is where liquidity is deepest and the spread is typically tightest. But the edges are where an ICT EA lives, and the edges behave differently. The first minutes of the London open and of the New York open are when spreads widen fastest, when a stop sitting a few pips behind an order block is most exposed, and when a broker's pricing model shows its real character.
Two account models handle that differently. On a raw-spread account, the spread compresses toward the underlying market and your cost sits in an explicit commission — easier to model in a backtest, because one of the two components is fixed. On an all-in spread account, your entire cost floats, and it floats hardest exactly when your EA is trying to enter.
Before committing, price the difference on your own lot size. A pip-value calculator turns "spreads widen at the open" into the number your EA is actually paying per trade, which is the only form of that sentence you can act on.
"EAs allowed" is not one permission. It is several, and brokers rarely list them in the same place.
Algo-trading permission on the account itself. MT5 exposes this as an account property the EA can read at startup. If expert trading isn't enabled for your account type, the EA loads, charts perfectly, and never sends an order.
Hedging or netting. A hedging versus netting account decides whether your EA may hold two positions on the same pair. Under netting, one symbol carries one position, so a second entry nets against the first instead of adding to it. If your EA scales into an order block in two clips, or runs a London instance and a New York instance on the same pair, netting silently merges them into something you never tested.
Scalping and minimum hold times. Some brokers restrict very short holds outright; others reserve the right to review "latency-style" activity. An EA that takes a sweep and exits at the next liquidity pool inside the same session can trip that language without doing anything exotic.
News-window restrictions. A freeze on new orders around scheduled releases collides head-on with the New York killzone, which sits on top of most US data.
Get these in writing from the broker rather than from a comparison site. They change per legal entity and per account type, and the version that binds you is the one in your client agreement.
The Three Settings That Quietly Rewrite Your EA
These are the ones that cost people months, because not one of them produces an error message.
Server time. MT5 does not run on your clock; it runs on the broker's. Most MetaTrader-first brokers sit on a server a couple of hours ahead of GMT, and many shift that offset with daylight saving — sometimes on the US calendar, sometimes on the European one. Your killzone filter is written in hours. If those hours are hard-coded against an assumed offset, the EA's London window drifts by exactly one hour twice a year and then trades the wrong sixty minutes for months. Ask the broker to state the server's GMT offset and its DST rule, and prefer an EA that reads the offset from the server at startup instead of trusting a hard-coded input.
Symbol names. The same pair can be EURUSD, EURUSD.a, EURUSD-ECN, EURUSD.raw or EURUSDm depending on the broker and the account type. An EA with a hard-coded symbol list, or a symbol mapping table built for a different broker, will either fail to attach or silently trade only part of your watchlist. Check the suffix on the exact account type you intend to fund — not on the demo you tested with, which is frequently on a different naming scheme.
Minimum stop distance. Every symbol carries a broker-set minimum distance from the current price at which a stop or limit may sit, plus a freeze band close to price where existing orders cannot be modified. An ICT stop tucked just beyond an order block is often inside that distance. The EA gets no warning; the order is simply rejected, and depending on how the code handles that rejection, the position can end up live with no protective stop at all.
Each link in the EA's chain depends on something the broker controls — and none of those hand-offs raises an error when it goes wrong.
Where the EA Physically Runs
An EA only trades while its terminal is running, which makes a VPS less about raw speed than most guides suggest and more about two dull things: it stays up through the whole killzone whether or not your laptop does, and it puts the terminal on the same network neighbourhood as the broker's server instead of on domestic Wi-Fi.
There are two ways to get one. Many brokers run their own programme, usually free above a monthly volume or account-balance threshold — check the current terms directly, because they move. The alternative is MetaQuotes' virtual hosting, rented from inside the terminal itself and provisioned close to your broker's server automatically. Take the broker's programme where it exists and you qualify; the built-in option is a perfectly good fallback and takes about a minute to set up.
MT5 Forex Brokers, Scored for an ICT EA
Below is the forex broker set we track for MT5 automation, read against the three criteria that decide whether a killzone-timed EA runs as designed: how the broker's execution is set up, what your spread does at the session opens, and how plainly the broker states where it stands on automation.
What the scoring deliberately leaves out is numbers. There are no spread figures, no latency numbers and no marks out of ten, because those move by entity, by account type and by month, and any number printed here would be stale before you read it. What is scored instead is the structure of each offer — the execution and pricing model, and how specific the broker's written automation stance is — because structure is the part you can still verify yourself on the day you open the account. The last column is that check, per broker.
Standard STP or Raw ECN — two clean models to test
Raw ECN moves the cost into a fixed commission
Get the scalping and hold-time terms in writing
Which server region your account is provisioned on
Deriv
Deriv MT5: Standard, Financial, Zero Spread, Swap-Free
Confirm which tier prices the cost as a commission
EAs run, but keep the killzone EA off the synthetics
That your EA points only at FX symbols
Green marks what a killzone-timed EA wants; grey is workable but you confirm or absorb it yourself; amber is a strategy-specific trap. Structure only — no spreads, latencies or ratings.
A few patterns are worth naming rather than reading off the table.
If your EA is genuinely latency-sensitive, start with the raw-spread, commission-based accounts.IC Markets is the reference case for that model on MT5 — raw pricing, servers in the financial-hub data centres, and a VPS programme sitting on top. Pepperstone's Razor account is the same shape with more platform choice wrapped around it, which helps if you want to watch the market on one platform while the EA works on another. Tickmill and Eightcap both run the raw model too, and either is worth a look when your entity, funding method or region rules the first two out.
If you want the broadest written permission, Exness is unusually explicit about it — automated, algorithmic and high-frequency approaches, including scalping and EAs, are stated as permitted on both MetaTrader platforms. That clarity is worth something when your holding time is measured in minutes inside a session, because it is exactly the profile that vague terms tend to catch.
If you're weighing an all-in spread model instead, XM and Octa are the clean examples: no commission line, everything priced into the spread. That model is simpler to reason about and perfectly workable, as long as you accept that your entire cost is the variable that moves most at the open — which is the moment your EA acts.
And one genuine trap. Deriv's derived indices run continuously and have no London or New York session at all, so a killzone filter has nothing to key off there. If you like the broker, use Deriv MT5 for its FX symbols and keep the session-timed EA away from the synthetics — the strategy's core premise doesn't exist on those instruments.
Red Flags That Break an ICT EA's Killzone Logic
Some broker terms are merely inconvenient. These specifically break a session-timed model.
A minimum holding time. Any rule that a position must stay open for a set number of minutes turns a sweep-and-target trade into a coin flip on whatever price does after your target.
Scalping "restricted" or "subject to review." Vague language is worse than an outright ban, because you discover where the line sits only after your account is flagged.
Broker-side news freezes. The New York killzone and the US data calendar occupy the same hours. A broker that blocks new orders or widens quotes to unusable levels around releases has effectively deleted half your trading window. Your own EA-side news filter is a discipline choice you control; a broker-side freeze is not.
Netting-only accounts, if your EA scales into a zone, hedges, or runs more than one instance on the same pair.
Instant execution with requotes. At a session open, a requote is a rejection with extra steps: the EA re-sends, price has already moved, and the level the whole setup was built around is gone.
A large minimum stop distance. If the broker won't accept a stop inside the structure your model invalidates on, your risk per trade is being set by the broker rather than by you.
An undocumented or shifting server-time offset. Every other item here you can read in a document. This one you can only measure.
Go / no-go
Will this broker's terms break a killzone-timed EA?
Take itProceed with careSkip / stand aside
Two broker rules end the conversation for a session-timed ICT EA. The rest cost you configuration time, not the strategy.
Where you find those answers matters nearly as much as the answers themselves. The first two are settled in the account-type specification and the client agreement of the exact legal entity you register under, and both documents differ between a broker's entities. The third — how quotes actually behave when a release lands — is in no document at all: put the EA on a demo of that same server and sit through one news-heavy New York open. Which of these you can live with, though, depends on whose money the EA is trading.
Which Broker Fits Your Situation?
The weighting changes with whose money you are trading.
Your situation
Weight most heavily
Account model that usually fits
The failure to watch for
Retail, self-funded
Execution quality and cost inside the killzones
Raw spread plus commission, with a broker VPS
Paying up for tight average spreads you never actually trade against
Funded or prop-firm account
The firm's rulebook first, the broker's terms second
Whatever the firm provides — you rarely get to choose
An EA that is compliant with the broker and non-compliant with the firm
Several brokers or instances
Symbol mapping and instance isolation
One consistent account type across brokers
Two instances sharing a magic number, or netting into each other
Retail and self-funded is the simple case: you choose everything, so optimise for the two things that compound — cost inside your trading windows, and fill quality at the open. A raw-spread account with a broker VPS is the default answer, and the broker's written automation policy is the tiebreaker.
On a funded or prop-firm account, the firm outranks the broker. You usually inherit the broker, the server and therefore the GMT offset, so most of the criteria above become facts to discover rather than choices to make. What you do control is the EA: daily-loss and total-drawdown caps, consistency rules, and news-trading bans all have to be enforced on your side, and they matter more than any spread difference. Confirm the firm permits EAs at all before you optimise anything else.
Running several brokers or several instances turns two of the smaller criteria into the main ones. Every broker will have its own symbol suffix and its own server offset, so a mapping layer stops being optional. Give each instance its own magic number so positions never get claimed by the wrong copy of the EA, and confirm each server's clock independently — assuming two brokers share an offset is exactly the assumption that breaks in March and October.
Watching Live Setups Before You Trust the Automation
There's a gap between choosing a broker and trusting an EA with live money, and most people fill it by staring at a demo account. Something else worth doing in that window is watching real setups get called in real time, so you have an outside reference for what the market actually did during the hours your EA will be awake.
Our free Forex Telegram channel posts live trade setups as they form — you see the pair, the level and how it resolves, in the same sessions your EA will be trading. Reading a couple of weeks of those next to your own backtest is a cheap sanity check on whether the hours you selected really produce the kind of movement your model depends on. The same calls appear on our live forex signals page if you'd rather not use Telegram.
Be clear about what it is and is not. It is a manual feed that a person reads and acts on, not an EA, and it is not built on ICT or Smart Money methodology — don't expect its calls to map onto your order blocks. If you want hands-off ICT automation, it doesn't replace the broker and EA setup this page is about. It is only a way to watch price behave in your sessions before you hand over the keys.
Picking Your Broker — and What to Set Up Next
Come back to the clock you started with. Almost everything on this page reduces to one question: does this broker let your EA trade the hours, the levels and the stops your model actually specifies, or does it quietly negotiate all three down a little?
The shortlist that survives that question is smaller than any generic ranking suggests. It is mostly the raw-spread, commission-based MT5 accounts that publish an explicit stance on automation and put a VPS within reach of their own server. Pick one of those and you have removed infrastructure as a variable, which is the entire job of this decision.
Then, before a single live trade, work through this order:
Read the server's GMT offset off the terminal, and find out what it does at the next daylight-saving change.
Confirm the symbol suffix on the live account type you funded — not on the demo you tested with.
Check the minimum stop distance on every pair the EA trades, against the tightest stop your model places.
Verify that algo trading is enabled on the account, then run the EA on a demo of the same server through one complete killzone.
Forward-test on the broker you'll actually use. A forward test is the only test that includes the broker.
And keep the obvious in view. A better broker improves execution, not expectancy — an EA with no edge simply executes a losing strategy faster and more consistently. Everything on this page is infrastructure, and infrastructure never rescues a model. Read our risk warning before you commit capital to either half of the equation.
FAQ
Do I need a raw-spread account to run an ICT EA?
No, but it makes the strategy easier to evaluate. On a raw-spread, commission-based account one half of your trading cost is fixed, so when a backtest and live results diverge you have fewer variables to blame. On an all-in spread account everything floats, and it floats most at the session opens your EA deliberately targets. Plenty of session-timed EAs run profitably on all-in spread accounts; you just carry more uncertainty about what a given trade actually cost you.
Can I run an ICT EA on a prop-firm MT5 account?
Often yes, but the firm's rulebook decides, not the broker's. Check three things before anything else: whether EAs are permitted at all on your account type, whether trading around scheduled news is allowed, and how the daily-loss and maximum-drawdown limits are calculated. A killzone EA that fires several trades inside one window can breach a daily-loss cap much faster than a swing model, so the EA-side controls — maximum open trades, a daily stop, a hard kill switch — matter far more than any spread advantage.
What server time should my EA's killzone filter use?
Whatever your broker's server reports, converted at runtime rather than assumed. Killzone windows are normally defined in New York time or in UTC, while the MT5 terminal thinks in server time, which is usually a few hours ahead of GMT and may shift with daylight saving. The reliable pattern is to let the EA read the server's current offset at startup and convert your window into server hours from there. Hard-coding an offset works until the next DST change, and then quietly trades the wrong hour for months.
Will a VPS make my ICT EA more profitable?
Not by itself — but it removes a category of losses that has nothing to do with your model. A VPS keeps the terminal running through the whole killzone regardless of your laptop, your power supply or your home connection, and it usually sits closer to the broker's server than you do. Treat it as uptime insurance for the two hours a day that matter, not as a performance upgrade. If the choice is between a broker with a marginally better spread and one whose VPS actually reaches its own server, take the second.
My EA works on one broker and not on another — what changed?
Almost always one of four things, in this order of likelihood: the symbol name carries a different suffix on the new account type, the server's GMT offset is different so the session filter fires at the wrong hour, the account is in netting mode instead of hedging so a second entry is merging into the first, or the minimum stop distance is rejecting the stop your model wants. All four are silent failures. Check them in that order before touching a single strategy input.
Does the broker matter more than the EA?
No — the EA carries the edge, and the broker can only preserve or erode it. The reason broker choice gets this much attention for ICT specifically is that the strategy is unusually sensitive to the erosion: narrow stops, level-specific entries, and a trading window that coincides with the least stable pricing of the day. A mediocre broker will not make a good model bad, but it will shave a real amount off a thin edge, and it can make a fragile model look broken. Test the model in the strategy tester first, then choose the broker that costs it the least.
Sources & Further Reading
Want to go deeper? These independent, authoritative sources shaped this guide — each one is worth reading in full:
The Forex Desk is the SignalBots editorial team responsible for our currency-market coverage. We research and write the guides, explainers and reference articles on how the majors, minors and crosses actually trade — sessions, spreads, swaps and the macro releases that move price.
Discussions 0
Leave a comment