Ідея коротко
Jack Corsellis торгує свінг на акціях-лідерах і входить за трьома свічками. Одна з них хвіст попиту (shakeout demand tail). Папір в аптренді відкочується до ключової середньої. Одного дня ціна йде вниз, проколює недавні мінімуми або саму середню, вибиває стопи, і потім папір викуповують. Свічка закривається біля максимуму з довгою нижньою тінню: молот, доджі-бабка або такурі. Обсяг на такому відкаті нижчий за середній. Вхід стоп-ордером через максимум свічки, стоп на цент нижче мінімуму.
У варіанті B, з іншого відео, Джек розбирає підхід Charles Harris, учня William O'Neil. Гарріс купує відкати в лідерах лише в сильному ринку і називає сигнал розворотом угору (upside reversal). Це той самий хвіст попиту або геп униз із розворотом. До свічки він додає фільтр ринку, глибину відкату і правило виходу за 50-денною середньою.
Геп униз із розворотом біля середньої розібрано в картці #037: там обов'язкові геп і відкриття на мінімумі, тут сигнал дає форма свічки. Прокол мінімуму як рівня є в картці #031 (варіант 2B), без середньої і тренду.
Чому це може працювати
Пояснення Джека йде від Вайкоффа. Великі учасники, які накопичують папір, не дають йому падати нижче певних рівнів. Прокол мінімумів вибиває слабких власників, а довга нижня тінь показує, що їхні продажі одразу забрали. Малий обсяг на відкаті означає, що пропозиції небагато. Що ближче закриття до максимуму, то сильніший попит.
Гарріс додає ринковий контекст. У бичачому ринку відкати тримаються біля середніх і колишніх рівнів підтримки, у ведмежому більшість паперів підтримки не знаходить. Купівля відкату дає нижчу ціну входу, ніж пробій, а пробої, за його спостереженням, дедалі частіше вибивають покупців.
Статистика Bulkowski описує свічку загалом, без середньої, тренду і цього стопа. Джек сам робить висновок, що до 100% далеко і тому стоп обов'язковий.
Правила
Контекст (автор, пороги Finetiq)
// денні бари акції
EMA10 = EMA(Close, 10); EMA21 = EMA(Close, 21)
SMA50 = SMA(Close, 50); SMA200 = SMA(Close, 200)
ADRpct = 100 * (Average(High / Low, 20) - 1) // автор: 20-денний ADR%; формула Finetiq
Trend = Close > SMA200 // автор: аптренд вище 200 SMA
AND Close > SMA50 * 0.97 // автор: бажано вище 50 SMA; допуск Finetiq
AND SMA50 > SMA50[20] // Finetiq
Хвіст попиту біля середньої (автор, пороги Finetiq)
Range = High - Low
LowerTail = min(Open, Close) - Low
Tail = LowerTail >= 0.5 * Range // Finetiq: молот, бабка, такурі
StrongClose = Close - Low >= 0.7 * Range // автор: що ближче до максимуму, то краще; 70% Finetiq
Tol = 0.25 * ADRpct / 100 * Close // Finetiq: «поруч із середньою»
Touch(MA) = Low <= MA + Tol AND Close >= MA - Tol // автор: на середній, поруч або трохи нижче
KeyMA = Touch(EMA21) OR Touch(SMA50)
OR (Touch(EMA10) AND ADRpct >= 4) // автор: 10 EMA для швидких паперів з ADR від 4-6%
Undercut = Low < Lowest(Low, 5)[1] // автор: прокол недавніх мінімумів; вікно Finetiq
DryVolume = Volume < Average(Volume, 30)[1] // автор: нижче 30-денного середнього
Setup = Trend AND Tail AND StrongClose AND KeyMA AND (Undercut OR Low < EMA21) AND DryVolume
Вхід і стоп (автор)
RiskPct = 100 * (High - Low) / High
IF Setup AND RiskPct <= 1.5 * ADRpct AND RiskPct <= 5
// автор: ідеально ризик менший за ADR%, до 1.5 × ADR% при стопі до 4-5%
// автор: понад 5% лише для виняткового сетапу; Finetiq: заборона
BUY STOP LIMIT: stop = High + 0.01, limit = High + 0.01 + 0.25 * ADRpct / 100 * Close
// автор: стоп-ліміт через максимум; ширина ліміту і строк 1 день Finetiq
StopLoss = Low - 0.01 // автор: цент нижче мінімуму свічки
SELL STOP at StopLoss
Супровід (частково автор)
R = EntryPrice - StopLoss
// автор чекає, що угоду можна зробити безкоштовною за 3-5 сесій при цілі 1-3R
IF High >= EntryPrice + 2 * R THEN SELL 1/3 AT LIMIT, StopLoss = EntryPrice // Finetiq
IF BarsSinceEntry >= 5 AND High since entry < EntryPrice + 1 * R
EXIT AT NEXT BAR OPEN // Finetiq
// автор: трейлінг за закриттям нижче середньої, обраної за історією папера
TrailMA = EMA10 IF ADRpct >= 4 ELSE EMA21 // Finetiq
// поріг 4 той самий, що в опори EMA 10 вище: автор називає EMA 10 робочою для паперів з ADR% від 4-6
IF Close < TrailMA THEN EXIT AT NEXT BAR OPEN
Варіант B. Розворот угору Чарльза Гарріса
// ринок
Market = Close of Index > EMA(Close of Index, 21) // автор: нічого доброго нижче 21-денної середньої
// папір: вищі максимуми й мінімуми, 50-денна зростає
Uptrend = SMA50 > SMA50[10] // автор
AND Highest(High, 60) > Highest(High, 60)[60] // Finetiq: максимуми вищі
AND Lowest(Low, 60)[20] > Lowest(Low, 60)[80] // Finetiq: мінімуми вищі
RecentHigh = Highest(High, 40)
Depth = (RecentHigh - Low) / RecentHigh
DeepEnough = Depth >= 10% // автор: понад 10%, зазвичай 12-20%, у середньому 16-18%
Support = Touch(EMA21) OR Touch(SMA50) OR Touch(SMA200) // автор; колишній максимум бази теж, Finetiq його не кодує
UR = (Tail AND StrongClose) // хвіст попиту
OR (Open < Close[1] AND Open - Low <= 0.1 * Range AND StrongClose) // геп униз із розворотом, як у #037
// автор: геп рахується від вчорашнього закриття, відкриття біля мінімуму дня; допуск 10% діапазону Finetiq
HeavyVolume = Volume > Average(Volume, 30)[1] // автор: Гарріс віддає перевагу великому обсягу; Finetiq: обов'язкова умова
IF Market AND Uptrend AND DeepEnough AND Support AND UR AND HeavyVolume
BUY STOP at High + 0.01 // автор: купівля через максимум розвороту
StopLoss = Low - 0.01 // автор: мінімум розвороту пробито, дія ненормальна
// добір: кожен наступний розворот угору (автор), не більше 2 доборів і лише в прибутку (Finetiq)
// вихід: рішучий злам 50-денної на зростаючому обсязі (автор)
Break50 = Close < SMA50 - 0.5 * ADRpct / 100 * Close AND Volume > Average(Volume, 30)[1] // Finetiq
IF Break50 AND прибуток позиції < 3R THEN EXIT AT NEXT BAR OPEN
IF Break50 AND прибуток >= 3R AND день не останній торговий день тижня
SELL 1/2 AT NEXT BAR OPEN // автор: за великого запасу продати частину
залишок: EXIT, якщо тиждень закрився нижче SMA50 // автор: чекати закриття тижня
IF Break50 AND прибуток >= 3R AND день останній торговий день тижня
EXIT AT NEXT BAR OPEN // Finetiq: закриття цього дня і є закриття тижня нижче SMA50
Відбір паперів (автор, поза сигналом)
Обидва автори беруть лише лідерів: лінія відносної сили на 52-тижневих максимумах, підтримка біля середніх у минулому, позитивна реакція на звіти. Гарріс ще вимагає фундаментальної історії за CANSLIM. Картка описує сигнал на одному символі, скан лідерів робиться окремо.
Параметри
| Параметр | Значення | Звідки |
|---|---|---|
| Таймфрейм | денні бари | автор |
| Тренд | вище SMA 200, бажано вище SMA 50 | автор |
| Зростання SMA 50 | за 20 барів | Finetiq |
| Ключові середні | EMA 10, EMA 21, SMA 50 | автор |
| EMA 10 | лише при ADR% від 4 | автор (поріг 4: Finetiq у межах діапазону автора 4-6) |
| Нижня тінь | не менше 50% діапазону | Finetiq |
| Закриття | у верхніх 30% діапазону | Finetiq (принцип: автор) |
| Допуск дотику середньої | 0.25 × ADR% | Finetiq |
| Обсяг | нижче 30-денного середнього | автор |
| Максимальний ризик | до 1.5 × ADR% і не більше 5% | автор (до 1.5 × ADR%), Finetiq (заборона вище 5%; в автора понад 5% лише для виняткового сетапу) |
| Вхід | стоп-ліміт через максимум, 1 день | автор (строк і ліміт: Finetiq) |
| Стоп | на цент нижче мінімуму | автор |
| Частковий вихід | 1/3 на +2R, стоп у беззбиток | Finetiq (ціль 1-3R за 3-5 сесій: автор) |
| Вихід за часом | немає +1R за 5 сесій | Finetiq |
| Трейлінг | закриття нижче EMA 10 при ADR% від 4, інакше EMA 21 | Finetiq (закриття нижче середньої: автор; поріг як в опори EMA 10) |
| B: фільтр ринку | індекс вище 21-денної EMA | автор |
| B: глибина відкату | від 10% від максимуму за 40 барів | автор (вікно: Finetiq) |
| B: обсяг розвороту | вище 30-денного середнього | автор (перевага Гарріса), обов'язковість Finetiq |
| B: вихід | рішучий злам SMA 50 на зростаючому обсязі | автор (поріг 0.5 ADR: Finetiq) |
| B: запас для очікування тижня | прибуток від 3R | Finetiq |
Що перевірити
- Обсяг розвороту. Джек хоче малий обсяг, Гарріс великий. Проженіть ті самі свічки з
DryVolume, зHeavyVolumeі без фільтра обсягу. Це пряма розбіжність двох джерел. - Яка середня. EMA 10, EMA 21 і SMA 50 окремо, а для EMA 10 папери з ADR% нижче 4 і вище 4. Якщо середня не додає нічого понад свічку і тренд, місце умовне.
- Форма свічки. Тінь 40, 50, 60% діапазону і закриття у верхніх 20, 30, 40%. Окремо молот, доджі-бабка і такурі. Порівняйте порядок результатів із порядком за Bulkowski: 66% у такурі, 60% у молота, 50% у доджі-бабки.
- Глибина відкату. Без фільтра, від 10%, у діапазоні 12-20%. Гарріс називає 16-18% середньою глибиною відкату у своєму дослідженні, це не поріг прибутковості.
- Фільтр ринку. Індекс вище 21-денної EMA проти відсутності фільтра, окремо 2008, 2018 і 2022 роки. За Гаррісом без фільтра відкати у ведмежому ринку жахливі.
- Вихід. Трейлінг за EMA 10 і EMA 21 проти зламу SMA 50 із правилом тижня і проти виходу через 10 днів. У Джека вибір середньої робиться за історією графіка, механічний вибір за ADR% це наше спрощення.
- Стоп-ліміт проти стопа. Скільки входів пропустив ліміт через геп угору і як змінилося очікування.
Особливості платформ
TradingView (Pine Script)
- Стоп-ліміт:
strategy.entry("L", strategy.long, stop = h, limit = h + off). Ордер висить до скасування, тому через день потрібенstrategy.cancel("L"). - Індекс для варіанта B:
request.security("SP:SPX", "D", ta.ema(close, 21)). На денному графіку той самий таймфрейм, і значення береться за той самий закритий день без зазирання вперед. - Правило тижня: п'ятниця не завжди останній торговий день, свята зсувають закриття тижня. Перевіряйте зміну тижня на наступному барі, а не день тижня.
- Скан лідерів стратегія не робить: вона торгує лише символ графіка. Лідерів відбирають скринером поза стратегією, і тест на сьогоднішньому списку містить помилку вцілілого.
MultiCharts і TradeStation (EasyLanguage)
- Денний бар залежить від шаблону сесії символу. Якщо сесія включає премаркет, мінімум дня і хвіст свічки будуть іншими, ніж на біржових даних. Використовуйте регулярну сесію.
- Індекс підключається другим потоком:
Close of Data2. Перевірте, що календарі торгових днів збігаються, інакше EMA 21 індексу зсунеться відносно папера. - Стоп-лімітні заявки в мові є, але запис у TradeStation і MultiCharts різниться. Простіше тестувати
Buy next bar at High + 0.01 stop(живе рівно один бар) і окремо рахувати входи, які ліміт пропустив би. - Стоп ставте ціною на кожному барі:
Sell next bar at StopLoss stop.SetStopLossзадається в грошах, рівень під мінімумом свічки ціною простіше звірити з правилами.
MetaTrader 5 (MQL5)
- У CFD на акції лише тиковий обсяг. Фільтр нижче чи вище 30-денного середнього на ньому приблизний, а розбіжність Джека і Гарріса перевірити не можна. Для обсягу потрібні біржові акції з
iRealVolume. - Тип заявки Buy Stop Limit (
ORDER_TYPE_BUY_STOP_LIMIT) у MT5 є, але не кожен брокер приймає його для акцій. Експірацію ставте на наступний день. - Індекс для фільтра ринку в брокера зазвичай CFD: його денний бар будується за часом сервера і закривається не о 16:00 ET. EMA 21 такого ряду відрізняється від EMA кеш-індексу.
- Графіки будуються за Bid, купівля спрацьовує за Ask. Вхід відбувається раніше на спред, а стоп на цент нижче мінімуму Bid-бару для акцій із широким спредом надто тісний.
Де ідея може зламатися
- Бектесту сетапу немає ні в одного автора. Цифри Bulkowski стосуються свічок загалом, цифри Гарріса його дискреційної торгівлі з екраном увесь день.
- Статистику Гарріса взято з 1999 року на піку бульбашки, а 2020 рік тримається на одній Tesla. Повторюваність таких років на інших періодах не показано.
- Вибір середньої для трейлінгу Джек робить, дивлячись на минулі тренди конкретного папера. Це розумно для ручної торгівлі, але в тесті легко перетворюється на підгонку заднім числом.
- Джерела розходяться щодо обсягу: Гарріс хоче великий обсяг на розвороті, Джек малий. Механічна версія з одним фільтром представляє лише одного з них.
- Фундаментальний відбір Гарріса й оцінка лідерства в Джека до правил не входять. Без них сигнал ловить усі папери зі схожою свічкою, включно зі слабкими.
- Довгий хвіст дає широкий стоп. Фільтр 1.5 ADR% відсіює найсильніші за формою свічки, і на спокійних паперах сетапів мало.