Ідея коротко
Марк Мінервіні купує пробої лише в акцій у другій стадії циклу, коли папір уже зростає. Щоб не вирішувати це на око, він записав вісім умов, trend template. Jack Corsellis розбирає їх у відео про VCP і використовує як перший широкий фільтр свого скану: спочатку відсікти все, що не у висхідному тренді, потім відсортувати решту за відносною силою.
Фільтр нічого не купує сам, а вирішує, чи можна застосовувати до паперу лонговий сетап: пробій бази, відкат до середньої, VCP. Сім умов рахуються на одному графіку. Відносна сила, сьома умова на слайді Джека, потребує порівняння: у Мінервіні це рейтинг IBD по всьому ринку, у Джека ще RS-лінія проти індексу й порівняння з ETF групи. Нумерація умов у картці як на слайді Джека. У книжці Мінервіні «Trade Like a Stock Market Wizard» (2013) порядок інший: ціна вище SMA 50 іде п'ятою умовою, відносна сила восьмою, а мінімальна відстань від 52-тижневого мінімуму 30%, а не 25%. Бажаний рейтинг відносної сили в книжці «у 80-х або 90-х», на слайді Джека лише «в 90-х».
weinstein-stages розмічає чотири стадії за 30-тижневою середньою і сама дає вхід, index-ema-regime дозволяє купівлі за індексом. Trend template перевіряє окремий папір і додає відстань від 52-тижневих екстремумів і відносну силу.
Чому це може працювати
Логіка авторів у попиті. Папір, що тримається над зростаючими довгими середніми, біля 52-тижневого максимуму і сильніший за ринок, уже купують великі учасники. Джек пояснює відносну силу через бенчмарк: фонд у США оцінюють проти S&P 500, і керуючий, який відстає, втрачає гроші клієнтів. Тому гроші фондів ідуть у папери, сильніші за індекс, а RS-лінія показує, куди. Найсильнішою ознакою Джек вважає новий 52-тижневий максимум RS-лінії, поки ціна ще в базі: ринок тисне, а папір не падає.
Опора у відео описова. Клуб 95% і середній рейтинг 87 в О'Ніла показують, який вигляд мали переможці до зростання. Скільки паперів з тими самими ознаками не виросло, з цих цифр не видно. Шаблон відсікає папери, з яких великі рухи виходять рідко, але сам рухів не обіцяє.
Правила
Trend template на одному папері (автор)
// денні бари акції, сигнал на закритті; на слайді всі середні прості
// нумерація TT1-TT8 за слайдом Джека; у книжці Мінервіні ціна вище SMA 50 умова 5, RS умова 8
SMA50 = SMA(Close, 50)
SMA150 = SMA(Close, 150) // автор: 150 днів = 30 тижнів
SMA200 = SMA(Close, 200) // автор: 200 днів = 40 тижнів
Low52 = Lowest(Low, 252) // Finetiq: 52 тижні = 252 бари, за мінімумами
High52 = Highest(High, 252)
TT1 = Close > SMA150 AND Close > SMA200
TT2 = SMA150 > SMA200
TT3 = SMA200 > SMA200[21] // автор: зростає щонайменше місяць; Finetiq: місяць = 21 бар
TT3_strict = TT3 AND SMA200[21] > SMA200[42]
AND SMA200[42] > SMA200[63] AND SMA200[63] > SMA200[84]
// автор: краще 4-5 місяців; Finetiq: 4 кроки по 21 бару
TT4 = SMA50 > SMA150 AND SMA50 > SMA200
TT5 = Close >= 1.25 * Low52 // спільнота (Джек, слайд): щонайменше на 25% вище 52-тижневого мінімуму
TT5_book = Close >= 1.30 * Low52 // автор (книжка): не менше 30%
TT6 = Close >= 0.75 * High52 // автор: не далі 25% від 52-тижневого максимуму
TT8 = Close > SMA50 // автор
TT8_cheat = Close >= 0.92 * SMA50 // автор: для cheat і low cheat до 8% нижче SMA 50
TemplateOK = TT1 AND TT2 AND TT3 AND TT4 AND TT5 AND TT6 AND TT8
// умова 7, відносна сила, в окремих блоках нижче
Джек додає, що в другій стадії має бути й ринок. Фільтр за індексом беріть з index-ema-regime.
Відносна сила: рейтинг по всесвіту (окреме правило)
// автор (книжка): IBD relative strength не нижче 70, краще у 80-х або 90-х
// спільнота (слайд Джека): більше 70, краще в 90-х. Формулу IBD у відео не розкрито
// спільнота (Джек): скан за RS rank за 3 місяці більше 70, сортування від 99 униз
ROC63 = Close / Close[63] - 1 // Finetiq: проксі рейтингу, 3 місяці = 63 бари
RSRank = перцентиль ROC63 серед усіх акцій всесвіту цього дня, шкала 1-99 // Finetiq
RS_OK = RSRank > 70 // автор
RS_Pref = RSRank >= 90 // спільнота (слайд Джека): краще в 90-х
RS_Pref_book = RSRank >= 80 // автор (книжка): краще у 80-х або 90-х
// спільнота (Джек): скан після закриття по всьому всесвіту США
Scan = Close > SMA50 AND Close > SMA200 AND TT6
AND Average(Volume, 50) > 50 000 // спільнота (Джек): можна підняти до 100-200 тисяч
AND RS_OK
// далі перегляд графіків очима, починаючи з RS 99 (спільнота, Джек)
RS-лінія проти індексу (спільнота, вікна Finetiq)
Index = S&P 500 // спільнота (Джек): бенчмарк фондів США; на інших ринках свій індекс
RSLine = Close / Close of Index
RSHigh = RSLine >= Highest(RSLine, 252) // спільнота (Джек): 52-тижневий максимум RS-лінії (сині точки)
RS_Line_OK = RSHigh хоча б на одному з останніх 20 барів // Finetiq: вікно 20
RS_InBase = RSHigh AND Close < Highest(High, 40)[1] // спільнота (Джек): максимум RS-лінії, поки ціна в базі
// Finetiq: «у базі» = нижче 40-денного максимуму
Варіант B. Каскад: індекс, група, акція (Jack Corsellis)
Джек порівнює папір з ETF його групи, а ETF з індексом. Приклад із відео: золотодобувна компанія AEM проти GDX на 30 липня 2024 року. Спосіб формалізації та вікна нижче наші.
ETF = галузевий ETF паперу // спільнота (Джек); Finetiq: відповідність задається вручну
GroupStrong = (Close of ETF / Close of Index) >= Highest(ETF / Index, 63)
хоча б на одному з останніх 10 барів // Finetiq
// погляд через ключову середню (спільнота, Джек: EMA 21)
StockHoldsMA = Close > EMA(Close, 21) на кожному з останніх 10 барів // Finetiq: 10 барів
GroupLostMA = Close of ETF < EMA(Close of ETF, 21) хоча б на 1 з останніх 10 барів
// структура (спільнота, Джек): папір утримав пробитий максимум на відкаті, ETF пішов нижче мінімуму того самого бару
RefBar = бар максимуму паперу у вікні від 60 до 20 барів тому // Finetiq
StockHold = Highest(High, 20) > High[RefBar] AND Lowest(Low, 10) > High[RefBar]
GroupFail = Lowest(Low of ETF, 10) < Low of ETF[RefBar]
LeaderInGroup = GroupStrong AND StockHold AND StockHoldsMA AND (GroupFail OR GroupLostMA)
Підключення до карток бази (Finetiq)
// приклад 1: qullamaggie-breakout. У її скані вже є ціна вище SMA 50 і 200
Setup_A = Setup // як у картці
Setup_B = Setup AND TemplateOK
Setup_C = Setup AND TemplateOK AND RS_Line_OK
// вхід, стоп і супровід не змінюються; порівняти три прогони
// приклад 2: weinstein-stages, варіант B. Додаємо лише те, чого у Вайнштейна немає
BuyAllowed_TT = BuyAllowed AND TT5 AND TT6 AND RS_Line_OK
// TT5 часто відсікає пробій зі стадії 1, який Вайнштейн купує
Параметри
| Параметр | Значення | Звідки |
|---|---|---|
| Середні | SMA 50, 150, 200 | автор |
| Зростання SMA 200 | щонайменше місяць, краще 4-5 місяців | автор |
| Місяць | 21 бар | Finetiq |
| Від 52-тижневого мінімуму | не менше +25% (у книжці 30%) | спільнота (слайд Джека), автор (книжка) |
| Від 52-тижневого максимуму | не далі 25% | автор |
| 52 тижні | 252 бари за High і Low | Finetiq |
| Виняток для cheat-входів | до 8% нижче SMA 50 | автор |
| Відносна сила | рейтинг вище 70, краще в 90-х (слайд Джека) або у 80-х і 90-х (книжка) | автор (книжка), спільнота (слайд Джека) |
| Проксі рейтингу | перцентиль ROC за 63 бари | Finetiq |
| Середній обсяг у скані | більше 50 тисяч за 50 днів, можна 100-200 тисяч | спільнота (Джек) |
| Бенчмарк RS-лінії | S&P 500 | спільнота (Джек) |
| Вікно свіжого максимуму RS-лінії | 20 барів | Finetiq |
| «У базі» | нижче 40-денного максимуму | Finetiq |
| Ключова середня в каскаді | EMA 21 | спільнота (Джек) |
| Вікна каскаду | 10, 20, 60, 63 бари | Finetiq |
Що перевірити
- Чи дає шаблон щось понад дві середні. Один лонговий сетап на кошику акцій без фільтра, з
Close > SMA50 AND Close > SMA200(як у скані Джека) і з повним шаблоном. Якщо повний не кращий, зайві умови лише ріжуть кількість угод. - Які умови працюють. Вимикайте по одній TT3, TT5, TT6 і TT8. TT5 відсікає ранні пробої з першої стадії, на неї дивіться особливо уважно.
- Околиця порогів. 25% від екстремумів проти 20% і 30%, рейтинг 70 проти 60 і 80, зростання SMA 200 за місяць проти двох і чотирьох. Різкий стрибок результату означає підгонку.
- Рейтинг по всесвіту проти RS-лінії. Розмітьте угоди двома способами: RSRank > 70 і RS_Line_OK. Якщо RS-лінія відбирає майже ті самі папери, фільтр можна переносити на платформи без ранжування.
- Три місяці проти дванадцяти. Джек вважає RS за 3 місяці ефективнішим за 12-місячний. Проженіть рейтинг за ROC63 і за ROC252.
- Каскад групи. Угоди, де папір сильніший за свій ETF, а ETF сильніший за індекс, проти решти. Відповідність паперів і ETF беріть на дату угоди.
- Помилка вцілілого. Тест на сьогоднішньому складі ринку завищує результат, потрібен всесвіт із виключеними з лістингу акціями.
Особливості платформ
TradingView (Pine Script)
- Умови шаблону, крім рейтингу, рахуються на одному графіку:
ta.sma,ta.highest(high, 252),ta.lowest(low, 252). Історії потрібно не менше 300 барів. - RS-лінія: закриття індексу через
request.security(indexSymbol, "D", close)і ділення. - Рейтинг по всьому всесвіту в Pine не порахувати: кількість символів у
request.securityобмежена, а стратегія торгує лише символ графіка. Умову 7 можна замінити RS-лінією, але це інша умова (перевірка 4). - Портфельного тесту немає. Фільтр перевіряється на заздалегідь вибраному списку паперів по одному, а такий список уже містить помилку вцілілого.
MultiCharts і TradeStation (EasyLanguage)
- Індекс для RS-лінії підключається другим потоком:
Close / Close of Data2. Перевірте, що дати барів акції й індексу збігаються, інакше на святах лінія стрибає. - Рейтинг по всесвіту й каскад рахуються в портфельному модулі (TradeStation Portfolio Maestro, MultiCharts Portfolio Trader). ETF групи потрібен як ще один потік даних.
Average(Close, 200)з перевіркою зростання за 84 бари іHighest(High, 252)потребують довгого розігріву. MaxBarsBack задайте не менше 300.- Дані без поправки на спліти ламають TT5 і TT6: після спліту 52-тижневий мінімум опиняється вище ціни. Беріть ряди з поправкою.
MetaTrader 5 (MQL5)
- CFD на акції в брокера зазвичай охоплюють кілька сотень великих паперів США. Рейтинг серед них не збіжиться з рейтингом по 5500 акціях зі скану Джека, а невеликих швидких паперів часто немає.
- Середній обсяг зі скану за CFD не порахувати: доступний лише тиковий обсяг (
iTickVolume). - Денна історія CFD на акції часто коротша за кілька років. SMA 200 зі зростанням за 4 місяці з'їдає понад рік на розігрів.
- Індекс для RS-лінії читається через
iCloseза символом CFD на S&P 500. Денні бари індексного CFD і CFD на акції закриваються за серверним часом, звіряйте дати.
Де ідея може зламатися
- Усі цифри у відео описують переможців заднім числом: клуб 95%, рейтинг 87 в О'Ніла. Частки паперів з тими самими ознаками, які не виросли, там немає, як і тесту фільтра.
- Рейтинг IBD закритий. Проксі за ROC за 63 бари відбирає схожі, але не ті самі папери.
- Шаблон запізнюється. Після падіння ринку паперу потрібні місяці, щоб знову пройти TT2, TT3 і TT4, і початок нового зростання фільтр пропускає.
- Шаблон рахується за простими середніми, а угоди Джек веде за EMA 10 і 21. У коді їх легко переплутати.
- Відповідність паперу й галузевого ETF змінюється з часом. Сьогоднішній список груп у тесті на історії дає заглядання вперед.
- Усі три відео спонсорує один сервіс Investor's Business Daily: MarketSmith, у 2024 році перейменований на MarketSurge (зовнішній факт, не з відео). Тому у відео 2023 року спонсора названо MarketSmith, а у відео 2024 року MarketSurge. У першому відео Джек показує свій скринер.