MT5 accounts run in one of two position accounting modes, and the difference affects manual trading and EAs.
Hedging mode: each order opens a separate position. You can hold a long and a short on the same symbol at the same time. Closing requires selecting the specific position.
Netting mode: one net position per symbol. A sell order on an existing long reduces or reverses it. This is how exchange-traded futures work.
Practical effects:
EAs written for hedging mode may behave unexpectedly on netting accounts, and vice versa.
Partial closes and scaling in work differently.
Some prop firms specify which mode their accounts use.
The mode is shown in the account information and cannot be changed on an existing account.
Which mode does your account use, and have you run into differences between them?
FXS Prop Desk wrote: EAs written for hedging mode may behave unexpectedly on netting accounts, and vice versa.
The most common version of that is an EA that tracks its trades by counting open positions with its magic number. On netting there's only ever one position per symbol, so a scale-in EA can think it has one trade when it actually has three added together, or a hedge EA's sell simply closes the long. In code, a quick check is ACCOUNT_MARGIN_MODE at start-up, refusing to run if it isn't the mode the logic was written for. Also, on netting the position's open price becomes an average after adding, so any stop or target calculated from the original entry price will be off. Worth testing on a demo of the same account type before going live.
One more trap on netting accounts is that stop loss and take profit belong to the position, not to each order. If an EA adds a second entry and sends its own stop, that stop replaces the first one for the whole combined size.
I found that out on a demo when a scale in with a tighter stop quietly moved protection for the original entry 8 pips closer. Nothing errored, the journal just showed a modify I had not expected.
Fairman's start up check is worth doing, and note that the property has three values, not two. Retail netting, exchange netting and retail hedging all exist, and code that only tests for hedging can treat the exchange mode as something it is not.
On hedging accounts the feature I use most is close by. Settling a long against an opposite short with TRADE_ACTION_CLOSE_BY closes both at one price, so you avoid paying the spread a second time on the other leg.
Reporting differs as well. Netting history is easiest to read deal by deal, so my journal export pulls deals and rebuilds trades from them rather than trusting the position records.
Has anyone seen a prop firm run netting accounts by default? Every evaluation I have tried was on hedging.