← Усі ідеї
#072НовеФільтр режимуСвінг

Класифікатор середовища за смугами Боллінджера 20/3 і скоринг режиму

Anthony Crudele ділить денний ринок на три середовища за смугами Боллінджера 20/3: консолідація, тренд, повернення до середнього. Кожне середовище дозволяє свій бік угод. Варіант: скоринг режиму Kieran Duff за ADX, ATR і середніми.

Chart Fanatics · Anthony Crudele · Дивитися відео

Ринки

Ф'ючерси, Індекси, Форекс, Сировина

Таймфрейм

D1

Дані

OHLC, Обсяг

Правила

Частково формалізовано

Складність

Середня

Статус

Не перевірено

Частину правил дописали ми, це позначено в тексті.

TradingView переноситься напряму
EasyLanguage є пастки
MetaTrader 5 є пастки

Ідея коротко

Anthony Crudele, трейдер ф'ючерсів на індекси з двадцятирічним стажем, починає будь-яку угоду з питання про середовище. Середовищ три: консолідація, тренд, повернення до середнього. Визначає він їх за денними смугами Боллінджера з періодом 20 і трьома стандартними відхиленнями замість звичних двох. Коли середовище відоме, він торгує в один бік. Обидва боки дозволені лише в консолідації.

Смуги звужуються: консолідація, виходи з діапазону частіше повертаються. Смуги з пласких розходяться, і ціна бере максимум: тренд, лише лонги (при розширенні вниз лише шорти). Після тренду смуги сходяться: повернення до середнього, угоди проти минулого тренду з ціллю в середині смуг.

Варіант B від Kieran Duff, який веде на CFD портфель із 20-30 автоматичних стратегій: фільтр складає метрики в бал і вирішує, які сигнали пропускати. Ваги й пороги він не назвав, скоринг нижче це формалізація Finetiq.

На відміну від bollinger-squeeze, смуги тут не дають входів, а розподіляють дозволи між пробійними стратегіями і стратегіями повернення. Від zero-parameter-filters відмінність у формі: перемикач із трьох станів замість «так» або «ні».

Чому це може працювати

Crudele прийшов до системи після збитків: він був контраріанцем, фейдив ралі й пробої і втрачав на розвороті ринку 2000 року. Причину він бачить у тому, що не визначав середовище. Три відхилення він обрав під індекси: смуги у два відхилення NASDAQ пробиває у звичайний день. Користь правила він описує так: воно тримає його поза фейдами тренду і поза пробоями всередині діапазону.

Kieran розв'язує ту саму задачу для портфеля. Коли ADX зростає, ціна відходить від середніх і ATR розширюється, пробоям добре, а стратегії повернення й шорти краще вимкнути. Фільтр лише прибирає сигнали з меншою ймовірністю, і Kieran визнає, що іноді він заблокує угоду, яка відіграла б учорашній збиток.

Тесту самого класифікатора немає ні в кого з авторів. Цифри Kieran стосуються його портфеля з п'яти стратегій на in-sample, де він уперше ввімкнув фільтр. Усі свої стратегії він туди ще не додав і сам каже, що підсумковий вигляд буде іншим.

Правила

Смуги й ознаки (автор)

// денні бари, індексні ф'ючерси ES, NQ, RTY
Mid   = SMA(Close, 20)
SD    = StdDev(Close, 20)                           // генеральне
Upper = Mid + 3 * SD                                 // автор: 20 періодів, 3 відхилення
Lower = Mid - 3 * SD
Width = Upper - Lower

Outward = Upper > Upper[1] AND Lower < Lower[1]      // автор: смуги дивляться назовні; Finetiq: обидва краї за бар
Inward  = Width < Width[1] AND Width[1] < Width[2]   // автор: смуги сходяться; Finetiq: 2 бари поспіль
Narrow  = Width < SMA(Width, 50)                      // Finetiq: смуги стиснуті

Класифікатор середовища (автор, пороги Finetiq)

// Env зберігається між барами, стартове значення CONSOLIDATION
NewUp   = Outward AND Close > Highest(High, 20)[1]   // автор: розширення і новий максимум; Finetiq: за 20 барів
NewDown = Outward AND Close < Lowest(Low, 20)[1]
IF NewUp AND Env <> TREND_UP
    Env = TREND_UP;   EpisodeStart = поточний бар       // Finetiq: початок епізоду ставиться лише при зміні середовища
IF NewDown AND Env <> TREND_DOWN
    Env = TREND_DOWN; EpisodeStart = поточний бар
// новий максимум усередині того самого тренду EpisodeStart не зсуває

