Ідея коротко
John Bollinger придумав смуги на початку 80-х і називає їх приладом, а не системою. Смуги відповідають на одне запитання: дорогі ціни чи дешеві відносно недавньої волатильності. Біля нижньої смуги ціна низька за визначенням. Поверх цього автор будує цінові патерни, і найулюбленіший із них W-дно.
Ринок падає і робить перший мінімум із сильним імпульсом, за нижньою смугою. Потім відскакує, знову падає і перевіряє ціновий мінімум. Другий мінімум за ціною поруч із першим або навіть трохи нижче, але вже всередині смуги. Ціна повернулася до тих самих рівнів, а сила падіння відносно волатильності зменшилася. Перший мінімум поза смугою і другий усередині: за визначенням автора це W-дно.
Сам патерн для автора лише alert. В угоду він входить, коли ралі справді почалося. Далі ставить chandelier-стоп від мінімуму і дає угоді розвиватися. M-вершини він торгує рідше: вершини формуються довше, вони розмиті, а їхній варіант «три поштовхи до максимуму» менш точний.
Чому це може працювати
Пояснення автора: емоції на дні гостріші й чіткіші, ніж на вершині, тому донні патерни різкіші. Перший мінімум за смугою це панічний викид. На другому мінімумі продавці вже не можуть виштовхнути ціну за межі звичайної волатильності. Смуги самі підлаштовуються під волатильність, тому одне визначення підходить для різних паперів і років без підбору порогів у пунктах.
Правило підтвердження автор називає ключовим принципом усієї своєї роботи. За його словами, саме лише очікування підтвердження піднімає точність системи з 65% до 67–69%, а невеликий приріст точності дає велику різницю в P&L. Це загальна цифра з інтерв'ю. Окремого тесту W-дна автор не показував, графіків у відкритій частині випуску немає.
Правила
Структуру патерну, підтвердження як принцип і chandelier від мінімуму назвав автор. Період смуг, пошук мінімумів, допуски, критерій підтвердження і параметри chandelier у відео не прозвучали, їх задали ми.
Смуги і %b
Mid = SMA(Close, 20) // Finetiq: стандартні 20 і 2, у відео не названі
Upper = Mid + 2 * StdDev(Close, 20) // стандартне відхилення за генеральною сукупністю
Lower = Mid - 2 * StdDev(Close, 20)
PctB = (Close - Lower) / (Upper - Lower) // автор: 1 біля верхньої смуги, 0 біля нижньої, 0.5 біля середньої
ATR14 = ATR(14) // Finetiq: для допусків
Свінг-мінімум (Finetiq)
// бар, який був i барів тому, вважається свінг-мінімумом, якщо
Low[i] < Low[i+1], Low[i+2], Low[i+3] // нижче трьох барів ліворуч
AND Low[i] <= Low[i-1], Low[i-2], Low[i-3] // не вище трьох барів праворуч
// про мінімум дізнаємося лише через 3 бари після нього, раніше в розрахунок не беремо
// у момент підтвердження запам'ятовуємо ціну мінімуму, номер бару і Lower на тому барі
W-дно: alert
L1 = передостанній підтверджений свінг-мінімум
L2 = останній підтверджений свінг-мінімум
Peak = Highest(High) між L1 і L2
Cond1 = L1.Low < L1.Lower // автор: перший мінімум поза нижньою смугою
Cond2 = L2.Low >= L2.Lower // автор: другий мінімум усередині смуги
Cond3 = abs(L2.Low - L1.Low) <= 1.0 * ATR14 // Finetiq: «ретест» цінового мінімуму
Cond4 = BarsBetween(L1, L2) >= 4 AND <= 40 // Finetiq
Cond5 = Peak - max(L1.Low, L2.Low) >= 1.0 * ATR14 // Finetiq: між мінімумами був відскок
WAlert = Cond1 AND Cond2 AND Cond3 AND Cond4 AND Cond5
// Finetiq: зі смугою порівнюємо мінімум бару.
// Варіант для перевірки: закриття, тобто PctB < 0 на L1 і PctB >= 0 на L2
Підтвердження і вхід (Finetiq)
PatternLow = min(L1.Low, L2.Low)
// після WAlert чекаємо не більше 10 барів
IF Close > Peak AND MarketPosition == 0
BUY AT NEXT BAR OPEN // Finetiq: W добудоване, ралі пішло
IF Low < PatternLow THEN CANCEL WAlert // патерн зламаний
IF минуло 10 барів без підтвердження THEN CANCEL WAlert
Стоп: chandelier від мінімуму
// автор: chandelier-стоп від мінімуму патерну.
// Finetiq: максимум для chandelier відраховуємо з бару L2, числа стартові
Chandelier = Highest(High, з бару L2 по поточний) - 3 * ATR(22)
StopLevel = max(StopLevel[1], Chandelier) // стоп лише піднімається
EXIT STOP at StopLevel
// цілі немає: автор дає угоді розвиватися
Параметри
| Параметр | Значення | Звідки |
|---|---|---|
| Смуги | SMA 20 ± 2 стандартних відхилення | Finetiq |
| Перший мінімум | Low нижче нижньої смуги | автор (порівняння за Low: Finetiq) |
| Другий мінімум | Low не нижче нижньої смуги | автор (порівняння за Low: Finetiq) |
| Свінг-мінімум | 3 бари ліворуч і 3 праворуч | Finetiq |
| Допуск ретесту | 1 × ATR(14) | Finetiq |
| Відстань між мінімумами | 4–40 барів | Finetiq |
| Мінімальний відскок | 1 × ATR(14) | Finetiq |
| Підтвердження | закриття вище максимуму між мінімумами | Finetiq (принцип: автор) |
| Очікування підтвердження | 10 барів | Finetiq |
| Стоп | chandelier від мінімуму | автор |
| Параметри chandelier | ATR 22 × 3, максимум з бару L2 | Finetiq |
| Ціль | немає | автор |
Що перевірити
- Скільки дає підтвердження. Три прогони: вхід на наступному барі після
WAlert, вхід після закриття вищеPeak, вхід після закриття вище середньої смуги. Автор обіцяє приріст точності на 2–4 пункти. Дивіться й на очікування угоди: підтвердження підвищує відсоток прибуткових, але входить вище. - Околиця за методом самого автора. Автор ганяє середню 16–24 замість 20 і викидає систему, якщо результати помітно відрізняються. Зробіть так само: період смуг 16–24, множник 1.8–2.2, свінг 2–5 барів, допуск ретесту 0.5–1.5 ATR.
- Мінімум чи закриття. Умови відносно смуги за
Lowпроти умов заPctBзакриття. Визначення у відео допускає обидва прочитання. - Чи потрібен другий мінімум. Базова лінія без W: закриття повернулося всередину смуги після закриття за нею, той самий вхід і стоп. Якщо W не краще, подвійне дно нічого не додає до простого повернення всередину смуг.
- Вихід. Chandelier 2.5, 3 і 3.5 ATR проти двох інших трактувань: початковий стоп рівно на
PatternLowі вихід на верхній смузі (PctB >= 1). Автор веде позицію довго, mean reversion з короткою ціллю може дати інший профіль угод. - M-вершина дзеркально. Перший максимум за верхньою смугою, другий усередині. Автор очікує гіршого результату, це варто підтвердити або спростувати на тих самих паперах.
- Багато паперів. На одній акції W-дно за такими правилами трапляється рідко. Проженіть 100–500 ліквідних акцій і дивіться на медіану, а не на найкращі приклади.
Особливості платформ
TradingView (Pine Script)
ta.stdevза замовчуванням рахує за генеральною сукупністю, як іStdDevв EasyLanguage таiBandsу MQL5. Смуги на трьох платформах збігатимуться.ta.pivotlow(low, 3, 3)повертає ціну мінімуму на барі, де він підтвердився, тобто через 3 бари. Значення нижньої смуги на самому мінімумі беріть зі зсувом:lower[3]. Малювати мітку заднім числом можна, торгувати не можна.ta.atrзгладжує за Вайлдером. В EasyLanguage і MQL5 вбудований ATR це просте середнє, тому рівень chandelier на різних платформах розійдеться.- Стоп оновлюйте кожен бар:
strategy.exit("CH", "L", stop = stopLevel), деstopLevelзберігається уvarі лише зростає.
MultiCharts і TradeStation (EasyLanguage)
AvgTrueRangeце просте середнє TrueRange. Для збігу з Pine рахуйте ATR за Вайлдером самі:ATRw = ATRw[1] + (TrueRange - ATRw[1]) / 22.- Вбудовані функції свінгів теж підтверджують мінімум із затримкою на кількість барів праворуч. Значення
Lowerна барі мінімуму збережіть у змінну в момент підтвердження, зі зсувом на цю затримку. Sell next bar at StopLevel stopживе один бар. Надсилайте його на кожному барі, поки є позиція.- Якщо патерн шукаєте на ф'ючерсі, пам'ятайте про різницю між денним баром із settlement і 1440-хвилинним баром. Дотик смуги за
Lowна них може відрізнятися.
MetaTrader 5 (MQL5)
- Буфери
iBands: 0 середня лінія, 1 верхня смуга, 2 нижня. Беріть значення закритих барів. - Стандартний індикатор ZigZag перемальовує останнє коліно. Для пошуку мінімумів у раднику він не годиться: тест побачить мінімуми, яких у момент угоди ще не було. Пишіть перевірку свінгу самі за закритими барами.
iATRце просте середнє TR, для збігу з Pine рахуйте варіант Вайлдера.- Стоп рухайте через зміну SL позиції на новому денному барі і лише вгору. SL задається ціною.
Де ідея може зламатися
- Від автора у відео дві фрази про цей патерн. Правил пошуку мінімумів, підтвердження і параметрів стопа він не назвав. Наша формалізація може відрізнятися від того, як він торгує насправді.
- Приріст точності з 65% до 67–69% стосується підтвердження загалом. Для W-дна за нашими правилами його ніхто не міряв.
- В автора є евристика: система з двох-трьох рядків скоріше добра, зі 150 рядків майже напевно погана. Формалізація W-дна тягне за собою п'ять допусків. Кожен із них зайвий шанс підігнати результат, тому перевірка околиці обов'язкова.
- Патерн рідкісний. На одному папері за десять років набереться мало угод, і висновки за ним ненадійні. Потрібен всесвіт акцій і портфельний тест, якого немає в Pine.
- У тому самому інтерв'ю автор переказує Ларрі Вільямса: стопи ламають торгові системи. Вузький chandelier на відкаті після W може вибивати угоди до того, як ралі розвинеться.
- Розворот від нижньої смуги в тривалому ведмежому ринку може виявитися паузою. Автор торгує середньостроково і спирається ще на індикатори ширини ринку, яких у цих правилах немає.