Категория
Риск
Уровень
Начальный
Где применяется
Управление рискомРабота в MT5Разработка стратегии

Стоп-лосс

Стоп-лосс — это уровень цены, прикреплённый к позиции, на котором брокер закрывает её автоматически, ограничивая убыток по этой сделке. Он живёт на сервере брокера, поэтому работает даже тогда, когда терминал выключен.

также: SL, стоп лосс, стоп-приказ, жёсткий стоп, защитный стоп

Обновлено · Проверено

Простыми словами

Цена, на которой вы заранее согласились оказаться неправым. Её установка превращает открытую позицию в заранее известную стоимость.

Почему это важно

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

  • Он превращает риск в арифметику. Дистанция стопа плюс лимит риска дают размер лота; без неё не от чего считать объём.
  • Однажды выставленный, он лежит на сервере брокера, поэтому срабатывает, пока терминал закрыт или VPS перезагружается.
  • Его отсутствие оставляет худший случай без границы. Сеточные и мартингейл-восстановления обходятся без него — потому эти кривые и выглядят спокойными ровно до того момента, когда перестают.

В MetaTrader 5

Где это в MT5

  • Диалог Новый ордер (F9) → Stop Loss — задаётся при входе, в ценах, а не в пипсах
  • Инструменты (Toolbox) → Торговля (Trade) → правый клик по позиции → Изменить или удалить позицию
  • Обзор рынка → правый клик по символу → Спецификация — строка «Уровень стопов» (Stops level) содержит минимальную дистанцию, которую принимает этот брокер
  • Инструменты (Toolbox) → Журнал (Journal) — именно там всплывает отказ по недопустимым стопам, а не во вкладке Эксперты
  • Тестер стратегий → Входные параметры — стоп является входным параметром, как любой другой, поэтому оптимизатор подгоняет его под вашу историю

Как это используют советники

  • Задаётся при входе в той же структуре MqlTradeRequest, что и ордер. Поле sl несёт цену, а не дистанцию, поэтому советник переводит пипсы сам.
  • Прикрепляется позже через TRADE_ACTION_SLTP или CTrade::PositionModify(), когда стратегии сначала нужна цена исполнения.
  • Обычно поставляется фиксированная дистанция: ни одна из 27 опубликованных здесь записей не выводит свой стоп из ATR.
  • Брокеры отклоняют стоп, стоящий к цене ближе, чем SYMBOL_TRADE_STOPS_LEVEL. Советник обязан обработать этот отказ, а не считать, что стоп встал.

Типичные настройки

Параметр Обычное значение Примечание
Кратное ATR (стоп по волатильности) 1,5–2,5 × ATR(14) Рекомендация, а не перепись — ни одна запись здесь так не настроена. Ниже 1,5 стоп оказывается внутри обычного движения.
Поставляемый стоп, 16 советников с единым стопом 25–114 пипсов, медиана 100 То, что эти сборки отправляют на самом деле. Пять из шестнадцати поставляют ровно 114.
Риск на сделку 0,5–2 % от баланса Он и дистанция стопа фиксируют размер лота. Выбирать сначала размер лота — значит переворачивать логику.
Минимальная дистанция от цены stops level брокера Обзор рынка → Спецификация его печатает. Стоп внутри него никогда не доходит до сервера.
Перенос в безубыток после 1 × дистанции стопа в прибыли Распространено и не бесплатно: часть выигрышных сделок он превращает в нулевые на откате.

Частые эксплуатационные проблемы

  • Ордер исполняется, стоп возвращается отклонённым за слишком близкое расположение к цене, и позиция остаётся без защиты, а следом в журнале — одна строка.
  • Советник считает уровень от запрошенной цены, а не от цены исполнения, поэтому проскальзывание сдвигает реальный риск.
  • Пункты и пипсы сталкиваются на 5-значных котировках: стоп в 30 пипсов уходит как 30 пунктов.

Связанные функции MT5

MqlTradeRequest.sl
Цена стопа, отправляемая вместе с ордером; ноль означает отсутствие стопа.
SymbolInfoInteger(symbol, SYMBOL_TRADE_STOPS_LEVEL)
Минимальное число пунктов между ценой и стопом, ниже которого брокер его отклоняет.
SymbolInfoInteger(symbol, SYMBOL_TRADE_FREEZE_LEVEL)
Дистанция, внутри которой сервер отказывается изменять или закрывать ордер.
PositionGetDouble(POSITION_SL)
Считывает действующий стоп — проверка того, что сервер его принял.

Пример

Дистанцию стопа никто не выбирает в одиночку. Она идёт вместе с лимитом риска, и эта пара даёт размер лота.

Баланс счёта
10 000 $
Риск на сделку
1 % = 100 $
Дистанция стопа
40 пипсов
Итоговый размер позиции
0,25 лота
Около 10 $ за пипс на лот по мажорной паре.

Расширьте стоп до 80 пипсов — и размер придётся уполовинить до 0,125, иначе риск удвоится.

Расчёт 100 ÷ (40 × 10) = 0,25 лота

Результат Стоп в 40 пипсов, стоящий ровно 100 $, если он будет задет

Как это используется

Читайте стоп как пару — дистанцию и размер, который к ней прилагается. По отдельности ни то, ни другое ничего не говорит о риске.