IF Env IN (TREND_UP, TREND_DOWN) AND Inward             // автор: після тренду смуги сходяться
    PeakUp    = максимум Upper від EpisodeStart            // Finetiq: піки смуг за епізод
    PeakDown  = мінімум Lower від EpisodeStart
    PrevTrend = Env
    Env = MEAN_REV

IF Env = MEAN_REV AND (Narrow OR ціль 50% досягнута OR 10 барів без нового тренду)
    Env = CONSOLIDATION                                  // автор: смуги стиснулися, це консолідація; далі чекати, руки в кишенях
                                                         // Finetiq: ціль 50% і 10 барів як запасні умови

Дозволи за середовищами (автор)

TREND_UP:      лише лонги; шорти й фейди заборонені             // автор
TREND_DOWN:    лише шорти                                        // автор
CONSOLIDATION: обидва боки, біля країв діапазону, не в середині  // автор
               вихід за діапазон імовірно повернеться            // автор
               Finetiq: пробійні стратегії вимкнені
MEAN_REV:      угоди проти PrevTrend, розмір 0.5                 // автор: проти основного тренду маленьким
                                                                 // розміром; Finetiq: 0.5
               угоди за PrevTrend заборонені                     // автор: більше не хоче бути в лонгу

Рівні повернення й цілі (автор, побудова Finetiq)

Crudele будує сітку Фібоначчі не за ціною, а за смугами: від піку верхньої смуги до піку нижньої. Його індикатор Beacon малює її сам. Як вибираються піки, показано лише на дошці й одному графіку, нижче наше прочитання.

Range = PeakUp - PeakDown

// після TREND_UP: шорт
L30 = PeakUp - 0.30 * Range
L50 = PeakUp - 0.50 * Range
IF Env = MEAN_REV AND PrevTrend = TREND_UP AND Close < L30     // автор: денне закриття нижче 30%
    SELL SHORT AT NEXT BAR OPEN
Target = L50                                                    // автор: ціль 50%
IF Close > L30 THEN EXIT AT NEXT BAR OPEN                       // автор: доки закриття не повернулося вище
StopLoss = максимум бару, на якому розвернувся тренд            // автор; Finetiq: максимум епізоду
// рівень 70% автор використовує, щоб оцінити силу розвороту, не для входу
// після TREND_DOWN дзеркально від PeakDown: закриття вище 30%, ціль 50%

// ціль у тренді (автор): минулий пік смуги, «незакінчена справа»
TrendTarget_Up = Highest(Upper, 60) до EpisodeStart            // Finetiq: вікно 60

Виходи в тренді Crudele веде за VWAP від бару розвороту і середніми 8, 21 і 34, розмір позиції рахує від відстані до стопа.

Варіант B. Скоринг режиму (Kieran Duff, ваги й пороги Finetiq)

Метрики фільтра Kieran: ATR, SMA 50, SMA 200, ADX, закриття останнього денного бару, ATR поточного бару, перцентиль ATR, режим обсягу і режим тренду. Формул, ваг і порогів в інтерв'ю немає. Для VIX він пропонує не поріг, а розширення за 2 дні проти середнього за 2 місяці, але цей модуль у нього ще не побудований.

// денні значення минулого закритого бару
ATR14 = ATR(14); ADX14 = ADX(14)                                       // Finetiq: періоди
Dist  = ABS(Close - SMA(Close, 50)) / ATR14

S1 = ADX14 > ADX14[5]                                   // автор: ADX зростає; Finetiq: за 5 днів
S2 = Dist > Dist[5]                                     // автор: ціна відходить від середніх
S3 = ATR14 > ATR14[5]                                   // автор: ATR розширюється
S4 = PercentRank(ATR14, 250) >= 50                      // автор: перцентиль ATR; Finetiq: вікно й поріг
S5 = SMA(Volume, 10) > SMA(Volume, 50)                  // автор: режим обсягу; Finetiq: порівняння
TrendUp   = Close > SMA(Close, 200) AND SMA(Close, 50) > SMA(Close, 200)   // автор: режим тренду
TrendDown = Close < SMA(Close, 200) AND SMA(Close, 50) < SMA(Close, 200)   // Finetiq: визначення

Score = S1 + S2 + S3 + S4 + S5                          // Finetiq: рівні ваги, від 0 до 5

