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.

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

MechanicMT4MT5cTrader
Default position modelHedging (one ticket per position)Netting or hedging by accountNetting or hedging by account
Order typesMarket, limit, stop, stop-limitAdds stop-limit variants and pending-order expiryMarket, limit, stop, and advanced conditional orders
Depth of marketNoYes, where the broker provides itYes, with volume at price
ScriptingMQL4MQL5, with a strategy tester on real tickscAlgo, C# based
Fill transparencyBasicBetter, with deal historyDetailed, with execution and commission per fill
Typical prop useForex and CFD legacy accountsForex and CFD, newer accountsForex 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 accountAction on a netting accountConsequence
Buy 1 lot while short 1 lotBuy 1 lot reduces the short to zeroNo hedge exists; flat rather than hedged
Close one legNo separate leg to closeA partial close may be impossible
Two stops, one per legOne position, one stopRisk management is simpler and less ambiguous
Drawdown counted per legDrawdown counted on the net positionEquity 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.

ImplementationWhere the stop livesSurvives a disconnect
Stop placed with the entry orderServerYes
Stop modified manually in the terminalServerYes
Stop attached by a script after entryServer, if it sends the orderUsually yes
Stop managed by an EA that closes the positionTerminalNo
Trailing stop implemented in the EATerminalNo

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.

EnvironmentLanguageTestingPortability
MT4MQL4Bar-based tester, limited tick modellingCannot run on MT5 or cTrader unmodified
MT5MQL5Real-tick tester and multi-threaded optimisationRequires a rewrite from MQL4
cTraderC# (cAlgo)Backtesting with tick data, integrated with Visual StudioRequires 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.

CostHow it appearsWhere traders misjudge it
SpreadBuilt into the quoteIt widens at the open and around releases
CommissionPer lot, per side, on commission accountsDoubled for a round turn; not visible in the chart
SwapCharged nightly on held positionsTriple on one weekday; material for swing trades
SlippageDifference between requested and filled priceOnly 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.

StylePlatform priorityReason
Intraday discretionaryFast order entry, server-side stops, reliable pending expiryMany small decisions; the stop must survive a disconnect
SwingSwap costs, hedging model, weekend rulesPositions are held for days; the carrying cost dominates
ScalpingLow latency, tight spread, commission transparencyThe edge is small per trade and cost-sensitive
AutomatedScripting environment and tick-based testingThe system has to run and be validated
FuturesDedicated platform with contract specs and session hoursMetaTrader 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.

  1. 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#.
  2. 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.
  3. Re-check the account model. A hedging strategy on a netting account is a different strategy. Confirm the model before deployment.
  4. 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 styleTypical latency sensitivityPractical response
Swing, multi-dayNegligibleAny stable connection
Intraday discretionaryLowReliable connection; avoid wireless-only setups
Short-term systematicModerateVPS near the broker's server
Tick-based or high frequencyCriticalCo-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

  1. Confirm the account model: netting or hedging.
  2. Place one demo trade and verify that the stop is held server-side.
  3. Check the commission schedule and whether it is per side or round turn.
  4. Confirm the pending-order expiry behaviour before trading a news week.
  5. Verify the platform clock against the firm's session reset time.
  6. Export the trade history once and confirm it contains entry, exit, size and stop.
  7. 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

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.

Pass your challenge today@voraspas