As I mentioned many times in the previous articles if a function returns an error the code of this error you can get with the help of the GetLastError() function:
After this function is called the last error code is set to zero, that’s why if a new error doesn’t emerge between two calls of the GetLastError() function for the second time it will return 0.
| Constant | Value | Description |
| ERR_NO_ERROR | 0 | No error returned |
| ERR_NO_RESULT | 1 | No error returned, but the result is unknown |
| ERR_COMMON_ERROR | 2 | Common error |
| ERR_INVALID_TRADE_PARAMETERS | 3 | Invalid parameters |
| ERR_SERVER_BUSY | 4 | The trading server is busy |
| ERR_OLD_VERSION | 5 | The old version of the client terminal |
| ERR_NO_CONNECTION | 6 | No connection with the trading server |
| ERR_NOT_ENOUGH_RIGHTS | 7 | Not enough rights |
| ERR_TOO_FREQUENT_REQUESTS | 8 | Too frequent requests |
| ERR_MALFUNCTIONAL_TRADE | 9 | Malfunctional trade operation |
| ERR_ACCOUNT_DISABLED | 64 | Account disabled |
| ERR_INVALID_ACCOUNT | 65 | Invalid account |
| ERR_TRADE_TIMEOUT | 128 | Trade timeout |
| ERR_INVALID_PRICE | 129 | Invalid price |
| ERR_INVALID_STOPS | 130 | Invalid stops |
| ERR_INVALID_TRADE_VOLUME | 131 | Invalid trade volume |
| ERR_MARKET_CLOSED | 132 | Market is closed |
| ERR_TRADE_DISABLED | 133 | Trade is disabled |
| ERR_NOT_ENOUGH_MONEY | 134 | Not enough money for performing an operation |
| ERR_PRICE_CHANGED | 135 | Price changed |
| ERR_OFF_QUOTES | 136 | Off quotes |
| ERR_BROKER_BUSY | 137 | Broker is busy |
| ERR_REQUOTE | 138 | Requote (new prices) |
| ERR_ORDER_LOCKED | 139 | Order is locked and is being processed |
| ERR_LONG_POSITIONS_ONLY_ALLOWED | 140 | Long positions only are allowed |
| ERR_TOO_MANY_REQUESTS | 141 | Too many requests |
| ERR_TRADE_MODIFY_DENIED | 145 | Modification denied because order is too close to market |
| ERR_TRADE_CONTEXT_BUSY | 146 | Trade context is busy |
| ERR_TRADE_EXPIRATION_DENIED | 147 | To use expiration date of an order is prohibited by broker |
| ERR_TRADE_TOO_MANY_ORDERS | 148 | The number of open and pending orders has reached the limit set by broker |
| Constant | Value | Description |
| ERR_NO_MQLERROR | 4000 | No error |
| ERR_WRONG_FUNCTION_POINTER | 4001 | Wrong function pointer |
| ERR_ARRAY_INDEX_OUT_OF_RANGE | 4002 | Array index is out of range |
| ERR_NO_MEMORY_FOR_FUNCTION_CALL_STACK | 4003 | No memory for function call stack |
| ERR_RECURSIVE_STACK_OVERFLOW | 4004 | Recursive stack overflow |
| ERR_NOT_ENOUGH_STACK_FOR_PARAMETER | 4005 | Not enough stack for parameter |
| ERR_NO_MEMORY_FOR_PARAMETER_STRING | 4006 | No memory for parameter string |
| ERR_NO_MEMORY_FOR_TEMP_STRING | 4007 | No memory for temporary string |
| ERR_NOT_INITIALIZED_STRING | 4008 | Not initialized string |
| ERR_NOT_INITIALIZED_ARRAYSTRING | 4009 | Not initialized string in array |
| ERR_NO_MEMORY_FOR_ARRAYSTRING | 4010 | No memory for array string |
| ERR_TOO_LONG_STRING | 4011 | Too long string |
| ERR_REMAINDER_FROM_ZERO_DIVIDE | 4012 | Remainder from zero divide |
| ERR_ZERO_DIVIDE | 4013 | Zero divide |
| ERR_UNKNOWN_COMMAND | 4014 | Unknown command |
| ERR_WRONG_JUMP | 4015 | Wrong jump |
| ERR_NOT_INITIALIZED_ARRAY | 4016 | Not initialized array |
| ERR_DLL_CALLS_NOT_ALLOWED | 4017 | DLL calls are not allowed |
| ERR_CANNOT_LOAD_LIBRARY | 4018 | Cannot load library |
| ERR_CANNOT_CALL_FUNCTION | 4019 | Cannot call function |
| ERR_EXTERNAL_EXPERT_CALLS_NOT_ALLOWED | 4020 | External expert function calls are not allowed |
| ERR_NOT_ENOUGH_MEMORY_FOR_RETURNED_STRING | 4021 | Not enough memory for temp string returned from function |
| ERR_SYSTEM_BUSY | 4022 | System is busy |
| ERR_INVALID_FUNCTION_PARAMETERS_COUNT | 4050 | Invalid function parameters count |
| ERR_INVALID_FUNCTION_PARAMETER_VALUE | 4051 | Invalid function parameter value |
| ERR_STRING_FUNCTION_INTERNAL_ERROR | 4052 | String function internal error |
| ERR_SOME_ARRAY_ERROR | 4053 | Some array error |
| ERR_INCORRECT_SERIES_ARRAY_USING | 4054 | Incorrect series array using |
| ERR_CUSTOM_INDICATOR_ERROR | 4055 | Custom indicator error |
| ERR_INCOMPATIBLE_ARRAYS | 4056 | Arrays are incompatible |
| ERR_GLOBAL_VARIABLES_PROCESSING_ERROR | 4057 | Global variables processing error |
| ERR_GLOBAL_VARIABLE_NOT_FOUND | 4058 | Global variable not found |
| ERR_FUNCTION_NOT_ALLOWED_IN_TESTING_MODE | 4059 | Function is not allowed in testing mode |
| ERR_FUNCTION_NOT_CONFIRMED | 4060 | Function is not confirmed |
| ERR_SEND_MAIL_ERROR | 4061 | Send mail error |
| ERR_STRING_PARAMETER_EXPECTED | 4062 | String parameter expected |
| ERR_INTEGER_PARAMETER_EXPECTED | 4063 | Integer parameter expected |
| ERR_DOUBLE_PARAMETER_EXPECTED | 4064 | Double parameter expected |
| ERR_ARRAY_AS_PARAMETER_EXPECTED | 4065 | Array as parameter expected |
| ERR_HISTORY_WILL_UPDATED | 4066 | Requested history data in updating state |
| ERR_TRADE_ERROR | 4067 | Trade error |
| ERR_END_OF_FILE | 4099 | End of file |
| ERR_SOME_FILE_ERROR | 4100 | Some file error |
| ERR_WRONG_FILE_NAME | 4101 | Wrong file name |
| ERR_TOO_MANY_OPENED_FILES | 4102 | Too many opened files |
| ERR_CANNOT_OPEN_FILE | 4103 | Cannot open a file |
| ERR_INCOMPATIBLE_ACCESS_TO_FILE | 4104 | Incompatible access to a file |
| ERR_NO_ORDER_SELECTED | 4105 | No order selected |
| ERR_UNKNOWN_SYMBOL | 4106 | Unknown symbol |
| ERR_INVALID_PRICE_PARAM | 4107 | Invalid price parameter for trading function |
| ERR_INVALID_TICKET | 4108 | Invalid ticket |
| ERR_TRADE_NOT_ALLOWED | 4109 | Trade is not allowed |
| ERR_LONGS_NOT_ALLOWED | 4110 | Longs are not allowed |
| ERR_SHORTS_NOT_ALLOWED | 4111 | Shorts are not allowed |
| ERR_OBJECT_ALREADY_EXISTS | 4200 | Object exists already |
| ERR_UNKNOWN_OBJECT_PROPERTY | 4201 | Unknown object property is requested |
| ERR_OBJECT_DOES_NOT_EXIST | 4202 | Object does not exist |
| ERR_UNKNOWN_OBJECT_TYPE | 4203 | Unknown object type |
| ERR_NO_OBJECT_NAME | 4204 | No object name |
| ERR_OBJECT_COORDINATES_ERROR | 4205 | Object coordinates error |
| ERR_NO_SPECIFIED_SUBWINDOW | 4206 | No specified subwindow |
| ERR_SOME_OBJECT_ERROR | 4207 | Some object error |