Platforms · reviewed October 2026
MT4 vs MT5 vs cTrader for Prop Trading
The platform is not a preference. It decides whether hedged positions are possible, whether a stop survives a disconnect, how a fill is recorded, and whether your automation can run at all. Most traders choose on charting familiarity and discover the differences during a drawdown. This guide compares the three platforms on the mechanics that interact with an evaluation rulebook, not on the features that appear in a brochure.
Key takeaways
- MT4 uses netting-free hedging by default; MT5 and cTrader can run netting or hedging depending on the account configuration.
- Server-side stops are a broker setting, not a platform feature. Confirm they are held on the server, not by the terminal.
- MT5 adds depth of market and more order types; cTrader exposes fills and commissions more transparently than either MetaTrader build.
- Automation portability is one-way: MQL4 indicators do not run on MT5 without a rewrite, and neither runs on cTrader without cAlgo.
- The platform a firm offers is often a signal about its market: MetaTrader for forex and CFD, dedicated platforms for futures.
Contents
- Why the platform is part of the rulebook
- The comparison table that matters
- Hedging and netting
- Server-side stops and disconnects
- Order types and execution
- Automation support
- Commissions, swaps and the true cost per trade
- Choosing for a specific style
- Moving a strategy between platforms
- Latency, VPS and server location
- What the trade history should show
- Switching platforms mid-attempt
- Charting on one platform, executing on another
- A pre-trade platform checklist
- Common questions
Three platforms cover most prop firm forex and CFD evaluations: MetaTrader 4, MetaTrader 5 and cTrader. They look similar on a screenshot and behave differently in the situations that decide an account: a hedge that the plan forbids, a stop that does not exist after a disconnect, a commission that is charged per lot rather than per trade, a fill that is recorded 1.4 pips away from the requested price.
The differences are not academic. A trader who plans a hedged position on a netting account will find that the second order closes the first. A trader who relies on a stop attached to a chart will find that it disappears with the connection. Both are platform mechanics, and both can breach a rule that the trader read carefully.
Why the platform is part of the rulebook
A prop evaluation is enforced against a trade history, and the trade history is produced by the platform. That makes the platform a component of compliance rather than a display layer.
- Position model. Netting and hedging produce different trade histories from the same decisions, which changes whether a hedge exists and how drawdown is measured.
- Stop storage. A stop held by the broker survives a disconnect; a stop held by the terminal does not. The difference is the most common cause of an unexplained loss.
- Fill reporting. A platform that records requested and filled prices separately makes slippage visible. One that records only the fill makes it invisible until the P&L is wrong.
- Cost structure. Commission per lot, spread markup and swap are charged differently, and the visible number is not always the total.
- Automation. The scripting environment determines whether an existing strategy can run without a rewrite.
None of these is about preference. Each is a fact that can be checked before purchase, and each changes how a rule applies to the account.
The comparison table that matters
| Mechanic | MT4 | MT5 | cTrader |
|---|---|---|---|
| Default position model | Hedging (one ticket per position) | Netting or hedging by account | Netting or hedging by account |
| Order types | Market, limit, stop, stop-limit | Adds stop-limit variants and pending-order expiry | Market, limit, stop, and advanced conditional orders |
| Depth of market | No | Yes, where the broker provides it | Yes, with volume at price |
| Scripting | MQL4 | MQL5, with a strategy tester on real ticks | cAlgo, C# based |
| Fill transparency | Basic | Better, with deal history | Detailed, with execution and commission per fill |
| Typical prop use | Forex and CFD legacy accounts | Forex and CFD, newer accounts | Forex and CFD, commission-based pricing |
The first row is the one traders most often assume rather than check. MT4 accounts are almost always hedging accounts, which means two opposite positions can exist at once. MT5 and cTrader accounts can be either, and the choice belongs to the broker or the firm. On a netting account, buying while short reduces or closes the short rather than opening a hedge — which can look like a forbidden hedge to a reviewer or, worse, can leave a position open that the trader believed was closed.
The fourth row matters for anyone migrating a system. A large library of MQL4 code does not carry over to MT5 without a rewrite, and the strategy tester behaves differently enough that a backtest result is not comparable. That is a real cost of switching and should be priced before choosing a firm for its platform.
Hedging and netting
Hedging is the clearest example of a platform setting that changes a rule outcome. Two positions on the same instrument in opposite directions are a hedge on a hedging account and a single net position on a netting account.
| Action on a hedging account | Action on a netting account | Consequence |
|---|---|---|
| Buy 1 lot while short 1 lot | Buy 1 lot reduces the short to zero | No hedge exists; flat rather than hedged |
| Close one leg | No separate leg to close | A partial close may be impossible |
| Two stops, one per leg | One position, one stop | Risk management is simpler and less ambiguous |
| Drawdown counted per leg | Drawdown counted on the net position | Equity curve can differ materially |
Several plans prohibit hedging outright, and on a netting account the prohibition is largely moot because the account cannot hold both legs. On a hedging account the prohibition is real and enforceable: the history shows two open positions. If your plan forbids hedging and your platform is MT4, the rule is live; if the account is netting, the same decision produces a flat position rather than a breach.
The subtler issue is that a trader who expects to hedge may unintentionally flatten. A position management routine that adds a hedge to protect a loser will, on a netting account, close the winner instead. The account is then flat with a realised loss, which is not what the trader intended and is sometimes much worse than the hedge they planned.
Server-side stops and disconnects
A stop can be stored in two places. On the server, it is an instruction held by the broker and it survives the terminal closing. In the terminal, it is a piece of software that only acts while the terminal runs and the connection is live.
MetaTrader and cTrader both support server-side stop orders, so the platform does not determine the answer. What determines it is how the order was placed. A stop entered as part of the order ticket is held on the server. A stop that is attached to the position by a script after entry, or managed by an expert advisor, may be held locally depending on how it was implemented.
| Implementation | Where the stop lives | Survives a disconnect |
|---|---|---|
| Stop placed with the entry order | Server | Yes |
| Stop modified manually in the terminal | Server | Yes |
| Stop attached by a script after entry | Server, if it sends the order | Usually yes |
| Stop managed by an EA that closes the position | Terminal | No |
| Trailing stop implemented in the EA | Terminal | No |
The last two rows are the ones that cost accounts. An EA that "manages risk" by monitoring the price and sending a close order is not a stop; it is a bot that closes trades while it is running. When the VPS restarts or the connection drops, the position has no protection at all.
The fix is structural rather than clever. Place the stop with the order so the server holds it, and treat the EA's own exit logic as an optimisation on top of that floor rather than as the floor itself. A plan that requires server-side stops is giving the same advice in the form of a rule.
Order types and execution
The three platforms differ in how many order types they expose and how much of the execution they show. For an evaluation, the useful differences are narrow.
Pending-order expiry. MT5 and cTrader can expire a pending order at a set time. MT4 generally cannot, which matters before a news window: a limit order left live is a position waiting to be opened inside a restricted period. On MT4 the trader has to cancel manually; on the others the order can expire by itself.
Partial fills. A large limit order may fill in several parts. MT5 records this in the deal history; cTrader shows it per fill. MT4 reports a single position with an average price. For a trader who needs to demonstrate that a trade was placed manually and intentionally, the more granular record is easier to explain.
Stop-limit orders. MT5 supports stop-limit variants that MT4 lacks. A stop-limit converts a stop into a limit once triggered, which prevents a fill at a terrible price but can also fail to fill at all. On a gap, the order may not execute and the position stays open — which is worse than a bad fill if a rule requires a flat account.
Depth of market. MT5 and cTrader can show resting volume, where the broker provides it. On a retail forex account this is usually indicative rather than a true book, so it should inform sizing rather than be treated as a liquidity guarantee.
Automation support
Automation is where the platform choice becomes expensive to reverse. Each environment has its own language, its own testing model and its own community of existing code.
| Environment | Language | Testing | Portability |
|---|---|---|---|
| MT4 | MQL4 | Bar-based tester, limited tick modelling | Cannot run on MT5 or cTrader unmodified |
| MT5 | MQL5 | Real-tick tester and multi-threaded optimisation | Requires a rewrite from MQL4 |
| cTrader | C# (cAlgo) | Backtesting with tick data, integrated with Visual Studio | Requires a rewrite from either MetaTrader build |
The practical consequence is that automation ties a trader to a platform family. A firm that offers only MT4 excludes a system written for cTrader, not because of a rule but because of the environment. Before choosing a firm for its rulebook, check whether the platform supports the system you intend to run — and whether the account is netting or hedging, since an EA written for one model can behave incorrectly on the other.
Testing quality also differs. MT5's real-tick tester is a meaningful improvement over MT4's bar-based model, and cTrader's tick backtesting is comparable. For a strategy whose edge is small per trade, the difference between a bar-based and a tick-based test is the difference between a plausible result and a real one.
Commissions, swaps and the true cost per trade
The visible spread is not the cost. The cost is the spread plus the commission plus the swap, and the three are charged differently depending on the platform and the account type.
| Cost | How it appears | Where traders misjudge it |
|---|---|---|
| Spread | Built into the quote | It widens at the open and around releases |
| Commission | Per lot, per side, on commission accounts | Doubled for a round turn; not visible in the chart |
| Swap | Charged nightly on held positions | Triple on one weekday; material for swing trades |
| Slippage | Difference between requested and filled price | Only visible in the deal history, if recorded |
A model: one standard lot of a major pair, a 1.2-pip spread, a $7 per-lot commission round turn, and a position held overnight. The spread is roughly $12 on a $100,000 position, the commission is $7, and the swap depends on the pair and direction. The total is around $19 before slippage, which is 0.019% of the notional — small per trade and large across two hundred trades.
On cTrader the commission is itemised per fill, which makes the total easy to see. On MetaTrader accounts the commission may be charged separately or bundled into the spread, and the difference is invisible unless the account statement is read. A trader comparing two firms on visible spread alone is comparing the smaller part of the cost.
Choosing for a specific style
The platform question resolves differently for each style, and the answer is usually decided by one or two mechanics rather than by the whole feature list.
| Style | Platform priority | Reason |
|---|---|---|
| Intraday discretionary | Fast order entry, server-side stops, reliable pending expiry | Many small decisions; the stop must survive a disconnect |
| Swing | Swap costs, hedging model, weekend rules | Positions are held for days; the carrying cost dominates |
| Scalping | Low latency, tight spread, commission transparency | The edge is small per trade and cost-sensitive |
| Automated | Scripting environment and tick-based testing | The system has to run and be validated |
| Futures | Dedicated platform with contract specs and session hours | MetaTrader is not the native environment |
For most discretionary forex traders, the decision comes down to MT5 versus cTrader, and the tie-breaker is usually commission transparency against the familiarity of the MetaTrader interface. Neither is wrong. The important part is to check the account's netting or hedging setting, confirm that stops are server-side, and read the commission schedule before the first trade rather than after the first statement.
Moving a strategy between platforms
Migration is a rewrite, not a copy. Three things have to be rebuilt: the entry and exit logic, the risk sizing, and the testing. Each can introduce a change in behaviour that is invisible in the code review.
- Re-derive position sizing. Lot calculation depends on contract size, tick value and account currency. A formula that is correct in MQL4 is not automatically correct in MQL5 or C#.
- Re-test on the new engine. A backtest result from one tester does not transfer. Run the same period on the new platform and compare trade by trade.
- Re-check the account model. A hedging strategy on a netting account is a different strategy. Confirm the model before deployment.
- Re-verify stop handling. Ensure every position is protected server-side, regardless of what the new environment does by default.
The fourth item is not optional. Migration is exactly when stop handling gets broken: the old code attached a stop, the new code assumes the platform does it, and neither is true. A week of demo running with deliberate disconnects is the cheapest way to find out.
Latency, VPS and server location
Latency is the delay between an instruction and its execution, and it matters in proportion to how short the holding period is. For a swing trade it is irrelevant. For a system that enters and exits within seconds, it can be the difference between the tested edge and no edge at all.
| Trading style | Typical latency sensitivity | Practical response |
|---|---|---|
| Swing, multi-day | Negligible | Any stable connection |
| Intraday discretionary | Low | Reliable connection; avoid wireless-only setups |
| Short-term systematic | Moderate | VPS near the broker's server |
| Tick-based or high frequency | Critical | Co-location, and usually outside the permitted conduct rules |
The firm's server location is the reference point, not the trader's home country. A VPS in the same data centre region as the broker reduces round-trip time to single-digit milliseconds; a home connection on another continent adds a hundred or more. That difference is invisible on a chart and decisive in the fill.
A VPS does not fix a bad strategy, and it introduces its own failure mode: a restart during an open position. The mitigation is the same as everywhere else in this guide — server-side stops, so that a VPS outage is an inconvenience rather than an unprotected position.
What the trade history should show
The trade history is the document a payout review reads, and the platform decides how much it can show. A clear history makes a routine review routine; a thin one turns a simple question into an investigation.
- Entry and exit timestamps. Needed to show a trade was outside a restricted window.
- Requested and filled price. Distinguishes a bad fill from a bad decision.
- Stop and target as placed. Shows that protection existed at entry rather than being added later.
- Position size and instrument. Needed for the position-cap and hedging checks.
- Commission and swap separately. Makes the cost of the strategy visible rather than bundled.
cTrader exposes all five most clearly, MT5 shows them across deal and order history, and MT4 compresses some into a single position record. None of the three is disqualifying; the point is to know what your statement can prove before a question is asked, and to export it periodically rather than relying on the platform's retention.
Exporting monthly also protects against a platform change. Firms migrate accounts between servers, and a history that was visible last quarter is not always visible after a migration. A local export is the only copy you control.
Switching platforms mid-attempt
Some firms allow an account to move between platforms, and some do not. Where it is allowed, the switch is a risk event rather than an administrative one.
The first thing that changes is position representation. A hedge that existed on a hedging account may be collapsed on a netting account, which closes one leg and realises a result the trader did not intend. The second is order handling: pending orders may not migrate, and a stop that was attached to the server may need to be re-placed. The third is history continuity, which matters if a review later asks about trades placed before the switch.
The safe sequence is to be flat before the switch, move the capital, then re-enter the plan on the new platform. Attempting to preserve open positions across a migration is the case where a mechanical change becomes a rule breach, because the resulting position may not be the one the trader placed.
Charting on one platform, executing on another
Many traders chart on TradingView or cTrader and execute on the platform the firm provides. That split is common, harmless and worth planning, because it introduces two specific risks.
The first is a price difference. Two feeds can disagree by a spread's width, and a level that looks touched on one chart may not be touched on the other. The disagreement is small in normal conditions and large around a release, which is exactly when a stop decision matters. The execution platform's price is the one that fills; the charting platform's price is only a view.
The second is latency between decision and order. Charting on one screen and executing on another adds seconds, and in a fast market a level can move before the order is placed. For a swing trader this is irrelevant. For an intraday trader it argues for placing the order from the chart that shows the same feed as the execution account, or for setting alerts and pre-staging the order.
The practical compromise is to use the external chart for analysis and the firm's platform for levels that matter: stops, entries and pending orders. The analysis can tolerate a discrepancy; the protection cannot.
One further check makes the split safe: confirm both feeds quote the same instrument the same way. Gold and index CFDs are quoted differently by different brokers — one contract may be ten ounces and another a hundred, and one index quote may be cash and another futures. A level drawn on the wrong contract is not a small error; it is the wrong instrument entirely, and the position that follows is not the one that was analysed.
A pre-trade platform checklist
- Confirm the account model: netting or hedging.
- Place one demo trade and verify that the stop is held server-side.
- Check the commission schedule and whether it is per side or round turn.
- Confirm the pending-order expiry behaviour before trading a news week.
- Verify the platform clock against the firm's session reset time.
- Export the trade history once and confirm it contains entry, exit, size and stop.
- If automating, confirm the account model and the scripting environment before writing any code.
Seven checks, about twenty minutes on a demo. Each one corresponds to a rule interaction described above, and each is cheaper to discover before the account has a drawdown than after.
Common questions
Is MT5 better than MT4 for a prop challenge?
For most traders MT5 is the better default: it records fills more clearly, supports pending-order expiry and has a real-tick tester. MT4 remains adequate for discretionary forex trading and has the larger library of existing expert advisors.
Can I hedge on a prop firm account?
Only if the account is configured for hedging and the plan permits it. Many plans prohibit hedging outright, and netting accounts cannot hold two opposite positions on the same instrument at all.
Are stops held on the server?
They are if they were placed as part of the order or sent to the broker as a stop order. An EA that closes a position when a level is reached is managing the trade locally, and the protection disappears if the terminal or connection drops.
Does cTrader work with MetaTrader expert advisors?
No. cTrader uses C# through cAlgo, so an MQL4 or MQL5 system has to be rewritten. Budget for the rewrite and for a fresh backtest rather than assuming equivalent behaviour.
Why does my commission show as double what I expected?
Commission is usually charged per side, so a round turn costs twice the quoted per-lot rate. Some firms quote the round-turn figure and some the per-side figure; check which before comparing.
What is the difference between netting and hedging?
On a netting account, opposite orders on the same instrument reduce or close a single net position. On a hedging account, they create separate positions that can both remain open. The model changes how a hedge appears in the trade history.
Can a pending order breach a news rule?
Yes. An order that triggers inside a restricted window is a trade made in that window. If the platform supports order expiry, set it before the window; otherwise cancel manually.
Which platform do futures prop firms use?
Dedicated futures platforms rather than MetaTrader, with contract specifications and session hours built in. Some firms also offer TradingView-linked execution. MetaTrader is primarily a forex and CFD environment.
Want the rulebook traded for you?
Flat $220, any firm, any account size, retries covered. We read the terms before accepting the job.
Related reading
- Passed challenges and certificates
- Client reviews of the service
- Which platform fits which firm
- Automation and EA rules
- Lot size on a $100,000 account
- Leverage and margin explained
- Passing services compared
- How to Set Stop Loss MT5
ElitePropX is an independent service and is not affiliated with, endorsed by or sponsored by any proprietary trading firm. Platform configurations, account models and commissions are set by each firm and broker and change without notice; verify them before purchasing an evaluation. Trading involves substantial risk of loss.