Главная > Блог > Стоп-уровень и уровень заморозки: почему не ставится SL

MT5спецификация символауправление рисками

Стоп-уровень и уровень заморозки: почему не ставится SL

Опубликовано: 2026-11-07Время чтения: ~3 мин
⏱ Эта статья отражает информацию на дату публикации. Показатели EA (PF, DD, годовая доходность) меняются с реальной торговлей и повторной валидацией — актуальные данные смотрите на страницах EA. Смотреть актуальные результаты EA →

Невозможность поставить SL — не всегда ошибка советника

Сразу к выводу. В большинстве случаев, когда SL нельзя поставить или сдвинуть, виновата не логика советника, а «минимальная дистанция», заданная спецификацией символа. В MT5 есть «стоп-уровень» (Stops Level), который определяет, на каком минимальном расстоянии от текущей цены можно разместить SL и TP, и «уровень заморозки» (Freeze Level), который запрещает изменять ордер, когда цена подошла близко к SL, TP или отложенному ордеру.

Неприятность в том, что эта дистанция не всегда одинакова. SL, который обычно проходит без проблем, может быть отклонён только сразу после выхода важной новости. Когда мы создаём советников, мы всегда проверяем эту дистанцию перед отправкой ордера. В статье — как это устроено, как проверить у себя и где заканчиваются возможности защиты на стороне советника.

Сравнение рекомендованных брокеров →

🎁 Скачать бесплатный EA

📧 Бесплатный email-курс (8 писем) + пакет из 13 индикаторов MT5 только для подписчиков

* Конфиденциальность строго защищена. Отписаться можно в любое время.

Как это работает: две «минимальные дистанции»

Стоп-уровень

Стоп-уровень (SYMBOL_TRADE_STOPS_LEVEL) — это минимальное расстояние от текущей цены до SL/TP в пунктах. Для длинной позиции оно отсчитывается от Bid (цены закрытия), для короткой — от Ask. Если попытаться поставить SL ближе этого расстояния, сервер отклонит запрос, и MT5 вернёт код «Invalid stops» (10016).

Уровень заморозки

Уровень заморозки (SYMBOL_TRADE_FREEZE_LEVEL) — это расстояние, при котором, если цена подошла близко к SL, TP или цене отложенного ордера, этот ордер нельзя изменить или удалить. Когда советник с трейлинг-стопом пытается сдвинуть SL прямо перед закрытием и получает отказ, чаще всего причина именно в этом. Код возврата — «Frozen» (10029).

ПараметрЧто означаетЗатрагиваемые операцииОсновной код отказа
Стоп-уровеньМинимальное расстояние от текущей цены до SL/TPУказание SL/TP при новом ордере, изменение SLInvalid stops (10016)
Уровень заморозкиРасстояние, при котором изменение запрещено, если цена приблизилась к SL/TP или отложенному ордеруИзменение SL/TP, изменение и отмена отложенных ордеровFrozen (10029)

«0» не означает отсутствие ограничений

Если в спецификации символа стоп-уровень равен 0, это ещё не значит, что SL можно ставить сколь угодно близко. Судя по всему, некоторые брокеры при нуле применяют на сервере другое правило (например, дистанцию, привязанную к спреду). Мы не смогли проверить реализацию у каждого брокера, поэтому подходим консервативно: «0 = держать SL на расстоянии не меньше спреда».

При выходе новостей дистанция расширяется

Стоп-уровень и уровень заморозки — не фиксированные величины: брокер может менять их по своему усмотрению. Некоторые брокеры временно увеличивают их до и после важных новостей, сразу после открытия торгов в начале недели и в период ролловера. В те же часы расширяется и спред, поэтому SL короткой позиции, отсчитываемый от Ask, приходится ставить дальше, чем требует само движение рынка.

Иначе говоря, даже если по обычной спецификации символа кажется, что «такая дистанция подойдёт», в самый важный момент ордер может не пройти. Если же советник устроен так, что вход проходит без SL, есть риск остаться с незащищённой позицией.

Порядок проверки и чек-лист