IF Score >= 4 AND TrendUp   THEN пробійні лонги; повернення й шорти вимкнені         // автор: дія; Finetiq: поріг 4
IF Score >= 4 AND TrendDown THEN пробійні шорти; повернення вимкнене                 // Finetiq
IF Score >= 4 AND NOT TrendUp AND NOT TrendDown THEN пробої в обидва боки, розмір 0.5   // Finetiq
IF Score <= 1 THEN стратегії повернення; пробійні вимкнені                          // Finetiq
IF Score IN (2, 3) THEN усі стратегії, розмір 0.5                                    // Finetiq

Підключення до карток бази (Finetiq)

// приклад 1: prev-high-breakout-adx. Фільтр ADX(5) < 35, BUY STOP над максимумом минулої сесії
Allowed_A = DailyADX < 35                                   // як у картці
Allowed_B = Allowed_A AND Env = TREND_UP                    // Crudele: пробій лише в тренді
Allowed_C = Allowed_A AND Env <> CONSOLIDATION              // м'якше: заборона лише в діапазоні
// зверніть увагу на конфлікт: ADX(5) < 35 відбирає тихі дні, TREND_UP вимагає розширення смуг

// приклад 2: five-day-low-mr. Купівля 5-денного мінімуму, вихід вище MA5
Allowed_MR = Env IN (CONSOLIDATION, TREND_UP)               // купівля відкату не суперечить «лише лонг»
             OR (Env = MEAN_REV AND PrevTrend = TREND_DOWN) // повернення після падіння, розмір 0.5
// у TREND_DOWN і в MEAN_REV після зростання купівлі заборонені

Параметри

Параметр Значення Звідки
Таймфрейм денний автор
Смуги Боллінджера SMA 20, 3 стандартні відхилення автор
Смуги назовні верхня зростає й нижня падає за бар Finetiq
Пробій у тренді закриття за 20-денним екстремумом Finetiq
Смуги сходяться ширина падає 2 бари поспіль Finetiq
Смуги стиснуті ширина нижче своєї SMA 50 Finetiq
Рівні повернення 30, 50, 70% між піками смуг автор
Вхід у повернення денне закриття за рівнем 30% автор
Ціль повернення 50%, вихід при закритті назад за 30% автор
Розмір проти основного тренду 0.5 Finetiq (автор: маленький)
Вихід із MEAN_REV смуги стиснуті (Narrow), ціль 50% або 10 барів автор (стиснення смуг), Finetiq (поріг стиснення, ціль, 10 барів)
Ціль у тренді минулий пік смуги, вікно 60 барів автор, вікно Finetiq
Варіант B: метрики ADX, ATR, перцентиль ATR, SMA 50 і 200, обсяг, тренд автор
Варіант B: періоди, ваги, пороги ADX 14, ATR 14, 5 і 250 днів, бали 4 і 1 Finetiq

Що перевірити

  1. Чи розділяє класифікатор ринок. Розмітьте історію ES і NQ середовищами й порахуйте для кожного середню зміну ціни за 5 днів, частку продовжень пробоїв 20-денного екстремуму і частку повернень до Mid. Якщо в TREND_UP пробої продовжуються не частіше, ніж у CONSOLIDATION, класифікатор не працює.
  2. Три відхилення проти двох. Той самий класифікатор на 20/2 і 20/2.5: частота зміни середовищ і результат. Crudele вважає два відхилення на індексах надто близькими.
  3. Околиця порогів Finetiq. Пробій за 10, 20 і 40 барів; сходження 1, 2 і 3 бари; вікно Narrow 30, 50 і 100. Стрибок результату від сусіднього значення означає підгонку.
  4. Стратегія з фільтром і без. Три версії prev-high-breakout-adx з прикладу: скільки угод фільтр прибрав і якими вони були.
  5. Рівні 30/50/70. Вхід за 30% проти 50% і проти входу одразу при Inward, ціль 50% проти поточної Mid.
  6. Скоринг Kieran. Рівні ваги проти одного ADX і одного перцентиля ATR. Пороги обирайте лише на in-sample.
  7. Витрати на перемикання. Скільки разів на рік змінюється середовище. Перемикання на прикордонних барах множать угоди, які лише платять спред.

Особливості платформ

TradingView (Pine Script)

  • ta.bb(close, 20, 3) використовує генеральне відхилення, як StdDev в EasyLanguage і iBands у MT5, тож рівні 30/50/70 збігатимуться.
  • Середовище й піки смуг зберігайте в змінних var і оновлюйте лише на закритому барі.
  • ADX для варіанта B беріть із ta.dmi(14, 14), він за Вайлдером. Перцентиль ATR: ta.percentrank(atr, 250).
  • У ES денний бар у TradingView починається о 18:00 ET. Смуги за кеш-індексом і за ф'ючерсом різняться, рахуйте за тим рядом, яким торгуєте.

