Ідея коротко
Стен Вайнштейн описав цикл, через який проходить будь-який актив. Стадія 1: база після падіння, ціна ходить у діапазоні, 30-тижнева середня стає пласкою. Стадія 2: зростання, середня повертає вгору, кожен мінімум вищий за попередній. Стадія 3: вершина, середня знову вирівнюється, ціну бовтає. Стадія 4: падіння під спадною середньою. Купувати має сенс лише в другій стадії, найкраще в момент виходу з бази.
У картці дві версії одного підходу. Ted Zhang із Revere Asset Management будує класифікатор на чотирьох тижневих простих середніх (10, 20, 30, 40) і використовує його як фільтр режиму для будь-яких ринків: акцій, ETF, крипти, металів, облігацій, валют. Jack Corsellis переказує книгу Вайнштейна з правилами входу й виходу: пробій бази на обсязі, стоп-лімітний ордер, стоп 4-6% і вихід під 30-тижневою середньою.
Чому це може працювати
Логіка Вайнштейна в тому, що великі учасники набирають позицію в стадії 1 і роздають її в стадії 3. В обох стадіях ціна ходить без напрямку, і трейдер отримує серію дрібних збитків. Тед формулює це через стару думку: першу й останню восьму частину руху варто віддати, вони найдорожчі, а заробляти на середніх шести восьмих. Середні тут не прогноз, а спосіб згладити структуру ціни й побачити, де ринок у циклі.
Обсяг потрібен через асиметрію. Зростанню потрібні покупці, тому пробій із бази без сплеску обсягу підозрілий. Падінню покупці не потрібні, ціна падає під власною вагою, і пробій униз обсягом підтверджувати не обов'язково.
Ні Тед, ні Джек не наводять статистики щодо класифікатора чи пробоїв. Усі приклади у відео (ARKK, ANF, біткоїн, срібло 1970-х, уран) відібрано заднім числом. Перевіряти доведеться з нуля.
Правила
Класифікатор стадій (Тед, тижневі бари)
// сигнал на закритті тижня
MA10 = SMA(Close, 10)
MA20 = SMA(Close, 20)
MA30 = SMA(Close, 30)
MA40 = SMA(Close, 40) // автор: прості середні, ключові 30 і 40
// нахил середньої. Автор говорить про швидкість зміни словами, чисел немає
Slope(MA) = (MA - MA[4]) / ATR(14) // Finetiq: 4 тижні, у частках тижневого ATR
Rising(MA) = Slope(MA) > 0.25 // Finetiq: стартовий поріг «пласкої» середньої
Falling(MA) = Slope(MA) < -0.25
// структура ціни: максимуми й мінімуми вищі (автор)
// Finetiq: свінг-точка = тиждень, чий High (Low) вищий (нижчий) за два тижні ліворуч і два праворуч
UpStructure = останній SwingHigh > попереднього AND останній SwingLow > попереднього
DownStructure = останній SwingHigh < попереднього AND останній SwingLow < попереднього
Stage2 = Close > MA10 AND Close > MA30 AND Close > MA40
AND MA10 > MA20 AND MA20 > MA30 AND MA30 > MA40
AND Rising(MA30) AND Rising(MA40)
AND UpStructure
Stage4 = Close < MA10 AND Close < MA30 AND Close < MA40
AND MA10 < MA30 AND MA30 < MA40
AND Falling(MA30) AND Falling(MA40)
AND DownStructure
// автор: у схемі стадії 4 Тед називає порядок 10 < 30 < 40 без MA20, а в стадії 2 порядок 10 > 20 > 30.
// На прикладі ARKK ціна нижче всіх чотирьох середніх. Варіант для перевірки: додати MA10 < MA20 AND MA20 < MA30
// усе між ними перехідні стадії
IF NOT Stage2 AND NOT Stage4
Stage = 1, якщо остання визначена стадія була 4
Stage = 3, якщо остання визначена стадія була 2 // Finetiq: розмітка за попередньою стадією
// мінімум для купівель, який Тед назвав явно
LongAllowed = Close > MA10 AND Close > MA20 AND Close > MA30 AND Close > MA40
AND MA10 > MA20 AND MA20 > MA30
// у стадіях 1 і 3 не торгуємо, шорт лише в стадії 4 (автор)
Тед зазначає ще дві ознаки. У стадії 1 середні сходяться, ріжуть ціну, і 10-тижнева повертається вище 30-тижневої. На довгих таймфреймах він дивиться графік у логарифмічній шкалі. Цикл фрактальний: на денних барах він бере середні 10 і 20 днів разом із 30 і 40 тижнями.
Варіант B. Пробій за Вайнштейном (у переказі Джека)
// простий класифікатор Вайнштейна: одна середня
MA30 = SMA(Close, 30) тижнева // автор: те саме, що SMA 150 на денних барах
// заборони автора: не купувати нижче MA30 і при спадній MA30, навіть якщо ціна вище
BuyAllowed = Close > MA30 AND NOT Falling(MA30)
// база і півот
Pivot = Highest(High, 13)[1] // Finetiq: верх бази за останній квартал
Base = NOT Rising(MA30) AND NOT Falling(MA30) // Finetiq: середня пласка на тижні перед пробоєм
IF BuyAllowed AND Pivot > MA30
BUY STOP at Pivot LIMIT Pivot * 1.01 // автор: стоп-ліміт, ліміт на 1% вище півота
// Base = пробій зі стадії 1 (інвестор), NOT Base = пробій продовження в стадії 2 (трейдер)
// після закриття тижня пробою
IF Volume < 2 * Average(Volume, 4)[1] // автор: тиждень пробою ≥ 2× середньої за минулий місяць
EXIT AT NEXT BAR OPEN // автор: слабкий обсяг на пробої, продати швидко
// денні бари: обсяг дня пробою ≥ 2× середньої за минулий тиждень (автор)
Стоп і вихід
// початковий стоп
InitialStop = останній SwingLow нижче півота // автор: під значущою підтримкою
IF (Pivot - InitialStop) / Pivot > 6%
InitialStop = Pivot * 0.95 // автор: 4-6% під пробоєм; Finetiq: беремо 5%
// стоп не ставити рівно на кругле число: 99.95, а не 100 (автор)
// трейдер (2-4 місяці, 80% угод із пробоїв продовження)
IF Close < MA30 THEN EXIT AT NEXT BAR OPEN // автор: нижче 30-тижневої не залишатися
відкати менше 7% не привід для виходу // автор
після нового максимуму вище попереднього SwingHigh
StopLoss = останній SwingLow - відступ // автор: стоп під попередній вищий мінімум
// інвестор (до 12 місяців, 80% угод із пробоїв стадії 1)
половина позиції на пробої, половина на відкаті до Pivot // автор
тримати, поки Close > MA30 і MA30 зростає // автор
той самий трейлінг під вищі мінімуми // автор
// вихід Теда: усю стадію 2 не тримаємо
IF Stage <> 2 два тижні поспіль THEN EXIT AT NEXT BAR OPEN // Finetiq: формалізація «ротації в наступну базу»
Для трейдера у Вайнштейна є й ранніший вихід: пробій трендової лінії, проведеної через три точки. Дві точки з'єднує будь-яка лінія, значущою автор вважає лише лінію з трьох дотиків. У псевдокод ми її не переносимо: пошук ліній потребує окремого алгоритму.
Параметри
| Параметр | Значення | Звідки |
|---|---|---|
| Таймфрейм класифікатора | тиждень | автор |
| Середні Теда | SMA 10, 20, 30, 40 тижнів | автор (Тед) |
| Середня Вайнштейна | SMA 30 тижнів, близько SMA 150 днів | автор |
| Мінімум для купівель | ціна вище всіх середніх, 10 > 20 > 30 | автор (Тед) |
| Вікно нахилу середньої | 4 тижні | Finetiq |
| Поріг пласкої середньої | 0.25 тижневого ATR(14) за 4 тижні | Finetiq |
| Свінг-точка | 2 тижні ліворуч і праворуч | Finetiq |
| Півот | максимум за 13 тижнів | Finetiq |
| Ліміт над півотом | 1% | автор |
| Обсяг тижня пробою | не менше 2× середньої за 4 тижні | автор |
| Обсяг дня пробою (Вайнштейн) | не менше 2× середньої за минулий тиждень | автор |
| Середня обсягу в Джека | 30 барів на будь-якому таймфреймі | спільнота (Джек) |
| Початковий стоп | під свінг-мінімумом, інакше 4-6% під півотом | автор |
| Вихід трейдера | закриття нижче SMA 30 тижнів | автор |
| Відкат, який ігнорується | менше 7% | автор |
| Трейлінг | під попередній вищий мінімум | автор |
| Купівля інвестора | половина на пробої, половина на відкаті | автор |
| Вихід за зміною стадії | 2 тижні поза стадією 2 | Finetiq |
Що перевірити
- Чи дає фільтр щось понад простий тренд. Візьміть просту систему (купівля при закритті вище 20-тижневого максимуму) і проженіть три версії: без фільтра, з умовою
Close > MA30 AND MA30 зростає, з повним класифікатором Теда. Якщо повний класифікатор не кращий за одну середню, зайві умови лише зменшують кількість угод. - Порядок середніх. Порівняйте повний порядок 10 > 20 > 30 > 40 з мінімумом Теда (ціна вище всіх середніх, 10 > 20 > 30). Другий вмикається раніше і має ловити більше руху ціною більшої кількості хибних стадій.
- Околиця параметрів. Вікно нахилу 2, 4 і 8 тижнів, поріг 0.1, 0.25 і 0.5 ATR, середні 26/35/45 замість 30/40. Якщо частка тижнів у стадії 2 і результат сильно стрибають від сусідніх значень, поріг підігнаний.
- Обсяг на пробої. Поділіть пробої на три групи: обсяг нижче 1.5×, від 1.5× до 2×, вище 2× середньої. Перевірте твердження Вайнштейна, що пробої без обсягу гірші.
- Два виходи. Трейдерський (стоп 4-6% і закриття нижче MA30) проти інвесторського трейлінгу під вищі мінімуми і проти виходу Теда при зміні стадії. Дивіться середню угоду, частку відданого прибутку і тривалість.
- Тижні проти днів. SMA 30 тижнів проти SMA 150 днів. Середні не збіжаться через свята й неповні тижні. Перевірте, наскільки розходяться дати зміни стадії.
- Стоп-ліміт на гепах. Порахуйте частку пробоїв, де тиждень відкрився вище півота + 1% і ордер не виконався. Порівняйте їхній подальший хід із виконаними.
Особливості платформ
TradingView (Pine Script)
- Стратегія на тижневому графіку рахує сигнал на закритті тижня й виконує на відкритті наступного, як у правилах. Якщо виконувати на денних барах, тижневі значення беріть без зазирання вперед:
request.security(syminfo.tickerid, "W", expr[1], lookahead = barmerge.lookahead_on). - Стоп-ліміт:
strategy.entryз одночасно заданимиstopіlimit. Ордер висить, доки його не скасовано, тому знімайте його, коли півот застарів. - Розігрів довгий: 40 тижнів середньої плюс вікно нахилу. Для тесту на кількох циклах потрібні 15-20 років тижневої історії, її глибина залежить від тарифу.
- На безперервних ф'ючерсах зі склейкою відніманням відсотки спотворюються. Нахил у частках ATR, як у правилах, від цього захищає, стоп 4-6% ні.
MultiCharts і TradeStation (EasyLanguage)
- Класифікатор найпростіше рахувати на тижневому графіку:
Average(Close, 30)іHighest(High, 13)[1]. Якщо торгувати на денних барах, тиждень підключається другим потоком (Close of Data2), і треба переконатися, що береться закритий тиждень. Buy next bar at Pivot stopживе один бар. На тижневому графіку ордер надсилається щотижня, поки півот актуальний. Ліміт 1% у бектесті простіше емулювати перевіркою: якщо тиждень відкрився вище півота + 1%, угоду пропустити.AvgTrueRangeце просте середнє TR. На порозі нахилу це дасть трохи інші дати зміни стадій, ніж у Pine. Для збігу рахуйте ATR за Вайлдером самі.- Стоп ціною, а не грошима:
Sell next bar at InitialStop stop.SetStopLossзадається у валюті й не врахує правило про кругле число.
MetaTrader 5 (MQL5)
- Правило обсягу потребує справжнього обсягу. У CFD на акції та індекси в MT5 лише тиковий обсяг (
iTickVolume), і «2× середньої» за ним це інша умова. Реальний обсяг (iRealVolume) є лише в біржових інструментів. - Тижневий бар брокера відкривається за часом сервера. У брокерів із короткими недільними барами тижневі значення майже не страждають, але SMA 150 на денних барах спотворюється. Для збігу з джерелом рахуйте на W1.
- Значення тижневих середніх беріть із закритого бару (зсув 1), інакше на історії класифікатор побачить незакритий тиждень.
- Глибина тижневої історії в CFD часто менша за 10 років. Для 40-тижневої середньої з нахилом перший рік піде на розігрів.
Де ідея може зламатися
- В обох відео немає жодного тесту. Статистики немає, приклади вибрано заднім числом, а в Chart Fanatics в епізоді реклама партнерів.
- Пороги «пласкої» середньої, вікно нахилу й визначення структури ціни наші. Від них залежить, скільки тижнів потрапить у стадію 2, і результат може сильно змінюватися від їхнього вибору.
- Довгі середні запізнюються. Класифікатор за побудовою віддає початок і кінець руху. На V-подібних розворотах (Тед наводить ковідний обвал) стадія 2 вмикається пізно.
- Пробій із бази часто не вдається. Тед показує Moderna: після невдалого пробою акція впала ще на 86%. Без стопа фільтр режиму не захищає.
- Тижневий сигнал рідкісний: на одному символі кілька угод на рік. Для вибірки потрібні десятки інструментів, а верхній рівень методу (спершу ринок, потім група, потім папір) потребує даних щодо індексу й секторів.
- Стоп 4-6% і відкати 7% задано у відсотках для акцій. На ринках з іншою волатильністю (крипта, облігації) ті самі відсотки означають зовсім інший ризик.