Проверьте следующее на своём счёте.

  1. Откройте спецификацию символа: в окне «Обзор рынка» щёлкните правой кнопкой по символу → «Спецификация». Запишите значения «Стоп-уровень» и «Уровень заморозки» (единица измерения — пункты).
  2. Переведите пункты в цену: у XAUUSD и USDJPY размер одного пункта в цене разный, поэтому сначала уточните количество знаков и затем пересчитайте в разницу цен.
  3. Сравните с SL советника: убедитесь, что дистанция SL в настройках или логике советника заметно больше суммы стоп-уровня и спреда.
  4. Посмотрите ещё раз до и после новостей: откройте тот же экран непосредственно перед выходом новости и проверьте, меняются ли значения. Меняет ли их ваш брокер, станет известно, только когда вы это увидите.
  5. Проверьте журналы: на вкладках «Журнал» и «Эксперты» посмотрите, нет ли «Invalid stops» или «Frozen». О том, как разбираться с отклонёнными ордерами, мы также написали в разделе Знания об EA и MT5.

Сама настройка советника описана в инструкции по настройке EA, а различия в торговых условиях у брокеров — в сравнении FX-брокеров.

Проверка минимальной дистанции на стороне советника

В наших советниках непосредственно перед отправкой ордера выполняется такая проверка:

  • каждый раз запрашиваются актуальные стоп-уровень, уровень заморозки и спред (значение, полученное один раз при запуске, не используется);
  • минимальная дистанция — это большее из значений стоп-уровня и уровня заморозки плюс спред и небольшой запас;
  • если SL ближе этой дистанции, вход пропускается, а SL самовольно не расширяется.

Мы не расширяем SL автоматически, потому что тогда убыток на одну сделку окажется больше расчётного. Если лот рассчитывается обратно от дистанции SL, расширение одного лишь SL нарушает заданный процент риска. Пропуск входа уменьшает число возможностей, но, по нашему мнению, это лучше, чем брать на себя непредусмотренный риск.

Ограничения и на что обратить внимание

Эта проверка не защищает от всех проблем.

  • В бэктесте это трудно воспроизвести: насколько мы понимаем, тестер стратегий MT5 использует текущие настройки спецификации символа и не воспроизводит расширение дистанции во время прошлых новостей. Чем короче SL у советника, тем больше может быть разница между результатами теста и реальной торговли. Например, GOLD TRIPWIRE — тип с коротким средним временем удержания в бэктесте (0:21:12), поэтому мы считаем, что он относится к тем, на кого такая разница влияет сильнее.
  • Пропуски меняют результат: среди сделок, пропущенных из-за проверки, могут быть и те, что в итоге оказались бы прибыльными. С включённой проверкой торговля отличается от бэктеста.
  • Условия могут измениться в момент отправки: пока запрос, прошедший проверку, доходит до сервера, условия могут измениться, поэтому полностью исключить отказы нельзя.
  • Сам SL может проскальзывать: даже если SL поставлен, при резком движении рынка сделка может закрыться по цене хуже уровня SL. Проверка минимальной дистанции — это не защита от проскальзывания.

Итоги

  • Чаще всего SL не ставится из-за стоп-уровня (минимальная дистанция) и уровня заморозки (дистанция, в которой изменения запрещены) из спецификации символа.
  • При отказе возвращается код «Invalid stops» или «Frozen».
  • Стоп-уровень 0 не всегда означает «без ограничений». Держите SL хотя бы на расстоянии спреда.
  • У некоторых брокеров дистанция и спред расширяются вокруг выхода новостей, и ордер может быть отклонён в самый важный момент.
  • Наш подход на стороне советника: каждый раз запрашивать актуальные значения, проверять их и, если дистанции не хватает, пропускать вход, не расширяя SL.
  • Бэктест плохо воспроизводит прошлые изменения дистанции. Чем короче SL у советника, тем внимательнее нужно относиться к разнице в реальной торговле.

📧 Бесплатный email-курс (8 писем) + пакет из 13 индикаторов MT5 только для подписчиков

* Конфиденциальность строго защищена. Отписаться можно в любое время.

Есть вопрос о советниках или Forex?

Задайте его на трейдерском форуме Nattzy (бесплатная регистрация). Можно спрашивать не только по этой статье — о настройке советников, выборе брокера и многом другом.

Спросить на Nattzy ↗

Комментарии и вопросы