← Все идеи
#040ВыходПозиционная

Chandelier: трейлинг-стоп от экстремума сделки на расстоянии в ATR

Стоп лонга стоит на несколько ATR ниже максимума с начала сделки и подтягивается за ценой. При высокой волатильности он отходит, при низкой прижимается. Richard Brennan выходит так из трендов, параметры задаём мы.

The Algorithmic Advantage · Richard Brennan · Смотреть видео

Рынки

Фьючерсы, Индексы, Форекс, Сырьё, Облигации, Акции

Таймфрейм

D1

Данные

OHLC

Правила

Частично формализовано

Сложность

Простая

Статус

Не проверено

Часть правил дописали мы, это помечено в тексте.

TradingView переносится напрямую
EasyLanguage переносится напрямую
MetaTrader 5 есть ловушки

Идея коротко

Chandelier exit это трейлинг-стоп, который висит под максимумом сделки, как люстра под потолком. Расстояние задаётся не в пунктах и не в процентах, а в ATR. Для лонга стоп равен максимуму цены с момента входа минус несколько ATR. Цена обновляет максимум, стоп поднимается. Волатильность растёт, стоп отходит и даёт цене больше места. Волатильность падает, стоп прижимается к цене.

Richard Brennan, систематический трендследящий трейдер и соведущий канала, называет chandelier своей техникой трейлинга. У него около десяти систем с разными входами, и каждая режет убытки по-своему. Общая мысль: небольшой начальный стоп и трейл, который отпускает прибыль, пока тренд жив, и сам решает, когда тренд закончился.

Brennan не называет ни множитель ATR, ни длину окна. Он описывает, как их ищет: на всём портфеле рынков сразу, на границе между рыночным шумом и хвостами распределения. Название и классическую форму выхода обычно связывают с Chuck LeBeau, в видео он не упоминается. Ниже блок выхода, который встраивается в любую стратегию, и пример на карточке черепах.

Почему это может работать

Brennan исходит из формы распределения доходностей. Большую часть времени рынок колеблется около равновесия, и такие движения похожи на подбрасывание монеты. Изредка случаются длинные направленные движения, это толстые хвосты. Трендследящий трейдер зарабатывает только на хвостах. Поэтому стоп должен стоять там, где кончается шум: ближе он будет выбивать из будущих трендов, дальше будет отдавать лишнее на разворотах.

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

Автор показывает, чего ждать от такого выхода. Около 90% сделок заканчиваются мелкими убытками или небольшими прибылями, 5-10% дают крупные выигрыши, которые оплачивают всё остальное. Это его описание своих систем в целом, отдельной статистики по выходу нет.

Правила

Блок выхода (тип автора, параметры Finetiq)

// считается на закрытии каждого бара, новый уровень действует со следующего бара
ATRn = ATR(22)                                   // Finetiq: длина 22, стартовое значение
k    = 3                                          // Finetiq: множитель, стартовое значение

// на баре входа
LongStop = EntryPrice - k * ATRn                 // автор: начальный стоп по волатильности, он и есть 1R
R        = EntryPrice - LongStop

// на каждом следующем баре, пока позиция открыта
HighSince = максимум High от бара входа до текущего бара     // Finetiq: отсчёт от максимума сделки
Chand     = HighSince - k * ATRn
LongStop  = MAX(LongStop[1], Chand)             // прочтение 1: стоп движется только вверх

SELL STOP at LongStop                            // Finetiq: выход по касанию

// прочтение 2: LongStop = Chand без MAX
// автор говорит, что трейл «дышит» при высокой волатильности. Буквально это значит,
// что при росте ATR стоп может отойти вниз. Проверьте оба прочтения

// шорт зеркально
ShortStop = MIN(ShortStop[1], LowSince + k * ATRn)
BUY STOP at ShortStop

Варианты исполнения

// вариант выхода по закрытию (Finetiq): автор не уточняет касание или закрытие
IF Close < LongStop THEN EXIT AT NEXT BAR OPEN

