← Усі ідеї
#017ПробійУсередині дня

Стиснення Крейбела: NR4, ID/NR4 і пробій діапазону відкриття зі stretch

Після дня стиснення (NR4, NR7, inside day, ID/NR4) ставимо стоп-ордери за діапазоном відкриття на відстані stretch. Варіанти: денний вхід через максимум вузького бару і годинне стиснення Trader X на ES і NQ.

Jack Corsellis · Toby Crabel · Дивитися відео

Ринки

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

Таймфрейм

D1, M5, H1

Дані

OHLC, Час сесій

Правила

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

Складність

Середня

Статус

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

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

TradingView є пастки
EasyLanguage є пастки
MetaTrader 5 є пастки

Ідея коротко

Toby Crabel написав книгу про короткострокові цінові патерни й пробій діапазону відкриття (ORB). Головна думка: ринок чергує спокій і рух, і одна фаза породжує іншу. Тому пробій відкриття варто торгувати після дня стиснення, коли діапазон дня вужчий за кілька попередніх, а не після широкого дня.

Стиснення Крейбел міряє простими фільтрами: NR4 (діапазон дня вужчий за кожен із трьох попередніх), NR7 (вужчий за шість попередніх), inside day (діапазон усередині вчорашнього) і їхнє поєднання ID/NR4. Наступного дня він ставить стоп-ордери вище й нижче діапазону відкриття на відстані stretch, середнього за 10 днів відхилення від відкриття до ближнього екстремуму. Ордер, що спрацював, стає позицією, другий слугує захисним стопом.

У картці ще два варіанти тієї самої ідеї стиснення. Jack Corsellis торгує вузькі денні бари в акціях-лідерах через їхній максимум. Trader X, якого проп-фірма IQ Capital розібрала за логами угод, шукає на годинному графіку ES і NQ чотири свічки поспіль, кожна не ширша за попередню.

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

Вузький день означає, що ні покупці, ні продавці не змогли зрушити ціну. Ринок у рівновазі й чекає нової інформації. Крейбел пише, що учасники діють за першою ознакою напрямку після такого затишшя, тому перший упевнений вихід із діапазону після стиснення частіше переростає в трендовий день. Stretch відсікає шум біля відкриття: ціна має відійти від діапазону на типову для цього ринку величину.

Другий шар пояснення стосується часу. Ідеальна угода в Крейбела одразу йде в плюс, найкраще вхід у перші 10 хвилин. Що більше часу минуло від відкриття до входу, то нижчий шанс. Якщо після входу ціна стоїть на місці, угода підозріла.

Цифри Крейбела взято з його книги. Ринків і періоду тесту у відео не названо. Пояснення Trader X про зміну режимів волатильності дав ведучий за його логами, сам трейдер правил виходу не розкрив.

Правила

Фільтри стиснення (автор)

// денні бари; день 0 = останній закритий день
R(k) = High[k] - Low[k]

NR4    = R(0) < R(1) AND R(0) < R(2) AND R(0) < R(3)     // вужчий за кожен із трьох попередніх
NR7    = R(0) < R(k) для всіх k = 1..6
Inside = High[0] <= High[1] AND Low[0] >= Low[1]           // Finetiq: рівність екстремумів допускаємо
ID_NR4 = Inside AND NR4                                    // найкращий фільтр за даними Крейбела

R2(k)  = Highest(High, 2)[k] - Lowest(Low, 2)[k]
NR2bar = R2(0) < Lowest(R2, 20)[1]     // найвужчий 2-денний діапазон за 20 днів
R3(k)  = Highest(High, 3)[k] - Lowest(Low, 3)[k]
NR3bar = R3(0) < Lowest(R3, 28)[1]     // 28 днів у відео #14 (27:23);
                                        // у відео #41 (02:25) Джек називає 20 днів. Перевірте обидва
// Finetiq: порівнюємо з вікнами, що закінчилися на днях 1..N, перетин на день допускаємо

Contraction = NR7 OR ID_NR4 OR (Inside AND R(0) < R(k) для k = 1..4)
// автор: ORB ефективний після inside day, вужчого за 4-5 попередніх днів, і після будь-якого NR7

