Ідея коротко
Смуги Боллінджера будуються на стандартному відхиленні закриттів і тому швидко звужуються, коли ринок затихає. Сквізом називають момент, коли смуги стали дуже вузькими. Зазвичай його шукають на око. У самого Джона Боллінджера є точне визначення: bandwidth, відстань між смугами, поділена на середню лінію, опустилася до мінімуму за 125 періодів. Він називає це правило непорушним і каже, що його команда торгує сквіз часто.
Сквіз описує стан, а не угоду. Боллінджер не сказав, у який бік входити й де виходити. У цій картці ці правила формалізовано нами й позначено. Варіант B: класичний підхід, який Боллінджер згадує сам (смуги Боллінджера повністю всередині каналу Кельтнера). Варіант C: тижневий TTM Squeeze для акцій-лідерів із відео Financial Wisdom, де правила пробою вже названо.
Чому це може працювати
Боллінджер пояснює живучість смуг тим, що вони спираються на перший принцип ринку, волатильність. Волатильність сама змінюється: періоди затишшя змінюються розширенням. Мінімум ширини смуг за пів року денних барів позначає місце, де затишшя дійшло до краю своєї недавньої історії, і розширення стає ймовірнішим.
Порівняння з каналом Кельтнера додає другу міру. Кельтнер будується на ATR, тобто на типовому діапазоні бару, і змінюється повільніше. Коли смуги Боллінджера зайшли всередину Кельтнера, розкид закриттів стиснувся сильніше, ніж звичайний розмах барів. Автор Financial Wisdom описує це як накопичення енергії: що сильнішим було зростання до консолідації, то потужніший, на його думку, вихід із неї.
Що розширення волатильності після сквізу дає прибуток у конкретний бік, ніхто з авторів не показав. Напрямок доводиться задавати окремим правилом.
Правила
Сквіз (автор)
Mid = SMA(Close, 20)
SD = StdDev(Close, 20) // генеральне стандартне відхилення
Upper = Mid + 2 * SD
Lower = Mid - 2 * SD
// Finetiq: довжина 20 і множник 2. Параметрів своїх смуг Боллінджер в інтерв'ю чітко не назвав
BandWidth = (Upper - Lower) / Mid // автор
Squeeze = BandWidth <= Lowest(BandWidth, 125) // автор: 125-періодний мінімум
// Finetiq: поточний бар входить у вікно з 125 барів
Вхід і вихід після сквізу (Finetiq)
// Боллінджер не назвав напрямку й тригера пробою. Усе в цьому блоці наша формалізація
Armed = Squeeze хоча б на одному з останніх 10 барів // Finetiq
IF Armed AND Close > Upper THEN BUY AT NEXT BAR OPEN // Finetiq: закриття за смугою
IF Armed AND Close < Lower THEN SELL SHORT AT NEXT BAR OPEN
Long: StopLoss = Lower на барі сигналу // Finetiq: протилежна смуга
IF Close < Mid THEN EXIT AT NEXT BAR OPEN // Finetiq: повернення до середньої
Short: StopLoss = Upper на барі сигналу
IF Close > Mid THEN EXIT AT NEXT BAR OPEN
// після виходу новий вхід лише після нового сквізу // Finetiq
Варіант B. Смуги всередині Кельтнера (Боллінджер)
KC_Mid = EMA(Close, 20) // автор: EMA 20 або 21
KC_Up = KC_Mid + 2 * ATR(20) // автор: 2 ATR; Finetiq: період ATR 20, за Вайлдером
KC_Low = KC_Mid - 2 * ATR(20)
InsideKC = Upper < KC_Up AND Lower > KC_Low // автор: обидві смуги Боллінджера всередині Кельтнера
// автор: далі «шукати волатильнісний пробій», тригер не названо
Fired = InsideKC[1] AND NOT InsideKC // Finetiq: перший бар виходу зі стиснення
Armed = Fired хоча б на одному з останніх 5 барів // Finetiq
// вхід, стоп і вихід як в основній версії
Варіант C. Тижневий TTM Squeeze (Financial Wisdom)
// тижневі бари, акції з відбору (див. нижче)
// BB і Кельтнер як у варіанті B, множник Кельтнера 1.5 (суворіше, рідше 5% часу) або 2.0 (автор)
// Finetiq: довжини 20; автор використовує готовий індикатор TradingView, де їх можна змінювати
SqueezeWeeks = кількість тижнів InsideKC за останні 8 тижнів
Setup = SqueezeWeeks >= 3 // автор: «кілька червоних точок»; Finetiq: 3 з 8
Pivot = Highest(High, 8)[1] // автор: максимум консолідації (у чашки з ручкою максимум ручки)
// Finetiq: 8 тижнів
IF Setup
BUY STOP at Pivot LIMIT Pivot * 1.05 // автор: не далі 5% за півотом
// автор: пробій має підтвердитися обсягом
IF Volume тижня пробою < 1.5 * Average(Volume, 10)[1] // Finetiq: поріг 1.5×
EXIT AT NEXT BAR OPEN
StopLoss = Low тижня пробою або найближчий свінг-мінімум // автор
// автор: при широкому стопі (приклад Robinhood, 11%) зменшувати розмір позиції
IF Close < SMA(Close, 10) THEN EXIT AT NEXT BAR OPEN // Finetiq: автор виходу не назвав
// Відбір паперів (автор): окреме правило по всьому всесвіту
// капіталізація від $2 млрд, сортування за доходністю за рік, 30 найкращих,
// або акції з trend template з RS від 90. Сигнал вище рахується на кожному папері окремо
Параметри
| Параметр | Значення | Звідки |
|---|---|---|
| Смуги Боллінджера | SMA 20, 2 стандартні відхилення | Finetiq |
| Bandwidth | (Upper − Lower) / Mid | автор |
| Вікно мінімуму | 125 барів | автор |
| Сквіз «діє» | 10 барів | Finetiq |
| Тригер | закриття за смугою | Finetiq |
| Стоп | протилежна смуга на барі сигналу | Finetiq |
| Вихід | закриття по інший бік середньої | Finetiq |
| Кельтнер | EMA 20-21, 2 ATR | автор |
| Період ATR | 20, за Вайлдером | Finetiq |
| Варіант C: множник Кельтнера | 1.5 або 2.0 | автор |
| Варіант C: таймфрейм | тиждень | автор |
| Варіант C: сетап | 3 тижні сквізу з 8 | Finetiq |
| Варіант C: півот | максимум за 8 тижнів | Finetiq |
| Варіант C: максимум входу | півот + 5% | автор |
| Варіант C: обсяг | 1.5× середнього за 10 тижнів | Finetiq |
| Варіант C: стоп | мінімум тижня пробою або свінг-мінімум | автор |
| Варіант C: вихід | закриття нижче SMA 10 тижнів | Finetiq |
| Варіант C: відбір | від $2 млрд, 30 найкращих за рік | автор |
Що перевірити
- Чи передбачає сквіз розширення. Порахуйте середній ATR(10) і модуль зміни ціни за 10 барів після сквізу і після випадкових днів. Якщо після сквізу волатильність не зростає помітніше, пробійні правила поверх нього не мають опори.
- Сквіз як фільтр пробою. Та сама угода на закритті за смугою: лише після сквізу проти будь-якого закриття за смугою. Це пряма перевірка, чи додає визначення Боллінджера щось до пробою смуги.
- Околиця параметрів за методом Боллінджера. Він сам перевіряє сусідні значення (для середньої 20 це 16-24) і викидає систему, якщо результати не схожі. Проженіть вікно мінімуму 100, 110, 125, 140, 150 і довжину смуг 16-24.
- Тригер напрямку. Закриття за смугою проти стоп-ордерів за максимумом і мінімумом періоду сквізу і проти входу лише за трендом (ціна вище SMA 50 для купівель). Це найслабша частина картки, в автора її немає.
- Два визначення стиснення. Як часто збігаються 125-періодний мінімум bandwidth і смуги всередині Кельтнера при множнику 1.5 і 2.0. Перевірте твердження Financial Wisdom про 5% часу на своїх ринках.
- Денні бари проти тижневих, акції проти ф'ючерсів. Сквіз на спокійних ринках (облігації, валюти) і на акціях поводиться по-різному. Дивіться результат по кожному класу окремо.
- Хибні пробої. Частка угод, закритих стопом у перші 5 барів. Якщо вона висока, спробуйте вхід на повторному закритті за смугою.
Особливості платформ
TradingView (Pine Script)
ta.stdevза замовчуванням генеральне, якStdDevв EasyLanguage іiBandsу MT5. Ширина смуг на трьох платформах збіжиться.- Bandwidth і мінімум простіше порахувати самим:
bw = (upper - lower) / basis,squeeze = bw <= ta.lowest(bw, 125). - Кельтнер для варіанта B зберіть самі:
ta.ema(close, 20)плюс-мінус2 * ta.atr(20). Уta.kcсвоя реалізація, і частота стиснення з нею може розійтися з джерелом. - Тижневому варіанту C потрібна історія на розігрів середніх (20 тижнів) і вікно сквізу у 8 тижнів. Якщо перевіряти на тижнях 125-періодний мінімум з основної версії, потрібно ще 125 тижнів, близько 2.5 року. Глибина історії залежить від тарифу. Стоп-ліміт на півоті:
strategy.entryзіstop = pivotіlimit = pivot * 1.05.
MultiCharts і TradeStation (EasyLanguage)
- Для смуг беріть
StdDev(генеральне).StdDevSвибіркове: смуги вийдуть ширшими, і мінімуми ширини зсунуться. Lowest(BW, 125)включає поточний бар, як у правилах. Ширину зберігайте в змінній, інакше функція перераховуватиме смуги на кожному кроці вікна.AvgTrueRangeце просте середнє TR. Кельтнер на ньому вужчий або ширший, ніж на ATR Вайлдера, і стиснення у варіанті B траплятиметься з іншою частотою. Для збігу з Pine рахуйте ATR за Вайлдером вручну.Buy next bar at Pivot stopживе один бар. На тижневому графіку надсилайте ордер щотижня, ліміт 5% емулюйте перевіркою відкриття.
MetaTrader 5 (MQL5)
iBandsдає смуги на генеральному відхиленні, bandwidth рахується з буферів вручну.- Вбудованого Кельтнера немає:
iMAу режимі EMA плюс ATR.iATRце просте середнє TR, для збігу з Pine потрібен Вайлдер. - Короткі недільні бари на D1 у частини брокерів додають зайві закриття у вікна 20 і 125. Ширина смуг і її мінімум від цього спотворюються.
- Тижневий варіант на CFD акцій упирається в історію брокера і в обсяг: у CFD лише тиковий обсяг, і підтвердження пробою за ним приблизне.
Де ідея може зламатися
- Боллінджер дав визначення сквізу, але не систему. Напрямок, стоп і вихід наші. Якщо результат поганий, це може бути слабкість нашої формалізації, а не сквізу.
- Параметри смуг у транскрипті не прозвучали розбірливо. Ми взяли стандартні 20 і 2, у Боллінджера могли бути інші.
- Затишшя може тривати довго. У спокійних трендах ширина смуг знижується поступово, і сквізи йдуть серіями без подальшого розширення.
- Приклади Financial Wisdom підібрано заднім числом, усі переможці, статистики немає. Тижневий варіант спирається на відбір 30 найкращих акцій і RS від 90, чого немає в Pine і MT5.
- Реалізації Кельтнера відрізняються між платформами. Частота стиснення і набір угод у варіанті B можуть не збігтися навіть на тих самих даних.