// вариант отсчёта (Finetiq): от максимума последних 22 баров вместо максимума сделки
Chand = Highest(High, 22) - k * ATRn

Калибровка по методу автора

Brennan ищет границу шума на большой выборке, но метрику границы не называет. Ниже наша формализация через MAE, максимальный ход против позиции.

// Finetiq: на всём портфеле рынков сразу, без подбора под отдельный рынок
FOR каждая сделка основной стратегии без трейлинга (выход по времени или по сигналу)
    MAE_ATR = (EntryPrice - минимум Low за сделку) / ATRn на входе
// посмотреть распределение MAE_ATR у сделок, которые в итоге дали больше 5R
k = значение, за которым остаются 90% таких сделок        // Finetiq: стартовое правило
// затем проверить окрестность k на всём портфеле, выбирать плато, а не пик

Пример: черепахи с chandelier-выходом

Карточка turtle-4w-2w: вход на пробое максимума 20 баров, выход на пробое минимума 10 баров. Меняем только выход.

Entry20 = максимум High за 20 последних закрытых баров     // из карточки черепах

IF position = FLAT
    BUY STOP at Entry20
IF position = LONG
    SELL STOP at LongStop           // вместо SELL STOP at Exit10

// размер позиции как в карточке черепах: одинаковый риск в деньгах,
// расстояние до стопа = EntryPrice - (EntryPrice - k * ATRn) = k * ATRn
Contracts = floor(RiskMoney / (k * ATRn * PointValue))

Параметры

Параметр Значение Откуда
Тип выхода трейл от экстремума с поправкой на волатильность автор
Начальный стоп по волатильности, задаёт 1R автор
Калибровка на всём портфеле, 70-100 рынков автор
Длина ATR 22 бара Finetiq
Множитель k 3 Finetiq
Отсчёт максимум с момента входа Finetiq
Движение стопа только в сторону сделки Finetiq
Исполнение стоп-ордер на касание Finetiq
Таймфрейм D1 Finetiq
Порог калибровки по MAE 90% сделок больше 5R Finetiq

Что проверить

  1. Окрестность параметров на многих рынках. k = 2, 2.5, 3, 4, 5 и ATR 10, 22, 50 на 20-30 рынках разом. Смотрите медиану по рынкам и форму поверхности. Автор подбирает стопы на портфеле, а не на одном графике, и это главная защита от подгонки.
  2. Храповик против дыхания. Прочтение 1 (стоп только подтягивается) против прочтения 2 (стоп отходит при росте ATR). Сравните средний убыток на разворотах и число сделок, выбитых перед продолжением тренда.
  3. От максимума сделки или от окна. Отсчёт от максимума с момента входа против максимума последних 22 баров. На длинных трендах разница небольшая, на коротких сделках заметная.
  4. Касание против закрытия. Стоп-ордер против выхода на открытии после закрытия за уровнем. Выход по закрытию реже выбивает на шумных барах, но хуже на гэпах.
  5. Против выхода по каналу. Черепахи с Exit10 против черепах с chandelier на одном портфеле. Сравните не только итог, но и долю сделок больше 10R и вклад лучших 5% сделок. Тезис автора о положительном скосе проверяется именно так.
  6. Сжатие перед всплеском. Выберите сделки, закрытые на первом широком баре после периода низкой волатильности. Если таких много, стоп в спокойной фазе прижимается слишком близко, и нужен нижний предел расстояния.
  7. Гэпы. Посчитайте убытки больше 1R из-за гэпов через стоп. На акциях с отчётами и на CFD после выходных они случаются чаще, чем на фьючерсах.

Особенности платформ

TradingView (Pine Script)

  • ta.atr сглаживает по Уайлдеру. В EasyLanguage и MQL5 встроенный ATR это простое среднее TR, уровни стопа на трёх платформах разойдутся. Выберите одну формулу и считайте её везде одинаково.
  • Стоп задавайте ценой: strategy.exit("CH", "L", stop = longStop), пересчитывая уровень на каждом баре. Параметры trail_points и trail_offset задаются в тиках и держат фиксированное расстояние, ATR они не учитывают.
  • Максимум с начала сделки удобнее накапливать самим: переменная var float hh, которая на баре входа равна high, а дальше math.max(hh, high). Бар входа: strategy.opentrades.entry_bar_index(0).
  • Храповик тоже вручную: longStop := math.max(nz(longStop[1]), hh - k * atr), со сбросом при закрытии позиции.

