MetaTrader 4 Error Codes and Definitions

January 25, 2014

Please see the list below for the most common MT4 error code listings returned from trade server. which includes a complete listing of MT4 error codes and MQL4 Run Time Error Codes

ERR_NO_ERROR 0 Trade operation succeeded.
ERR_NO_RESULT 1 Order Modify attempts to replace the values already set with the same values. One or more values must be changed, then modification attempt can be repeated.
ERR_COMMON_ERROR 2 Common error. All attempts to trade must be stopped until reasons are clarified. Restart of operation system and client terminal will possibly be needed.
ERR_INVALID_TRADE_PARAMETERS 3 Invalid parameters were passed to the trading function, for example, wrong symbol, unknown trade operation, negative slippage, non-existing ticket number, etc. The program logic must be changed.
ERR_SERVER_BUSY 4 Trade server is busy. The attempt can be repeated after a rather long period of time (over several minutes).
ERR_OLD_VERSION 5 Old version of the client terminal. The latest version of the client terminal must be installed.
ERR_NO_CONNECTION 6 No connection to the trade server. It is necessary to make sure that connection has not been broken and repeat the attempt after a certain period of time (over 5 seconds).
ERR_TOO_FREQUENT_REQUESTS 8 Requests are too frequent. The frequency of requesting must be reduced, the program logic must be changed.
ERR_ACCOUNT_DISABLED 64 The account was disabled. All attempts to trade must be stopped.
ERR_INVALID_ACCOUNT 65 The account number is invalid. All attempts to trade must be stopped.
ERR_TRADE_TIMEOUT 128 Timeout for the trade has been reached. Before retry (at least, in 1-minute time), it is necessary to make sure that trading operation has not really succeeded (a new position has not been opened, or the existing order has not been modified or deleted, or the existing position has not been closed)
ERR_INVALID_PRICE 129 Invalid bid or ask price, perhaps, unnormalized price. After 5-second (or more) delay, it is necessary to refresh data using the Refresh Rates function and make a retry. If the error does not disappear, all attempts to trade must be stopped, the program logic must be changed.
ERR_INVALID_STOPS 130 Stops are too close, or prices are ill-calculated or unnormalized (or in the open price of a pending order). The attempt can be repeated only if the error occurred due to the price obsolescence. After 5-second (or more) delay, it is necessary to refresh data using the Refresh Rates function and make a retry. If the error does not disappear, all attempts to trade must be stopped, the program logic must be changed.
ERR_INVALID_TRADE_VOLUME 131 Invalid trade volume, error in the volume granularity. All attempts to trade must be stopped, and the program logic must be changed.
ERR_MARKET_CLOSED 132 Market is closed. The attempt can be repeated after a rather long period of time (over several minutes).
ERR_TRADE_DISABLED 133 Trade is disabled. All attempts to trade must be stopped.
ERR_NOT_ENOUGH_MONEY 134 Not enough money to make an operation. The trade with the same parameters must not be repeated. After 5-second (or more) delay, the attempt can be repeated with a smaller volume, but it is necessary to make sure that there is enough money to complete the operation.
ERR_PRICE_CHANGED 135 The price has changed. The data can be refreshed without any delay using the Refresh Rates function and make a retry.
ERR_OFF_QUOTES 136 No quotes. The broker has not supplied with prices or refused, for any reason (for example, no prices at the session start, unconfirmed prices, fast market). After 5-second (or more) delay, it is necessary to refresh data using the Refresh Rates function and make a retry.
ERR_REQUOTE 138 The requested price has become out of date or bid and ask prices have been mixed up. The data can be refreshed without any delay using the Refresh Rates function and make a retry. If the error does not disappear, all attempts to trade must be stopped, the program logic must be changed.
ERR_ORDER_LOCKED 139 The order has been locked and under processing. All attempts to make trading operations must be stopped, and the program logic must be changed.
ERR_LONG_POSITIONS_ONLY_ALLOWED 140 Only buying operation is allowed. The SELL operation must not be repeated.
ERR_TOO_MANY_REQUESTS 141 Too many requests. The frequency of requesting must be reduced, the program logic must be changed.
142 The order has been queued. It is not an error but an interaction code between the client terminal and the trade server. This code can be got rarely, when the disconnection and the reconnection happen during the execution of a trade operation. This code should be processed in the same way as error 128.
143 The order was accepted by the dealer for execution. It is an interaction code between the client terminal and the trade server. It can appear for the same reason as code 142. This code should be processed in the same way as error 128.
144 The order was discarded by the client during manual confirmation. It is an interaction code between the client terminal and the trade server.
ERR_TRADE_MODIFY_DENIED 145 Modifying has been denied since the order is too close to market and locked for possible soon execution. The data can be refreshed after more than 15 seconds using the Refresh Rates function, and a retry can be made.
ERR_TRADE_CONTEXT_BUSY 146 The trade thread is busy. Retry again with Trade Context Busy Support
ERR_TRADE_EXPIRATION_DENIED 147 The use of pending order expiration date has been denied by the broker. The operation can only be repeated if the expiration parameter has been zeroed.
ERR_TRADE_TOO_MANY_ORDERS 148 The amount of open and pending orders has reached the limit set by the broker. New open positions and pending orders can be placed only after the existing positions or orders have been closed or deleted.
ERR_TRADE_HEDGE_PROHIBITED 149 An attempt to open a position opposite to the existing one when hedging is disabled. First the existing opposite position should be closed, all attempts of such trade operations must be stopped, or the program logic must be changed.
ERR_TRADE_PROHIBITED_BY_FIFO 150 An attempt to close a symbol position contravening the FIFO rule. First earlier existing position(s) should be closed, all attempts of such trade operations must be stopped, or the program logic must be changed.

Social

Free Daily Market Update

Live Spreads

SymbolBidAskSpread

Spread

Sign up to the latest forex news and daily FX trading setups

Get started with a FREE $50,000 demo account