XAUXXИсследовательский журнал
← Вернуться к журналу

Как устранить ошибку 130 в MT4 EA? Четырёхшаговый метод: от расстояния до стоп-лосса до динамических ограничений

Пошагово разбираем ERR_INVALID_STOPS в MT4 EA с помощью оригинальной светло-синей блок-схемы: журналы, точность котировок, MODE_STOPLEVEL и динамические ограничения — чтобы не маскировать риск ослаблением стоп-лосса.

Thomas · Обновлено 2026-10-20

Автор: Томас|Практика EA и MT4|20 октября 2026 г.

EA уже добавлен на график, автоматическая торговля включена, но при отправке ордера появляется «130» — обычно это заставляет думать, что программа полностью сломана. В справочной документации MQL4 ошибка 130 указана как ERR_INVALID_STOPS: стоп-лосс, тейк-профит, цена отложенного ордера или способ их нормализации в запросе не приняты торговым сервером. Это ориентир для поиска причины, а не повод слепо ослаблять стоп-лосс. В статье описан четырёхшаговый метод проверки: какие записи нужно смотреть.

Шаг первый: сначала определить, какой именно запрос завершился неудачей

Откройте соответствующий журнал терминала MT4 или журнал программы и зафиксируйте серверное время ошибки, инструмент, направление ордера, была ли операция OrderSend или OrderModify, а также код возврата. Если в журнале есть только слова «ордер не отправлен», сначала настройте EA так, чтобы он без вывода паролей и других чувствительных данных записывал цену запроса, стоп-лосс, тейк-профит и возвращаемое значение. Сначала различайте неудачное открытие позиции, неудачное изменение стоп-лосса и неудачную установку отложенного ордера; в этих трёх случаях проверяемые ценовые соотношения разные.

Не пытайтесь «испытать удачу» на реальном счёте, многократно повторяя один и тот же неудачный запрос. Повторные попытки могут создать дополнительную нагрузку, а также внезапно увенчаться успехом после изменения рынка и привести к неожиданной позиции. Сначала воспроизведите ситуацию в демо-среде и сохраните версию параметров и котировки платформы на тот момент.

Шаг второй: сверить Bid, Ask, Point и Digits

MarketInfo в MQL4 позволяет получить текущие Bid, Ask, Point и Digits инструмента. Point представляет одну из минимальных единиц отображения котировки, Digits — количество знаков после запятой; сколько долларов составляет «10 пунктов», нужно рассчитывать по фактическому Point данного инструмента, нельзя смешивать коды золота и точность у разных брокеров. Перед передачей цену также нужно нормализовать по соответствующему количеству знаков.

Пример приведён только как математическая иллюстрация: если у некоего демо-инструмента Point равен 0.01, а минимальное расстояние — 50 пунктов, рассчитанное расстояние составит 0.50 единицы котировки; для инструмента с Point 0.001 оно будет 0.05. Цифры не отражают контрактные правила какого-либо реального платформы на сегодня. При просмотре журнала сохраняйте также цены покупки и продажи, чтобы не проверять сторону, для которой следовало бы использовать цену покупки, по цене продажи, или наоборот.

Шаг третий: проверить MODE_STOPLEVEL и тип ордера

Официальная документация OrderSend поясняет, что стоп-лосс и тейк-профит не могут быть слишком близко к рыночной цене; заданная цена открытия отложенного ордера также не может быть слишком близко к текущему рынку. Можно запросить публичное минимальное расстояние через MarketInfo(Symbol(),MODE_STOPLEVEL) в пунктах. Затем в зависимости от того, является ли ордер покупкой, продажей или каким именно отложенным ордером, отдельно проверяйте направление цены, расстояние и нормализацию, а не применяйте фиксированное смещение ко всем ордерам.

![Четырёхшаговая учебная схема поиска ошибки 130 в MT4 EA, не скриншот реальной платформы](/media/201800aa-1111-4444-8888-123456789abc.png)

На рисунке выше — оригинальная схема процесса, без реальных котировок или данных счёта. Минимальное расстояние — лишь техническая граница, при которой сервер принимает ордер, и оно не равно разумному с точки зрения стратегии расстоянию до стоп-лосса. Если ради обхода 130 отодвинуть стоп-лосс дальше, запланированный риск на сделку возрастёт; следует сначала пересчитать размер позиции, а при необходимости отказаться от сделки.

Шаг четвёртый: возврат 0 тоже не позволяет утверждать, что ограничений нет

Официальное описание MODE_STOPLEVEL в MQL4 особо предупреждает: возврат 0 может означать как отсутствие фиксированного минимального расстояния, так и то, что сервер использует динамическое ограничение, которое терминал не может напрямую выразить. Во втором случае ошибка 130 всё ещё возможна. Поэтому утверждение «если получен 0, можно прижать стоп-лосс вплотную к цене» неверно. При резких изменениях рынка обновление котировок, изменение спреда и серверные правила также могут сделать ранее рассчитанное расстояние недействительным.

Если формула в коде совпадает с журналом на тот момент, а ошибка 130 всё равно возникает, сохраните время неудачи, инструмент, параметры ордера и версию платформы, проверьте спецификацию инструмента и ограничения ордеров у брокера и уточните у технической поддержки платформы. Не делайте выводов о правилах данного счёта по Point и StopLevel другой платформы и тем более не маскируйте настоящую причину неудачи удалением стоп-лосса.

Порядок проверки после исправления

Сначала запустите в демо-счёте минимальный воспроизводимый пример: по одному и тому же инструменту запишите четыре параметра котировок и StopLevel, отправьте один тестовый запрос, проверьте ответ сервера и состояние ордера. Затем протестируйте поведение при быстром изменении цены или в разные торговые сессии. Убедитесь, что в программе есть механизм остановки или охлаждения после неудачи и что при повторных попытках не происходит повторное открытие позиции. В конце сверьте, соответствуют ли бюджет риска, спред и допустимый убыток первоначальному плану.

Ключ к разбору ошибки 130 — «почему запрос отклонён», а не «как заставить его пройти любой ценой». На результат работы EA также влияют логика стратегии, сеть и исполнение на платформе; любое исправление не гарантирует прибыль и не исключает убытков. Торговля с плечом может привести к значительным потерям.

原创MT4 EA错误130排查流程,非真实平台截图
原创MT4 EA错误130排查流程,非真实平台截图
Предупреждение: торговля с кредитным плечом может привести к значительным убыткам. Материалы предназначены для исследований и обучения, без гарантий доходности. Прошлые результаты не предсказывают будущие.
WECHAT

Connect with Thomas

Gold research · Trading reviews · MT4 discussions

WeChat ID:xauxx666
Open QR image

Scan with WeChat to add. On mobile, open and save the image, then select it from your album in WeChat Scan.

Thomas’s WeChat QR code, ID xauxx666