Вхід ORB (автор)

// stretch за 10 попередніми днями
Stretch = Average( MIN(High - Open, Open - Low), 10 )[1]

// день після Contraction
OR_High, OR_Low = максимум і мінімум діапазону відкриття
// Finetiq: довжину діапазону у відео не названо. Стартова версія: перший 5-хвилинний бар,
// варіант для перевірки: ціна відкриття (OR_High = OR_Low = Open)

BuyLevel  = OR_High + Stretch
SellLevel = OR_Low  - Stretch

BUY STOP at BuyLevel
SELL SHORT STOP at SellLevel
// перший виконаний ордер = позиція, другий залишається захисним стопом
Long:  StopLoss = SellLevel
Short: StopLoss = BuyLevel

CANCEL обидва ордери, якщо за 60 хвилин після відкриття жоден не виконано
// Finetiq: автор каже лише, що пізній вхід гірший, а найгірший вхід перед закриттям

ORBp: одна заявка за трендом (автор)

// у ринку з явним напрямком і на будь-якому inside day (автор)
TrendUp   = Close > EMA(Close, 21) AND EMA(Close, 21) > EMA(Close, 21)[5]
TrendDown = Close < EMA(Close, 21) AND EMA(Close, 21) < EMA(Close, 21)[5]
// автор: основний тренд важливіший за все інше. EMA 21 узято з прикладу Джека, нахил за 5 днів Finetiq

IF TrendUp   THEN лише BUY STOP at BuyLevel
IF TrendDown THEN лише SELL SHORT STOP at SellLevel
// захисний стоп ставиться після входу: Long StopLoss = SellLevel
IF ціна спершу дійшла до протилежного рівня THEN CANCEL заявку    // автор

Супровід

// автор: стоп у беззбиток протягом години після входу
IF минуло 60 хвилин після входу
    IF позиція в плюсі THEN StopLoss = EntryPrice
    ELSE EXIT AT NEXT BAR OPEN        // Finetiq: «угода поводиться не як ідеал» трактуємо як вихід

// автор: ціль це рух на 2-3 дні, але переносити лише при суттєвому прибутку наприкінці сесії
IF до кінця сесії 5 хвилин
    IF прибуток у пунктах >= Stretch THEN тримаємо, StopLoss = EntryPrice   // Finetiq: «суттєвий» = один stretch
    ELSE EXIT
IF позиція відкрита 3 дні THEN EXIT на закритті                             // Finetiq

Варіант B. Денний вузький бар у лідері (Джек)

// денні бари; які акції вважати лідерами, вирішує відбір поза сигналом
Trigger = (NR7 OR NR2bar OR NR3bar OR Inside)
          AND бар біля EMA(Close, 10) або EMA(Close, 21)     // автор: найчастіше біля EMA 10 і 21
          // Finetiq: «біля середньої» = Low <= EMA <= High

ADRpct = 100 * (Average(High / Low, 20) - 1)    // автор: 20-денний ADR% без гепів; Finetiq: формула

IF Trigger
    BUY STOP at High[0]                          // автор: через максимум вузького бару
    StopLoss = Low[0]                            // автор
    IF (High[0] - Low[0]) / High[0] * 100 > 2/3 * ADRpct THEN CANCEL   // автор: ризик 1/2-2/3 ADR%
    CANCEL через 3 дні без виконання             // Finetiq

SELL 1/2 (або 1/3) LIMIT at EntryPrice + 1R (або + 2R)     // автор
залишок: EXIT AT NEXT BAR OPEN при Close < EMA(Close, 10) або EMA(Close, 21)   // автор

Варіант C. Монотонне стиснення Trader X

// годинні бари ES і NQ, позиції переносяться через ніч (автор)
Compression = R(0) <= R(1) AND R(1) <= R(2) AND R(2) <= R(3)
// автор: чотири свічки поспіль, кожна не ширша за попередню, остання найвужча
// Finetiq: фразу можна прочитати і як чотири порівняння (п'ять свічок). Перевірте обидва