MultiCharts і TradeStation (EasyLanguage)

  • Смуги простіше порахувати явно: Average(Close, 20) + 3 * StdDev(Close, 20). StdDevS вибіркове й дасть ширші смуги.
  • У ф'ючерсів денний бар TradeStation закривається за settlement, а 1440-хвилинний за останньою угодою. Закриття за рівнем 30% може випасти на різні дні. Бектест і торгівлю ведіть на одному виді бару.
  • AvgTrueRange це просте середнє TR, у Pine ATR за Вайлдером. Ознаки S2, S3 і S4 варіанта B дадуть інші дні, якщо не порахувати ATR за Вайлдером вручну.
  • Класифікатор копіюйте в код кожної стратегії, яку він фільтрує. Так у бектесті всі бачать одне значення минулого дня.

MetaTrader 5 (MQL5)

  • iBands(_Symbol, PERIOD_D1, 20, 0, 3, PRICE_CLOSE) дає смуги на генеральному відхиленні. Значення беріть із бару 1.
  • Денний бар CFD будується за серверним часом брокера. Короткі недільні бари додають зайві закриття у вікно 20 і зсувають смуги.
  • Для варіанта B беріть iADXWilder, iADX згладжує інакше. iATR це просте середнє TR.
  • Режим обсягу в CFD рахується за тиковим обсягом (iTickVolume). Kieran торгує CFD саме так, але це активність котирувань у брокера, а не обсяг торгів.

Де ідея може зламатися

  • Crudele торгує з дискрецією: цілі за чужими рівнями, виходи за VWAP і середніми, опціони при широкому стопі, розмір за макрофоном. Механічна версія цього не повторює.
  • Найважче місце він називає сам: перехід після повернення до середнього, коли невідомо, буде консолідація чи новий тренд. Тут його найчастіше б'є, і тут найбільше наших порогів.
  • Визначення «смуги назовні», «сходяться» і вибір піків для сітки наші. Різні прочитання дадуть різні дати зміни середовища.
  • Статистики у відео немає, лише схеми на дошці й один графік ES 2025 року. У випуску багато реклами проп-фірм.
  • Цифри Kieran отримано на in-sample 2018-2019 років, у першому прогоні фільтра і не на всьому портфелі. Про out-of-sample вони нічого не кажуть.
  • Скоринг із п'яти ознак із порогами легко підігнати. Ваги автора невідомі, наші рівні ваги лише стартова точка.

Джерела

  • COPY These 3 Simple Steps To Master The TREND Trading Futures - Anthony Crudele

    Chart Fanatics · Anthony Crudele · 2026-01-25

    • 02:06Три середовища: повернення до середнього, консолідація, тренд
    • 03:24Смуги Боллінджера: 20 періодів, 3 відхилення
    • 04:59Чому 3 відхилення для індексів
    • 09:12Смуги стиснулися: консолідація, ринок в обидва боки
    • 12:39У діапазоні торгувати краї, а не середину
    • 13:23Смуги з пласких розходяться: розширення
    • 18:05Розширення і новий максимум: лише лонг
    • 19:57Дзеркально лише шорт, рух не фейдити
    • 21:57Ціль у тренді: минулий пік смуги
    • 23:38Повернення до середнього: рівні 30, 50 і 70% за смугами
    • 24:50Проти основного тренду маленьким розміром
    • 25:26Після 50% смуги розходяться вниз: лише шорт
    • 37:54Де він помиляється: максимум, на якому розвернувся ринок
    • 42:10ES: смуги зійшлися, рівні індикатора Beacon
    • 45:14Розмір позиції від відстані до стопа
  • Ep017 | Trader talk with @kieranduff

    Trader Matt Podcast · Kieran Duff · 2026-06-24

Заявлено автором

Ці цифри й твердження належать автору. Ми їх не перевіряли.

  • Kieran Duff: перший прогін портфеля з новим фільтром режиму на in-sample 2018-2019 років, 5 стратегій (одна на повернення до середнього, чотири пробійні), додано не всі стратегії. Profit factor 1.56 при кількості угод, поділеній на три через дроблення ордерів, просадка 1.39% (для реальної торгівлі він її подвоює), доходність 7.4% за два роки. У перерахунку на ризик 10%: просадка близько 13%, прибуток близько $74 000 за два роки, відношення доходності до просадки, за його прикидкою, приблизно 4-5 до 1. Розмір рахунку для цього перерахунку він не назвав, тому відношення перевірити не можна: на рахунку $100 000 ті самі цифри дали б близько 5.7 до 1.

Схожі ідеї

Оновлено: 2026-09-11