| Константа | Код | Описание |
| ERR_NO_ERROR | 0 | Торговая операция прошла успешно. |
| ERR_NO_RESULT | 1 | OrderModify пытается изменить уже установленные значения такими же значениями.
Необходимо изменить одно или несколько значений и повторить попытку. |
| ERR_COMMON_ERROR | 2 | Общая ошибка. Прекратить все попытки торговых операций до выяснения обстоятельств. Возможно перезагрузить операционную систему и клиентский терминал. |
| ERR_INVALID_TRADE_PARAMETERS | 3 | В торговую функцию переданы неправильные параметры, например, неправильный символ, неопознанная
торговая операция, отрицательное допустимое отклонение цены, несуществующий номер тикета и т.п.
Необходимо изменить логику программы. |
| ERR_SERVER_BUSY | 4 | Торговый сервер занят. Можно повторить попытку через достаточно большой промежуток времени (от нескольких минут). |
| ERR_OLD_VERSION | 5 | Старая версия клиентского терминала. Необходимо установить последнюю версию клиентского терминала. |
| ERR_NO_CONNECTION | 6 | Нет связи с торговым сервером. Необходимо убедиться, что связь не нарушена (например, при помощи функции
IsConnected) и через небольшой промежуток времени (от 5 секунд) повторить попытку. |
| ERR_TOO_FREQUENT_REQUESTS | 8 | Слишком частые запросы. Необходимо уменьшить частоту запросов, изменить логику программы. |
| ERR_ACCOUNT_DISABLED | 64 | Счет заблокирован. Необходимо прекратить все попытки торговых операций. |
| ERR_INVALID_ACCOUNT | 65 | Неправильный номер счета. Необходимо прекратить все попытки торговых операций. |
| ERR_TRADE_TIMEOUT | 128 | Истек срок ожидания совершения сделки. Прежде, чем производить повторную попытку (не менее, чем через 1 минуту),
необходимо убедиться, что торговая операция действительно не прошла (новая позиция не была открыта, либо существующий ордер не был
изменён или удалён, либо существующая позиция не была закрыта) |
| ERR_INVALID_PRICE | 129 | Неправильная цена bid или ask, возможно, ненормализованная цена. Необходимо после задержки от 5 секунд обновить
данные при помощи функции RefreshRates и повторить попытку.
Если ошибка не исчезает, необходимо прекратить все попытки торговых операций и изменить логику программы. |
| ERR_INVALID_STOPS | 130 | Слишком близкие стопы или неправильно рассчитанные или ненормализованные цены в стопах (или в цене открытия отложенного
ордера). Попытку можно повторять только в том случае, если ошибка произошла из-за устаревания цены. Необходимо после задержки от 5 секунд
обновить данные при помощи функции RefreshRates и повторить попытку.
Если ошибка не исчезает, необходимо прекратить все попытки торговых операций и изменить логику программы. |
| ERR_INVALID_TRADE_VOLUME | 131 | Неправильный объем, ошибка в грануляции объема. Необходимо прекратить все попытки торговых операций и изменить логику программы. |
| ERR_MARKET_CLOSED | 132 | Рынок закрыт. Можно повторить попытку через достаточно большой промежуток времени (от нескольких минут). |
| ERR_TRADE_DISABLED | 133 | Торговля запрещена. Необходимо прекратить все попытки торговых операций. |
| ERR_NOT_ENOUGH_MONEY | 134 | Недостаточно денег для совершения операции. Повторять сделку с теми же параметрами нельзя. Попытку можно повторить после задержки от 5 секунд,
уменьшив объем, но надо быть уверенным в достаточности средств для совершения операции. |
| ERR_PRICE_CHANGED | 135 | Цена изменилась. Можно без задержки обновить данные при помощи функции
RefreshRates и повторить попытку. |
| ERR_OFF_QUOTES | 136 | Нет цен. Брокер по какой-то причине (например, в начале сессии цен нет, неподтвержденные цены, быстрый рынок) не дал цен или отказал.
Необходимо после задержки от 5 секунд обновить данные при помощи функции
RefreshRates и повторить попытку. |
| ERR_REQUOTE | 138 | Запрошенная цена устарела, либо перепутаны bid и ask. Можно без задержки обновить
данные при помощи функции RefreshRates и повторить попытку.
Если ошибка не исчезает, необходимо прекратить все попытки торговых операций и изменить логику программы. |
| ERR_ORDER_LOCKED | 139 | Ордер заблокирован и уже обрабатывается. Необходимо прекратить все попытки торговых операций и изменить логику программы. |
| ERR_LONG_POSITIONS_ONLY_ALLOWED | 140 | Разрешена только покупка. Повторять операцию SELL нельзя. |
| ERR_TOO_MANY_REQUESTS | 141 | Слишком много запросов. Необходимо уменьшить частоту запросов, изменить логику программы. |
| | 142 | Ордер поставлен в очередь. Это не ошибка, а один из кодов взаимодействия между клиентским терминалом и торговым сервером. Этот код может быть получен в редком случае, когда во время выполнения торговой операции произошёл обрыв и последующее восстановление связи. Необходимо обрабатывать так же как и ошибку 128. |
| | 143 | Ордер принят дилером к исполнению. Один из кодов взаимодействия между клиентским терминалом и торговым сервером. Может возникнуть по той же причине, что и код 142. Необходимо обрабатывать так же как и ошибку 128. |
| | 144 | Ордер аннулирован самим клиентом при ручном подтверждении сделки. Один из кодов взаимодействия между клиентским терминалом и торговым сервером. |
| ERR_TRADE_MODIFY_DENIED | 145 | Модификация запрещена, так как ордер слишком близок к рынку и заблокирован из-за возможного скорого исполнения.
Можно не ранее, чем через 15 секунд, обновить данные при помощи функции RefreshRates
и повторить попытку. |
| ERR_TRADE_CONTEXT_BUSY | 146 | Подсистема торговли занята. Повторить попытку только после того, как функция IsTradeContextBusy вернет FALSE. |
| ERR_TRADE_EXPIRATION_DENIED | 147 | Использование даты истечения ордера запрещено брокером. Операцию можно повторить только в том случае, если обнулить параметр expiration. |
| ERR_TRADE_TOO_MANY_ORDERS | 148 | Количество открытых и отложенных ордеров достигло предела, установленного брокером. Новые открытые позиции и отложенные ордера возможны только после закрытия или удаления существующих позиций или ордеров. |
| ERR_TRADE_HEDGE_PROHIBITED | 149 | Попытка открыть противоположную позицию к уже существующей в случае, если хеджирование запрещено. Сначала необходимо закрыть существующую противоположную позицию, либо отказаться от всех попыток таких торговых операций, либо изменить логику программы. |
| ERR_TRADE_PROHIBITED_BY_FIFO | 150 | Попытка закрыть позицию по инструменту в противоречии с правилом FIFO. Сначала необходимо закрыть более ранние существующие позиции по данному инструменту, либо отказаться от всех попыток таких торговых операций, либо изменить логику программы. |