Диапазон Что означает
Стоп внутри 1 × ATR Обычное движение закрывает сделку; доля прибыльных падает по причинам, не связанным со входом.
1,5–2,5 × ATR, размер подогнан За пределами шума и рассчитан так, что ошибка стоит запланированной суммы.
Широкий стоп, размер лота не изменён Риск на сделку вырос пропорционально расширению.
Стопа нет вовсе Худший случай — это счёт; просадка покрывает лишь те убытки, которые закрылись.
  • Считывайте POSITION_SL обратно после исполнения. Предположение, что сервер принял запрос, — именно так позиции и остаются голыми.
  • Считайте убыток по тому, где закрылась цена, а не по тому, что списали со счёта: в 207 из этих строк цена закрылась в плюс, а своп и комиссия всё равно сделали сделку убыточной по деньгам.

Каждый советник здесь заявляет своё правило стопа и публикует свой журнал сделок, поэтому реализованный убыток стоит рядом с подразумеваемым стопом. Измеренные здесь цифры взяты из этих журналов бэктестов (EXP-STOP-OVERSHOOT-001).

Частые ошибки

Отодвигать стоп от цены, чтобы не принимать убыток

Единственная модификация, которая превращает контролируемый убыток в неконтролируемый. Все цифры риска по счёту опирались на это число.

Верить, что стоп фиксирует цену выхода

Это триггер, а не обещание: гэпы проходят сквозь уровень, и позиция закрывается по следующей доступной цене. Стоп-лимит, наоборот, фиксирует цену — ценой риска остаться без исполнения; в MT5 он есть, в MT4 — нет.

Использовать фиксированный стоп в пипсах при любом режиме рынка

Тридцать пипсов — это с запасом на спокойном рынке и умещается внутри одной свечи на волатильном.

Ставить стоп там, где его может позволить счёт

Стоп, поставленный на дистанции, которую терпит слишком крупная позиция, оказывается внутри шума. Уступать должен размер.

Подробнее

Что 2 719 опубликованных убыточных сделок сделали с уровнем, который должен был их остановить

Каждая карточка публикует свой список закрытых сделок, поэтому каждая дистанция выхода стоит рядом с тем стопом, который она несёт. Шестнадцать из 27 записей отправляют одну и ту же дистанцию на каждом ордере; убыточная сделка ниже означает, что цена закрылась против входа.

16 записей с единым стопом, 2 719 убыточных сделокЗначение
Убытки, закрывшиеся в пределах ±2 % от поставляемого стопа81,98 % (2 229)
Убытки, закрывшиеся за ним4,34 % (118)
Записи, чей самый глубокий убыток превысил настройку в полтора раза9 из 16
Медианное самое глубокое превышение на запись55,65 %
Самый глубокий одиночный убыток316,6 пипса против стопа в 114 пипсов
Вход в пятницу, закрытие не в пятницу: все убытки против превышений12,69 % против 18,64 % (22)

Первая строка — это работающий стоп: четыре убыточные сделки из пяти ложатся на число пресета. Вторая строка — та часть, которой не управляет ни одна настройка. Последняя строка менее показательна, чем кажется: посчитайте вместо этого каждое удержание, захватывающее субботу или воскресенье, и доли сходятся — 33,36 % против 35,59 %. Третья и четвёртая строки тоже держатся на малом числе наблюдений: самый глубокий убыток Sundial, 39,0 пипса против стопа в 25 пипсов, — единственная строка с нулевым временем удержания, которая является убытком, и если отбросить все три, получится 8 из 16 и 44,06 %. Закрытие Sundial по времени обычно успевает первым, медианный убыток 8,1 пипса — более быстрый выход сдвигает типичный убыток, а не худший.

Связанные термины и что проверить дальше

Отсюда следует одно правило расчёта объёма: умножьте поставляемый стоп на 1,56 — медианный худший случай по этим 16 записям — прежде чем сверять его со своим лимитом на сделку; половина его превысила. Масштабируйте дистанцию от измеренной волатильности и читайте стоп, который поставляет любой советник, на его собственной странице в каталоге.

Часто задаваемые вопросы

Должен ли советник MT5 всегда использовать стоп-лосс?
Любой советник, риск которого вы намерены измерить, — обязан: размер позиции, соотношение риска и прибыли и ожидаемая просадка следуют из дистанции стопа. Сеточные и мартингейл-восстановления обходятся без него, поэтому их худший случай не имеет границы.
Какая дистанция стоп-лосса считается хорошей?
Достаточно далёкая, чтобы обычное движение до неё не доходило, — примерно от 1,5 до 2,5 ATR внутри дня. Важнее связка: рассчитайте лот так, чтобы срабатывание стопа стоило запланированной доли счёта.
Работает ли стоп-лосс, если мой компьютер выключен?
Да. Однажды принятый, он лежит на сервере брокера и срабатывает там, работает ваш терминал или нет. А вот стопу, которым советник управляет в коде, нужен живой терминал.
Почему мой стоп-лосс отклонили?
Обычно он стоял к цене ближе, чем уровень стопов (stops level) символа, опубликованный в диалоге Спецификация. Другие причины: недопустимая для направления цена или изменение внутри уровня заморозки (freeze level).
Насколько убыток может оказаться хуже стопа?
По 16 опубликованным здесь советникам с единым стопом самый глубокий убыток в каждом журнале превысил поставляемую дистанцию в медиане на 55,65 %. Девять из шестнадцати понесли хотя бы один убыток в полтора раза шире своей настройки.