MultiCharts и TradeStation (EasyLanguage)

  • AvgTrueRange(22) это простое среднее. Для сглаживания Уайлдера: ATRw = ATRw[1] + (TrueRange - ATRw[1]) / 22.
  • Выход ценой: Sell next bar at LongStop stop. Ордер живёт один бар и отправляется на каждом баре, пока позиция открыта.
  • Максимум с начала сделки: Highest(High, BarsSinceEntry + 1). На баре входа BarsSinceEntry = 0, окно в один бар.
  • SetDollarTrailing отсчитывает расстояние в деньгах от максимальной открытой прибыли. Это другой выход, ATR он не учитывает.

MetaTrader 5 (MQL5)

  • iATR тоже простое среднее TR. Для совпадения с Pine считайте Уайлдера сами.
  • Трейл делается изменением SL позиции на новом баре (CTrade::PositionModify). Уровень берите с закрытого бара (индекс 1), иначе стоп будет двигаться внутри бара и в тестере, и вживую.
  • Бары строятся по Bid. SL лонга срабатывает по Bid, SL шорта по Ask. На переходе дня у брокера спред расширяется, и шорт выбивает спредом, хотя на графике цена стопа не касалась.
  • Дневные бары идут по времени сервера. Короткие воскресные бары занижают ATR и подтягивают стоп ближе, чем на биржевых данных.

Где идея может сломаться

  • Параметров и отдельной статистики по выходу автор не дал. Его цифры (90% шума, крупные выигрыши около 100R) относятся к ансамблю из десяти систем на 70-100 рынках. На одном рынке положительный скос может не проявиться.
  • «Граница нормального распределения и хвостов» не формула. Наша калибровка через MAE лишь один из способов её приблизить.
  • В боковом рынке трейл по ATR даёт много мелких убытков подряд. Для трендовой системы это нормально, но серия может быть длинной.
  • Стоп-ордер не защищает от гэпа: убыток на открытии за стопом может быть в разы больше 1R.
  • В спокойной фазе стоп прижимается к цене как раз перед всплеском волатильности. Первый широкий бар может закрыть сделку перед движением.
  • Автор торгует CFD с длинным удержанием, от месяцев до лет. Свопы и комиссии за перенос позиции заметно меняют итог и в тесте на чистых ценах не видны.

Источники

  • 002 - Validate for Yourself! The Science of Trend Following - Richard Brennan

    The Algorithmic Advantage · Richard Brennan · 2023-08-23

    • 22:04Десять трендовых систем с разными входами
    • 23:27Стоп и трейлинг-стоп как простые выходы
    • 36:23Стоп и трейл близко к противоположной стороне ставки
    • 36:52R: расстояние от входа до стопа
    • 37:2190% сделок шум, 5-10% крупные выигрыши
    • 38:37Как далеко вести трейл: тест на 70-100 рынках
    • 39:49Граница между нормальным распределением и хвостами
    • 41:20Стопы меняются вместе с волатильностью
    • 41:31Chandelier: трейл дышит и сжимается

Заявлено автором

Эти цифры и утверждения принадлежат автору. Мы их не проверяли.

  • У автора около 10 трендовых систем с разными входами. Все режут убытки и дают прибыли расти, но каждая делает это по-своему.
  • В распределении сделок автора около 90% составляют мелкие убытки и шум, 5-10% крупные выигрыши. Отдельные тренды в его тестах длятся два-три года и приносят около 100R при обычном убытке 1R.
  • Место стопов и трейла автор подбирает сразу на всём портфеле, 70-100 рынков, чтобы получить большую выборку сделок.

Похожие идеи

Обновлено: 2026-09-10