BUY STOP at High[0] + 1 тік
SELL SHORT STOP at Low[0] - 1 тік              // OCO (автор)
після спрацювання обидва рівні стираються, повторного входу за сетапом немає   // автор
не більше однієї угоди на день на інструмент   // автор
частина великих новин пропускається            // автор, які саме, невідомо

// вихід: в автора волатильнісний трейлінг, формулу підібрати не вдалося
InitialStop = протилежний рівень                         // Finetiq
Trail (long) = Highest(High з моменту входу) - 3 * ATR(14)   // Finetiq: стартове значення
SELL 1/2 LIMIT at EntryPrice + 2R, залишок за Trail          // Finetiq: автор закриває частинами

Параметри

Параметр Значення Звідки
NR4 і NR7 вужчий за 3 і 6 попередніх днів автор
Inside day діапазон усередині вчорашнього автор
Найкращий фільтр ID/NR4 автор
Вікно 2-bar NR 20 днів автор
Вікно 3-bar NR 28 днів (#14) або 20 днів (#41) автор, два значення
Stretch середнє MIN(High − Open, Open − Low) за 10 днів автор
Діапазон відкриття перший 5-хвилинний бар Finetiq
Вікно для входу 60 хвилин від відкриття Finetiq
Фільтр тренду ORBp EMA 21, нахил за 5 днів автор (приклад Джека), нахил Finetiq
Беззбиток протягом години після входу автор
Перенесення позиції прибуток наприкінці дня від одного stretch, до 3 днів Finetiq
Варіант B: ризик не більше 1/2-2/3 ADR% за 20 днів автор
Варіант B: частковий вихід 1/2 або 1/3 на 1R або 2R автор
Варіант B: трейлінг закриття нижче EMA 10 або 21 автор
Варіант C: стиснення 4 свічки, кожна не ширша за попередню автор
Варіант C: таймфрейм і ринки H1, ES і NQ автор
Варіант C: трейлінг 3 × ATR(14) від максимуму Finetiq
Варіант C: частковий вихід 1/2 на 2R Finetiq

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

  1. Головне твердження Крейбела. ORB у дні після Contraction проти ORB у дні після широкого дня (діапазон більший за три або шість попередніх) і проти ORB щодня. Якщо після стиснення результат не кращий, фільтр не працює на вашому ринку.
  2. ID/NR4 проти окремих фільтрів. Порівняйте inside day, NR4 і їхнє поєднання на тому самому вході. Крейбел стверджує, що поєднання краще в 15 тестах із 16.
  3. Околиця stretch. Множник 0, 0.5, 1 і 1.5, вікно 5, 10 і 20 днів. Окремо довжина діапазону відкриття: ціна відкриття, 5, 15 і 30 хвилин. Якщо результат тримається лише на одній комбінації, це підгонка.
  4. Вікно 3-bar NR. 20 днів проти 28. Розбіжність у двох відео Джека дає готовий тест чутливості.
  5. Вихід. Беззбиток через годину проти відсутності беззбитку, проти виходу наприкінці дня і проти перенесення на 2-3 дні. Правило години найсильніше змінює відсоток прибуткових угод.
  6. Trader X і витрати. Три порівняння проти чотирьох, монотонне стиснення проти класичного NR4 на H1. На ES тік коштує $12.50. Додайте по тіку прослизання на кожному стоп-ордері й комісію і подивіться, скільки залишається від середньої угоди.
  7. Варіант B. Поріг ризику 1/2 ADR проти 2/3 і проти відсутності порога. Якщо без порога результат не гірший, фільтр лише скорочує кількість угод.

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

TradingView (Pine Script)

  • Фільтри стиснення і stretch рахуються за денними барами, а вхід на 5-хвилинних. Беріть учорашні значення без зазирання вперед: request.security(syminfo.tickerid, "D", expr[1], lookahead = barmerge.lookahead_on).
  • Денний бар ф'ючерсів CME починається о 18:00 ET попереднього дня. Open, High і Low такого бару це не денна сесія, на якій будується ORB. Для ф'ючерсів рахуйте діапазон, NR і stretch за основною сесією з внутрішньоденних барів.
  • Пара заявок: strategy.entry зі stop і oca_type = strategy.oca.cancel, після входу захисний стоп через strategy.exit(..., stop = sellLevel).
  • Година в угоді на 5-хвилинних барах: bar_index - strategy.opentrades.entry_bar_index(0) >= 12. Якщо вхід і стоп зачеплені однією свічкою, потрібен use_bar_magnifier = true або молодший таймфрейм.

MultiCharts і TradeStation (EasyLanguage)

  • Time це час закриття бару: перший 5-хвилинний бар після відкриття о 09:30 має Time = 935. Денні значення зручно брати з другого потоку (High of Data2).
  • Buy next bar at BuyLevel stop живе один бар, заявки надсилаються заново на кожному барі. Коли позиція відкрита, перестаньте надсилати Sell Short і виставляйте Sell next bar at SellLevel stop. Інакше зустрічна заявка переверне позицію, а в Крейбела другий ордер лише закриває її.
  • NR і stretch залежать від Open, High і Low дня, а вони від шаблону сесії (денна чи цілодобова). Тримайте один шаблон для денного і внутрішньоденного потоку.
  • Правило години на 5-хвилинних барах: If BarsSinceEntry >= 12 then .... Для порядку виконання всередині свічки ввімкніть Bar Magnifier або Look-Inside-Bar.

MetaTrader 5 (MQL5)

  • Денний бар будується за часом сервера брокера, і його Open це північ сервера, а не відкриття біржі. Stretch за таким баром інший. Рахуйте денні значення самі з M5 за біржову сесію.
  • Короткий недільний бар у частини брокерів майже завжди проходить як NR4 і NR7. Це хибні сигнали на понеділок, їх треба виключити.
  • Відкриття 09:30 ET переводьте в серверний час з урахуванням літнього часу. TimeGMT() у тестері дорівнює серверному часу.
  • «Один тік» у Trader X це крок ціни ES (0.25). У CFD на S&P 500 крок інший, беріть SYMBOL_TRADE_TICK_SIZE, а не _Point. OCO і стирання рівнів після входу доведеться писати самим.

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

  • Статистика Крейбела стара і з книги. Ринків, періоду й витрат тесту у відео не названо. Патерни стиснення відтоді стали широко відомими.
  • Крейбел вимагає враховувати весь контекст ринку: тренд, підтримку й опір, характер конкретного інструмента. Механічна версія цього не містить і може працювати гірше за його практику.
  • Результати Trader X охоплюють 25 календарних днів і 20 торгових. Їх показала проп-фірма в рекламному ролику зі знижкою на челендж. Ведучий каже, що за кодом стратегія знаходила й посередні пробої, яких Trader X не брав, тобто відбір сигналів у нього ручний. Формула стопа невідома.
  • Стоп-ордери на пробої біля відкриття виконуються з прослизанням, а спреди в перші хвилини ширші. На частих внутрішньоденних угодах це помітна частка очікування.
  • Варіант B спирається на вибір акцій-лідерів. Які папери вважати лідерами, Джек вирішує сам, і без цього відбору сигнал на випадковій акції може поводитися інакше.

Джерела

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

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

  • За даними книги Крейбела в переказі Джека: угоди ORB у напрямку руху від відкриття після днів стиснення дали $710 000 на 7313 угодах, після днів розширення $102 000 на 7524 угодах. Прибуток приблизно в 7 разів вищий.
  • Там само: у 15 із 16 тестів ORB після ID/NR4 давав вищу ймовірність успіху, ніж ORB у довільний день.
  • Trader X за 25 днів: +50.15%, profit factor 6.84, 61.9% прибуткових угод, відношення прибутку до ризику 4.21. Виплати з кількох funded-рахунків від $47 300 до $102 350 на місяць. Ведучий сам називає результати аномальними.
  • На слайді того самого відео: 12 прибуткових і 8 збиткових днів, profit factor 6.53, максимальна просадка −3.86%, місячний Sharpe 7.06. Profit factor на слайді не збігається з озвученим.

Схожі ідеї

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