Как работает трейлинг-стоп: расчет, принятие и исполнение
Трейлинг-стоп — правило, по которому программа предлагает новые уровни стоп-лосса, когда цена движется в благоприятную сторону. У предложения, принятого сервером уровня и фактической цены закрытия разные роли. Расчет на экране сам по себе еще не меняет защиту позиции.
При одностороннем правиле для покупки принятый SL может только повышаться, для продажи — только понижаться. Это ограничение алгоритма изменения уровня, а не гарантия прибыли или исполнения по нужной цене. Условия инструмента, способ активации и место работы программы нужно проверять отдельно.
Как работает трейлинг-стоп
Для обычного внебиржевого примера с покупкой кандидат равен Bid минус выбранное расстояние; для продажи — Ask плюс расстояние. Это не универсальное правило для любого биржевого инструмента и любой платформы: могут отличаться цена активации и настройки защиты. В частности, cTrader Web документирует четыре режима проверки SL: по стороне сделки, по противоположной стороне и варианты с двумя последовательными тиками. Сравнивайте котировку с тем режимом, который действительно выбран.
Порог включения и дистанция сопровождения — отдельные понятия. Во встроенном трейлинге настольного MT5 начало работы связано с прибылью в пунктах, достигшей выбранной дистанции. Само включение этой функции еще не означает, что первоначальный SL уже отправлен и принят. У собственной программы возможны другие условия включения, но их нельзя автоматически приписывать встроенной функции.
Все цены и участники следующего примера вымышлены. Анна покупает 10 000 EUR в EUR/USD по 1.0850. До начала сопровождения отдельно принят SL 1.0820. Для примера один пипс равен 0.0001, а дистанция — 30 пипсов, то есть 0.0030. При пяти знаках после запятой и пункте 0.00001 это 300 пунктов. У другого инструмента соответствие может отличаться.
Прокрутите таблицу вправо, чтобы увидеть все столбцы →
| Наблюдение | Bid | Что происходит | Последний принятый SL |
|---|---|---|---|
| Исходное состояние | 1.0850 | Первоначальный SL установлен отдельно | 1.0820 |
| Движение на 10 пипсов | 1.0860 | Порог 30 пипсов еще не достигнут | 1.0820 |
| Первое обновление | 1.0890 | 1.0890 − 0.0030 = 1.0860; принятие задано условием | 1.0860 |
| Следующее обновление | 1.0920 | 1.0920 − 0.0030 = 1.0890; принятие задано условием | 1.0890 |
Если затем исполнение закрытия условно задано по 1.0890, ценовой результат составит 40 пипсов, или 40 USD при объеме 10 000 EUR, до комиссий и иных расходов. Расположение SL на 1.0890 не доказывает, что реальная сделка исполнится именно там. Условие активации и исполнение следует проверять отдельно.
Где работает механизм
По документации настольного MT5 трейлинг выполняется в терминале клиента, а сам принятый SL хранится на сервере. Когда терминал выключен или связь потеряна, новые изменения от него не поступают. Последний действительный SL может сохраняться, если он уже был принят и позиция остается открытой. Если SL еще не появился, включенная ранее галочка трейлинга не заменяет его.
Для одной позиции встроенный механизм MT5 не выполняет изменение чаще одного раза за 10 секунд. Это верхнее ограничение частоты, а не обещание обновления каждые 10 секунд: нужны подходящая котировка, выполнение условий, работа терминала и принятие изменения. При нескольких позициях одного символа документация описывает отдельную очередность их обработки. Краткий всплеск между обработками не обязательно даст новый SL. Проверяйте журнал и фактически сохраненный уровень.
В cTrader Web встроенные защиты, включая trailing stop, документированы как серверные и продолжают работать после завершения сеанса. Из этого не следует, что любой советник, внешний сервис или любая версия другой платформы работают так же. Место исполнения нужно выяснять для конкретного механизма. Наличие серверной функции также не гарантирует цену закрытия.
Фиксированная, процентная дистанция и ATR
Фиксированное правило задает расстояние в пипсах, пунктах или единицах цены. Запись «30» без единицы недостаточна. Процентное правило масштабирует дистанцию вместе с выбранной базовой ценой: 0.5% от 1.1000 — это 0.0055, или 55 пипсов; от 1.2000 — 0.0060, или 60 пипсов при той же конвенции пипса. Нужно определить, какая цена служит базой и как округляется результат к допустимому шагу.
Вариант на основе ATR берет историческую меру диапазона. True Range учитывает максимум из диапазона High–Low и расстояний от предыдущего Close до High и Low; ATR усредняет True Range. Период, таймфрейм, способ расчета и множитель влияют на результат. Сам показатель не предсказывает следующую свечу и не дает универсальной «правильной» дистанции.
Это разные проекты правил. Их перечисление не означает, что все они доступны одним переключателем во встроенном MT5. Для собственного сопровождения по ATR отдельно задаются расчет, условия отправки и запрет ослабления уже принятого SL.
Почему рост Bid не обязательно поднимает стоп
Самостоятельный гипотетический пример, не настройка брокера. У собственной программы для покупки кандидат = Bid − 2 × ATR. ATR(14, H1) здесь лишь выбранное обозначение входных данных; значения ниже вымышлены и не вычислены из пяти приведенных котировок. Множитель 2 и таймфрейм H1 не являются рекомендацией. Начальный принятый SL равен 1.0950.
Прокрутите таблицу вправо, чтобы увидеть все столбцы →
| Шаг | Bid | Заданный ATR | Кандидат Bid − 2 × ATR | Отправка и ответ, заданные в модели | Принятый SL после шага |
|---|---|---|---|---|---|
| 1 | 1.1000 | 0.0010 | 1.0980 | Повышение отправлено и принято | 1.0980 |
| 2 | 1.1030 | 0.0010 | 1.1010 | Повышение отправлено и принято | 1.1010 |
| 3 | 1.1040 | 0.0020 | 1.1000 | Кандидат ниже принятого SL; изменения нет | 1.1010 |
| 4 | 1.1050 | 0.0015 | 1.1020 | Повышение предложено, но отклонено | 1.1010 |
| 5 | 1.1060 | 0.0015 | 1.1030 | Повышение отправлено и принято | 1.1030 |
На шаге 3 Bid вырос, но увеличение ATR снизило расчетный уровень. Одностороннее правило удерживает 1.1010. Формула max(принятый SL, кандидат) описывает допустимое направление запроса; она еще не подтверждает принятие сервером. Поэтому на шаге 4 эффективным остается 1.1010, хотя программа вычислила 1.1020. Причина условного отказа здесь не задана. Для продажи аналогичное направление задается через min, с соответствующей ценой Ask. В таблице нет фактов активации SL или исполнения закрытия.
Как трейлинг меняет результат позиции
Чем ближе стоп к текущей цене, тем меньшего обратного движения достаточно для выполнения условия активации. Это может закрыть позицию до последующего роста, но дальнейший рост нельзя знать заранее. Более широкий SL оставляет больше пространства для обратного движения и может отдать большую часть плавающего результата. Назвать одно правило лучше другого можно только для заранее определенной задачи и набора наблюдений.
Не переносите уровень после каждого заметного тика только потому, что прибыль на экране увеличилась. Проверьте, достигнут ли порог включения, разрешено ли изменение сейчас и каков последний принятый трейлинг-стоп. В собственной программе можно разделить порог и дистанцию, например условно включать сопровождение после 60 пипсов с дистанцией 40. Эти числа показывают устройство правила, а не подходящие параметры сделки.
Не оценивайте метод только по сделкам, в которых после закрытия цена продолжила движение. Такой отбор пропускает случаи, где ранний выход сократил потерю или где позиция вообще не достигла порога. Также не следует выводить пригодность трейлинга из одного таймфрейма или универсального числа дней удержания.
Как проверять правило сопровождения
Запишите правило до сравнения: исходный SL, цену активации, дистанцию и единицу, порог запуска, частоту проверки, округление, условия принятия запроса и поведение при отказе. Для ATR добавьте период, таймфрейм и способ расчета. Два теста должны использовать одинаковые входы, объемы, котировки и расходы; изменяется только сравниваемое правило выхода.
Включайте всю выбранную выборку, в том числе неудачные сделки, движения без включения трейлинга, разрывы и периоды с иной волатильностью. Сохраняйте последовательность котировок: максимум свечи не доказывает, что программа успела передвинуть SL до последующего минимума. Указывайте, какая детализация данных доступна и какие состояния между наблюдениями неизвестны.
Практическая проверка в демонстрационной среде нужна для выяснения поведения интерфейса, единиц и журнала, а не для обещания будущей доходности. Отдельно сравнивайте результат до и после расходов, просадку и чувствительность к нескольким заранее выбранным параметрам. Выбор самого удачного множителя на тех же данных не является независимой проверкой.
Разрывы цены, проскальзывание и отклоненные изменения
Обычный SL не обещает исполнение точно на своем уровне. Цена может перескочить через него; доступная ликвидность, режим исполнения и проскальзывание (материал на английском) влияют на фактическое закрытие. Гарантированный стоп, если он вообще предлагается, является отдельным договорным условием со своими ограничениями и возможной платой. Слово «серверный» не равнозначно гарантии цены.
До принятия изменения действует прежнее подтвержденное состояние. Для собственной программы в следующей модели принят SL 1.10200, Bid равен 1.10600, а новый расчет дает 1.10400. Расстояние 0.00200 равно 20 пипсам. Условный минимум задан как 30 пипсов, поэтому изменение в этой модели отклоняется. Это учебное условие, а не реальная спецификация инструмента или точная копия встроенного алгоритма MT5.
Расчетный уровень может быть отклонен
Прокрутите схему вправо, чтобы увидеть ее целиком →
Позже Bid 1.10300 ниже отклоненного кандидата 1.10400, но выше принятого SL 1.10200. Условие этого SL покупки еще не выполнено. Вывод действителен при явно заданных предпосылках: прежний SL остается действительным, его никто не удалял и других изменений не было. Если эти сведения отсутствуют, восстановить действующую защиту по одной строке расчета нельзя.
В документации MQL5 свойства символа (на английском) отдельно задают количество знаков, пункт, минимальный шаг цены, Stops Level и Freeze Level. Не подставляйте в них вымышленные значения как условия брокера. Код 10016 / TRADE_RETCODE_INVALID_STOPS (на английском) означает некорректные стопы, но сам по себе не устанавливает единственную причину отказа. Сопоставьте запрос, полный ответ, актуальную спецификацию и сохраненный SL.
Автоматическое сопровождение и ручной перенос
При ручном изменении вы тоже отправляете запрос: перемещенная линия или введенное число еще не подтверждают его принятие. Автоматизация делает правило повторяемым, но не устраняет разрыв между расчетом, отправкой, ответом, активацией и ценой исполнения. Для журнала полезно сохранять все эти состояния раздельно.
Перенос в безубыток может быть частью собственного плана, как и частичное закрытие. Однако уровень входа и безубыточность после всех расходов не всегда совпадают. Комиссии, своп, курс пересчета и проскальзывание могут оставить отрицательный итог. Нет универсального требования переносить стоп после 1R, 2R или конкретного движения.
Зафиксируйте, будет ли правило продолжать работать при закрытом приложении. Для различий между серверными SL/TP и клиентским сопровождением см. работу защитных приказов при выключенном терминале. Настройки одной платформы нельзя без проверки переносить на другую. SL и TP (на английском) также выполняют разные условия закрытия.
Что проверить перед использованием
- Определите единицы дистанции и допустимый шаг цены конкретного инструмента.
- Отделите начальный принятый SL от порога включения и последующих кандидатов.
- Уточните цену и режим активации, место работы программы, ограничение частоты и зависимость от связи.
- После изменения проверяйте ответ и текущий SL позиции, а не только новый расчет.
- Для собственной формулы сохраните одностороннее правило и отдельное условие принятия сервером.
- Сравнивайте заранее выбранные варианты на всей выборке с одинаковыми расходами и явными ограничениями данных.
Ни одна из приведенных последовательностей не взята из торгового счета. Условные расчеты объясняют механизм; они не подтверждают доходность, пригодность стратегии или доступность конкретной услуги.
Следующий шаг
Далее разберите, какая сторона котировки активирует SL/TP и почему активация еще не подтверждает цену исполнения.
Проверьте понимание
Программа рассчитала SL 1.10400, но изменение отклонено. Последний принятый SL — 1.10200; позже Bid равен 1.10300. Что следует из условий модели?
Ответ и объяснения без JavaScript
Правильный ответ: Условие принятого SL пока не выполнено.
SL сработал, потому что Bid опустился ниже 1.10400.
1.10400 — отклоненный кандидат. Он не заменил принятый сервером уровень.
После отказа у позиции больше нет SL.
В модели прежний SL 1.10200 остается действительным, удаления не было. Отклонение изменения само по себе его не удаляет.
Условие принятого SL пока не выполнено.
Верно. Для покупки Bid 1.10300 все еще выше принятого SL 1.10200. Сравнение с отклоненным кандидатом дало бы ложный вывод.
Вопросы и ответы
Продолжит ли трейлинг работать после выключения MT5?
Встроенный трейлинг настольного MT5 выполняется клиентским терминалом: без его работы или связи новых изменений нет. Последний действительный SL может остаться на сервере, если он уже был принят и позиция открыта. Включение трейлинга само по себе не устанавливает начальный SL. В cTrader Web встроенные серверные защиты продолжают работать после завершения сеанса. Для советника или внешнего сервиса нужно отдельно выяснить место работы.
Как выбрать дистанцию трейлинга?
Универсальной дистанции или множителя ATR нет. Определите единицы, исходный SL, порог запуска, частоту обновления и правило принятия. Для ATR задайте период, таймфрейм и расчет. Затем сравните заранее выбранные варианты при одинаковых входах и расходах на всей выборке. ATR описывает исторический диапазон, не будущую цену; проверьте ограничения инструмента и условия исполнения.
Защитит ли трейлинг от ценового разрыва?
Обычный стоп не гарантирует цену закрытия: при разрыве или недостатке ликвидности исполнение может оказаться хуже уровня SL либо возникнуть проблема исполнения. Гарантированный стоп — отдельное договорное условие, если оно доступно, со своими ограничениями и расходами. Даже выход перед известным событием не устраняет все рыночные и операционные риски.
Передвинется ли SL после краткого всплеска цены?
Не обязательно. Во встроенном настольном MT5 изменение одной позиции не выполняется чаще одного раза за 10 секунд; кроме того, нужны выполненный порог, работа терминала, котировка для обработки и принятие запроса. Краткий всплеск между обработками может не создать новый SL. Сверяйте журнал и сохраненный уровень; другая реализация может иметь иную частоту и условия.
Источники и пределы применения
- Alexander Elder — Trading for a Living (библиография исходного материала)
Книга непосредственно не прочитана; не служит проверенным основанием параметров, эффективности или правовых утверждений.
- ESMA: историческое сообщение об ограничениях CFD, 2018 год
Библиографическая ссылка исходного материала. Не текущая статистика потерь брокера и не подтверждение действующих правил для любой юрисдикции; правовые выводы из нее здесь не делаются.
- Investopedia: Trailing Stop (библиография исходного материала)
Вторичный материал непосредственно не проверялся; технические утверждения основаны на официальных источниках ниже.
- MetaTrader 5: типы приказов и встроенный трейлинг (на английском)
Прочитаны разделы о SL/TP и трейлинге: Bid/Ask с оговорками для биржевых инструментов, порог, клиентское выполнение, ограничение одного изменения за 10 секунд и журнал.
- cTrader Web: торговые защиты (на английском)
Прочитаны серверная работа, относительные и абсолютные уровни, четыре режима активации, проскальзывание и односторонний трейлинг. Функция платформы не означает гарантии цены или результата после расходов.
- MetaTrader 5: расчет ATR (на английском)
Использован расчет True Range и его усреднение. Описательные утверждения о прогнозной силе не перенесены; множитель и параметры собственного примера условны.
- MetaTrader 5: установка трейлинга и изменение приказов (на английском)
Выбор Trailing Stop в контекстном меню, дистанция, клиентское выполнение и проверка Stops Level. Это документация интерфейса, а не фактически проведенная операция на счете.
- MQL5: свойства торгового символа (на английском)
Выбранные свойства SYMBOL_DIGITS, SYMBOL_POINT, SYMBOL_TRADE_TICK_SIZE, SYMBOL_TRADE_STOPS_LEVEL и SYMBOL_TRADE_FREEZE_LEVEL; реальные значения брокера не задавались.
- MQL5: коды ответа торгового сервера (на английском)
Код 10016 означает invalid stops и не устанавливает единственную причину. Расчет, ответ и действующий SL нужно сопоставлять отдельно.
Материал описывает документированные механизмы настольного MT5, cTrader Web и явно условной собственной программы. Русский язык не определяет юрисдикцию читателя; наличие функции не подтверждает законность или доступность услуги в его стране. Все цены, ATR, объемы, минимумы, ответы и результаты примеров гипотетические. На торговом счете ничего не отправлялось и не исполнялось.