MetaTrader 5 trade server return code
MetaTrader 5 trade server return code: 10040 TRADE_RETCODE_LIMIT_POSITIONS
The error, as text you can copy
10040 TRADE_RETCODE_LIMIT_POSITIONS - Kind
- Trade server return code
- Where you meet it
- Returned by the trade server to the platform
What does 10040 TRADE_RETCODE_LIMIT_POSITIONS mean on the MetaTrader 5 API?
The number of open positions on the account has reached a limit set on the server. The vendor explains that on netting accounts only open positions are counted, and new orders are then allowed only for symbols that already have a position. On hedging accounts pending orders are counted together with open positions, and neither new market orders nor new pending orders are allowed once the limit is reached. It is a MetaTrader 5 trade server return code, placed in the retcode field of the MqlTradeResult structure after OrderSend().
Risk warning: CFDs and spread bets are complex instruments and come with a high risk of losing money rapidly due to leverage. You can lose money on these products, and each provider publishes its own loss figure under FCA rules. You should consider whether you understand how they work and whether you can afford to take the high risk of losing your money. Automated and API trading can amplify losses through bugs, connectivity failures and runaway orders.
No fix in the source
The vendor's page gives no remedy and no figure: the limit comes from the server settings.
That is all the source says, so this page does not invent a fix. General guidance: the other trade server return codes recorded for MetaTrader 5, and the error lookup for the exact text of the reply you received.