Идея коротко
После пробоя у трендовой акции нужно решить одно: когда выходить из прибыльной позиции. Автор канала Financial Wisdom убирает здесь субъективность одним числом. Если средний дневной диапазон бумаги (ADR%) 10% и больше, позиция закрывается по первому закрытию ниже EMA 10. Если ADR% меньше 10%, по первому закрытию ниже EMA 20. Быстрой бумаге короткий поводок, медленной длинный.
Правило одинаково в двух его исследованиях, на «чашке с ручкой» и на VCP. На примере SNDK видно, что выбор средней пересматривается по ходу сделки: пока ADR был ниже 10%, закрытие под EMA 10 не считалось выходом.
Это блок, а не система. Вход и начальный стоп берутся из любой пробойной стратегии, блок отвечает только за сопровождение прибыли. Два варианта из других источников: Jack Corsellis выходит частями по EMA 10, EMA 21 и SMA 50, а Qullamaggie сначала продаёт треть или половину через 3-5 дней.
Почему это может работать
Автор объясняет выбор средней скоростью бумаги. У бумаги с ADR% от 10% обычный дневной шум уже сравним с расстоянием до EMA 20. Короткая средняя быстрее забирает прибыль у резких движений. Медленной бумаге EMA 10 слишком близко: её выбьет нормальный откат, и тренд останется без вас.
У Jack Corsellis своё обоснование, через статистику. Чем медленнее средняя, тем больше средняя прибыль до выхода и тем дольше сделка. Прибыль в день у EMA 10 выше всех, поэтому выбор зависит от того, сколько новых сделок вы готовы искать. Средней, которую бумага уже резала до базы, он не доверяет: как бумага вела себя раньше, так будет вести и дальше.
Все цифры в этой карточке получены на заранее известных победителях. Сколько правило отдаёт на обычных пробоях, в видео не проверено.
Правила
Основной блок: выбор средней по ADR% (автор, период ADR Finetiq)
// дневные бары акции, позиция уже открыта любым входом со своим начальным стопом
ADRpct = 100 * (Average(High / Low, 20) - 1)
// Finetiq: формула и период 20. Financial Wisdom период не назвал,
// Jack Corsellis в том же контексте смотрит на 20-дневный ADR%
EMA10 = EMA(Close, 10)
EMA20 = EMA(Close, 20)
// выбор пересчитывается на каждом закрытом баре (автор, пример SNDK)
IF ADRpct >= 10 THEN TrailMA = EMA10 // автор: быстрые бумаги
ELSE TrailMA = EMA20 // автор: медленные бумаги
IF MarketPosition > 0 AND Close < TrailMA
EXIT AT NEXT BAR OPEN
// автор: выход по закрытию ниже средней, касание внутри дня не считается
// Finetiq: исполнение на открытии следующего дня. Вариант: заявка на закрытие сигнального дня
// начальный стоп хост-системы остаётся, выход по тому, что наступит раньше (Finetiq)
Применение к карточке qullamaggie-breakout
// там остаток после частичной продажи выходит по закрытию ниже EMA 10,
// а медленные бумаги по EMA 20-21 без критерия «медленная». Подставляем блок:
IF BarsSinceEntry >= 3 AND частичная продажа сделана
IF ADRpct >= 10 THEN TrailMA = EMA10 ELSE TrailMA = EMA20
IF Close < TrailMA THEN EXIT AT NEXT BAR OPEN
// в той карточке вход уже требует ADR% от 3%, так что до порога 10% дойдут не все бумаги
Вариант B. Jack Corsellis: выход частями по трём средним
EMA21 = EMA(Close, 21)
SMA50 = SMA(Close, 50)
// автор: основная практика EMA 10 и EMA 21, часть иногда оставляется на SMA 50
Part10 = 1/2 позиции; Part21 = 1/2 позиции // Finetiq: доли автор не назвал
IF Keep50 THEN Part10 = 1/3; Part21 = 1/3; Part50 = 1/3 // Finetiq
IF Close < EMA10 THEN EXIT Part10 AT NEXT BAR OPEN // автор: первое закрытие ниже
IF Close < EMA21 THEN EXIT Part21 AT NEXT BAR OPEN
IF Close < SMA50 THEN EXIT Part50 AT NEXT BAR OPEN
// когда оставлять часть на SMA 50 (признаки автора, пороги Finetiq)
Keep50 = бумага на пробое у SMA 50: Close / SMA50 - 1 < ADRpct / 100
OR до базы цена резала EMA 10 и 21: больше 6 закрытий ниже EMA21 за 60 баров до базы
// автор: по таким средним бумага и дальше будет «рубиться», надёжнее SMA 50
OR на индексе недавно был медвежий рынок: NASDAQ закрывался ниже SMA 200 за последние 250 баров
OR новый IPO: истории меньше 250 баров
IF номер базы в тренде >= 3 THEN Keep50 = FALSE // автор: поздняя стадия, быстрые средние
// «lower the bar»: бумага сильно оторвалась от EMA 10 (автор, порог Finetiq)
IF Close > EMA10 * (1 + 2 * ADRpct / 100)
SELL STOP at Low (последнего закрытого бара) для всей или части позиции
Вариант C. Qullamaggie в пересказе Financial Wisdom
// фаза 1 (автор)
IF BarsSinceEntry >= 3 AND BarsSinceEntry <= 5 AND Close > EntryPrice // «в силу»; Finetiq: день 3
SELL 1/3 .. 1/2 позиции AT NEXT BAR OPEN
IF BarsSinceEntry < 3 AND OpenProfitPct >= 2 * RiskPct // автор: раньше при крупной прибыли
SELL 1/3 .. 1/2 позиции AT NEXT BAR OPEN // Finetiq: порог 2R
StopLoss(остаток) = EntryPrice // автор: безубыток
// фаза 2 (автор): остаток по закрытию ниже простой средней
IF Close < SMA(Close, 10) THEN EXIT остаток AT NEXT BAR OPEN
// автор канала предлагает улучшение: SMA 10 для быстрых, SMA 20 для медленных.
// Jack Corsellis (#01, 06:53): сам Qullamaggie перешёл с простой 10-дневной средней на EMA 10,
// поэтому в карточке qullamaggie-breakout трейлинг по EMA. Сравните оба типа на своих данных
// Finetiq: критерий «быстрая» берём из основного блока, ADRpct >= 10
Параметры
| Параметр | Значение | Откуда |
|---|---|---|
| Порог ADR% | 10% | автор |
| Средняя для быстрых | EMA 10 | автор |
| Средняя для медленных | EMA 20 | автор |
| Сигнал выхода | закрытие ниже средней | автор |
| Период ADR% | 20 дней | Finetiq (по Jack Corsellis) |
| Исполнение | открытие следующего дня | Finetiq |
| Пересмотр выбора средней | на каждом баре | автор (пример SNDK) |
| Вариант B: средние | EMA 10, EMA 21, SMA 50 | автор |
| Вариант B: доли | половины, при SMA 50 трети | Finetiq |
| Вариант B: признаки SMA 50 | у SMA 50 на пробое, цена резала EMA 10/21 до базы, ранний цикл, IPO | автор, пороги Finetiq |
| Вариант B: отрыв от EMA 10 | больше 2 ADR% | Finetiq |
| Вариант C: частичная продажа | 1/3-1/2 через 3-5 дней | автор |
| Вариант C: ранняя продажа | прибыль от 2R | Finetiq |
| Вариант C: средние | SMA 10, для медленных SMA 20 | автор |
Что проверить
- Даёт ли переключение что-то сверх одной средней. На одних и тех же входах (например, из
qullamaggie-breakout) три прогона: всегда EMA 10, всегда EMA 20, выбор по ADR%. Если правило не лучше лучшей из двух фиксированных средних, переключение лишнее. - Окрестность порога и периодов. ADR% 6, 8, 10, 12, 15. EMA 8/10/12 и 17/20/25. Период ADR 10, 20, 50. Порог 10% назван для быстрых американских акций, на ваших бумагах распределение ADR% может быть другим.
- Пересчёт на каждом баре против фиксации на входе. Когда ADR% падает ниже 10%, трейлинг уходит на EMA 20 и стоп отодвигается. Сравните три версии: выбор на каждом баре, выбор один раз на входе, выбор на каждом баре, но без права перейти на более медленную среднюю.
- Выход на открытии против выхода на закрытии. Разница равна ночному гэпу после сигнального дня. У бумаг с ADR% от 10% она может съесть заметную часть прибыли.
- Прибыль в день. Повторите таблицу Jack Corsellis на своих сделках: средняя и медианная прибыль, баров в сделке, прибыль на бар для EMA 10, EMA 21, SMA 50 и для правила по ADR%.
- Ошибка выжившего. Все цифры авторов собраны на победителях. Прогоните блок на всех пробоях выбранной вселенной без отбора. У самого Jack Corsellis переход от 60 лучших к 500 обычным пробоям снижает среднюю прибыль до EMA 10 с 98.79% до 28.82%.
- Издержки. У бумаг с высоким ADR% шире спред и проскальзывание на выходе по рынку. Заложите их в тест, особенно для частичных выходов варианта B.
Особенности платформ
TradingView (Pine Script)
- ADR% в одну строку:
100 * (ta.sma(high / low, 20) - 1). EMA черезta.ema, совпадёт с EasyLanguage и MQL5 после разогрева. - По умолчанию выход исполняется на открытии следующего бара.
process_orders_on_close = trueзакроет сделку по цене сигнального закрытия. В реальной торговле так можно исполнить только заявкой на закрытие, иначе тест будет оптимистичнее. - Частичный выход варианта B и C:
strategy.close("L", qty_percent = 50). Для трёх частей давайте входу одно имя и закрывайте долями от текущего размера. - Глубина истории ограничена тарифом. Для проверки на сотнях пробоев одной акции не хватит, а портфельного теста в Pine нет (раздел 5 справочника).
MultiCharts и TradeStation (EasyLanguage)
- EMA:
XAverage(Close, 10), ADR%:100 * (Average(High / Low, 20) - 1). Sell next bar at marketсоответствует правилу.Sell this bar at closeв бэктесте даст цену сигнального закрытия, а в живой торговле на дневках эта цена уже недоступна.- Частичные выходы: именованные ордера с числом акций, например
Sell ("T10") CurrentContracts / 2 shares next bar at market. Проверьте, что следующий частичный выход считается от остатка, а не от исходного размера. - Отбор бумаг по ADR% и признакам варианта B по всей вселенной делается в портфельном модуле (Portfolio Maestro, Portfolio Trader), а на одном графике сигнал считается только для Data1.
MetaTrader 5 (MQL5)
- Акции у большинства брокеров MT5 доступны как CFD. Дневной бар строится по времени сервера, и у круглосуточных CFD диапазон дня шире биржевого. ADR% получится другим, порог 10% сдвинется.
- EMA:
iMA(..., MODE_EMA, ...). Сигнал берите с закрытого бара (индекс 1) при появлении нового дневного бара, тогда выход придётся на открытие. - Частичный выход на неттинговом счёте закрывает часть единственной позиции. Объём округляйте до
SYMBOL_VOLUME_STEP: при малом размере треть позиции может округлиться в ноль. - Список бумаг с ADR% от 10% советник видит только в пределах инструментов брокера. Скан по всему рынку США здесь не повторить.
Где идея может сломаться
- Все результаты получены на победителях задним числом. Financial Wisdom брал 100 лучших акций года, Jack Corsellis отобрал 60 лучших пробоев за 46 лет вручную. Средние по таким выборкам ничего не говорят о типичной сделке.
- Порог 10% ADR% назван для быстрых акций роста. У индексов, облигаций и большинства фьючерсов ADR около 1-2%, правило всегда выберет EMA 20 и перестанет быть адаптивным.
- Выход по закрытию на дневках пропускает внутридневной обвал и ночной гэп. Фактический убыток на выходе бывает заметно больше расстояния до средней.
- Пересчёт на каждом баре может ослабить стоп в тот момент, когда волатильность падает. Это прямо следует из примера SNDK и может быть как плюсом, так и минусом.
- Варианты B и C содержат наши пороги: доли, отрыв от EMA 10, признаки SMA 50, порог ранней продажи. Сами авторы решают эти вопросы по графику.
- В пересказе Financial Wisdom у Qullamaggie простые средние, а в собственном правиле канала экспоненциальные. На быстрых бумагах разница между SMA 10 и EMA 10 может менять день выхода.