Ідея коротко
Класичний пробій бінарний. Поки ціна всередині каналу, позиції немає. Торкнулася краю, відкривається весь обсяг. Повернулася, стоп закриває позицію повністю. Rob Carver, колишній керівник напряму в Man AHL, торгує пробій інакше. Він переводить положення ціни в діапазоні в число від −20 до +20 і тримає позицію, пропорційну цьому числу.
Ціна в середині діапазону дає 0, позиції немає. На півдорозі від середини до максимуму прогноз +10, це середня позиція. Біля самого максимуму +20, позиція вдвічі більша за середню, далі вона не зростає. При відкаті прогноз знижується, і позиція скорочується поступово, а нижче середини переходить у шорт. Стоп-лоса немає, його роль грає сам прогноз.
Правило входить до поточного набору автора: у випуску подкасту Odds on Open (відео опубліковано постом в X) Carver описує його так само: позиція зростає в міру наближення ціни до краю діапазону.
Чому це може працювати
Пробій ставить на те, що ринок зрушив і продовжить рух. Carver відносить його до тієї самої групи, що й моментум, і оцінює кореляцію з моментум-правилами близько 80%. Його претензія до класичного варіанта в тому, що до краю діапазону система взагалі не має думки, а на краю думка одразу максимальна. Безперервна шкала дає позицію, пропорційну силі сигналу, і вхід із виходом стають поступовими.
Переваги, які називає автор: гладкіший профіль ризику й у підсумку вища доходність, а у великого рахунку ще й менші витрати. Фонду не доводиться разом купувати сотні контрактів і так само разом продавати їх на стопі. Цифр за цим правилом він не наводить. Свій прибуток загалом Carver описує як премію за ризик, доступну всім, а не як знайдену ним неефективність.
У маленького рахунку є застереження, про яке автор каже сам. Коли середня позиція це пара контрактів, дрібні зміни прогнозу не змінюють кількість контрактів, і безперервна торгівля частково перетворюється на бінарну.
Правила
Прогноз за положенням у діапазоні
// денні бари, розрахунок один раз на день після закриття
N = 80 // Finetiq: довжину вікна автор не назвав
Hi = Highest(High, N) // Finetiq: з поточним баром, щоб Close лежав усередині діапазону
Lo = Lowest(Low, N)
P = (Close - Lo) / (Hi - Lo) // 0 біля мінімуму, 0.5 у середині, 1 біля максимуму
RawF = 40 * (P - 0.5)
// автор: середина 0, півдороги до максимуму +10, максимум +20.
// Finetiq: між цими точками беремо пряму лінію
F = max(-20, min(+20, RawF)) // автор: кап ±20 (за такого розрахунку виконується сам)
// Finetiq, за бажанням: згладити прогноз, щоб позиція не смикалася щодня
// F = EMA(F, N / 4) // в інтерв'ю згладжування немає
Позиція з прогнозу
// автор: +10 це середня позиція, +20 подвійна, позиція пропорційна прогнозу
AvgPos = Equity * 0.5% / (ATR(25) * PointValue) // Finetiq: середня позиція через ризик
Target = round(F / 10 * AvgPos) // цілі контракти або крок лота
// Finetiq: зона без угод, щоб не ганяти ±1 контракт щодня
Buffer = max(1, 0.1 * AvgPos)
IF |Target - Position| >= Buffer
торгувати різницю AT NEXT BAR OPEN
// стоп-лоса немає (автор): при відкаті F падає, позиція скорочується,
// нижче середини діапазону F < 0, і позиція йде в шорт.
// позиції немає, коли Target округлився до нуля (автор)
Варіант B. Дискретна торгівля за тим самим прогнозом
Carver сам каже в тому ж випуску, що прогноз можна торгувати бінарно: за знаком або лише після порогу 5–10. Так простіше за маленького рахунку, і це пряме порівняння з безперервною версією.
Size = AvgPos // Finetiq: фіксований обсяг
IF Position <= 0 AND F >= +10 BUY Size AT NEXT BAR OPEN // автор: поріг 5 або 10
IF Position >= 0 AND F <= -10 SELL SHORT Size AT NEXT BAR OPEN
// Finetiq: із шорта BUY це переворот: шорт закривається, відкривається лонг на Size.
// SELL SHORT із лонга так само. Де зустрічний ордер лише закриває позицію, подвоюйте обсяг ордера
IF Position > 0 AND F <= 0 EXIT AT NEXT BAR OPEN // Finetiq: вихід у середині діапазону
IF Position < 0 AND F >= 0 EXIT AT NEXT BAR OPEN // Finetiq
// поріг +20 означає закриття на максимумі вікна: це майже класичний пробій каналу
Параметри
| Параметр | Значення | Звідки |
|---|---|---|
| Таймфрейм | денні бари, перерахунок раз на день | автор |
| Шкала прогнозу | 0 у середині, +10 на півдорозі до максимуму, +20 біля максимуму | автор |
| Кап прогнозу | ±20 | автор |
| Стоп-лос | немає, вихід через прогноз | автор |
| Вікно діапазону N | 80 днів, перевіряти 20–320 | Finetiq |
| Форма між точками автора | пряма лінія | Finetiq |
| Згладжування прогнозу | немає або EMA N/4 | Finetiq |
| Середня позиція | 0.5% капіталу на ATR(25) | Finetiq |
| Зона без угод | 10% середньої позиції, мінімум 1 контракт | Finetiq |
| B: поріг входу | +5 або +10, для шорта −5 або −10 | автор |
| B: вихід | прогноз повернувся до нуля | Finetiq |
Що перевірити
- Безперервно проти дискретно. Одне вікно N, три режими: безперервна позиція, варіант B з порогом 10 і класичний пробій (поріг 20). Порівнюйте доходність на одиницю ризику, просадку й оборот.
- Свій розмір рахунку. Проженіть тест з округленням до цілих контрактів за вашого реального капіталу. Якщо середня позиція 1–2 контракти, порахуйте, скільки днів позиція справді змінювалася. З дробовими контрактами тест покаже гладкість, недоступну на рахунку.
- Вікно N. 20, 40, 80, 160, 320 днів. Сусідні вікна мають давати схожий результат. Автор торгує кілька варіацій кожного правила й усереднює прогнози: порівняйте одне вікно із середнім прогнозом трьох вікон.
- Витрати. Позиція змінюється майже щодня. Порахуйте кількість угод на рік і закладіть прослизання на кожну зміну. Порівняйте три версії: без зони без угод, із зоною, зі згладжуванням EMA N/4.
- Відсутність стопа. Подивіться на найгірші дні, наприклад геп проти позиції за прогнозу +20. Порівняйте з тим самим правилом і аварійним стопом на 3–4 ATR.
- Кореляція з моментумом. Автор називає близько 80%. Порахуйте кореляцію денного результату з перетином середніх із картки
ma-cross-continuous-forecast. Якщо вище 0.9, друге правило мало що додасть у портфель. - Багато ринків. Ефект в автора створює портфель із 200+ ф'ючерсів. Проженіть одні параметри на 20–30 ринках і дивіться медіану.
Особливості платформ
TradingView (Pine Script)
- Для положення в діапазоні потрібен діапазон із поточним баром:
ta.highest(high, N)іta.lowest(low, N)без[1]. Тоді P лежить від 0 до 1, і прогноз сам не виходить за ±20. - Добір позиції через
strategy.entryобмежений параметромpyramidingуstrategy(), за замовчуванням додаткових входів немає. Без цього налаштування зростання позиції від +10 до +20 мовчки не відбудеться. Простіше рахувати цільовий обсяг і надсилатиstrategy.orderна різницю зіstrategy.position_size, потім звірити список угод. - Округлюйте обсяг самі (
math.round). Інакше тест піде дробовими контрактами. ta.atrзгладжує за Вайлдером. Середня позиція відрізнятиметься від EasyLanguage і MQL5, де ATR це просте середнє.
MultiCharts і TradeStation (EasyLanguage)
- Добір в один бік дозволяється у властивостях стратегії (кілька входів в одному напрямку). За замовчуванням повторний
Buyпри відкритій позиції не виконується. - Часткове скорочення:
Sell N contracts total next bar at market.Sell Shortпри відкритому лонгу перевертає всю позицію одразу, тому поступовий перехід через нуль робіть у два кроки: спочатку скорочення лонга, потім вхід у шорт. - Положення в діапазоні не залежить від масштабу ціни, тому воно коректне й на склеєному (back-adjusted) безперервному ф'ючерсі, навіть якщо ряд пішов у мінус. Розмір позиції рахуйте за ATR у пунктах, а не у відсотках від ціни.
AvgTrueRangeце просте середнє TrueRange.
MetaTrader 5 (MQL5)
- На неттинговому рахунку одна позиція на символ: скорочення й переворот робляться угодами у зворотний бік на різницю обсягу. На хеджинговому кожна угода відкриває окрему позицію, і закривати доведеться конкретні позиції.
- Обсяг округлюйте до
SYMBOL_VOLUME_STEPі не нижчеSYMBOL_VOLUME_MIN. На мінімальному лоті безперервна версія перетворюється на бінарну. - Середня позиція з ризику:
SYMBOL_TRADE_TICK_VALUEіSYMBOL_TRADE_TICK_SIZE. - Денні бари CFD будуються за сервером брокера, недільні бари спотворюють діапазон і ATR. Своп списується щоночі, а система тримає позиції тижнями: закладіть його в тест.
Де ідея може зламатися
- В інтерв'ю автор описав переведення ціни в прогноз на одному прикладі. Довжину вікна, форму між точками, згладжування, розмір середньої позиції й зону без угод задали ми.
- Результатів цього правила автор не показує. Перевагу безперервної торгівлі він описує словами.
- Ефект в автора створюють 200+ ринків і 80–100 перестановок правил, зведені в одне число. Одне вікно на одному ринку дасть значно шумніший результат.
- Малий рахунок. Округлення з'їдає безперервність, а часті зміни позиції додають витрати. Виграш у витратах, за словами автора, дістається переважно великому рахунку.
- Стоп-лоса немає, і позиція реагує лише на денні закриття. Якщо за день ціна різко йде проти позиції, прогноз знизиться лише на наступному закритті, а скорочення пройде на відкритті наступного бару. Внутрішньоденний стоп обмежив би такий збиток за плавного руху, але від гепу через рівень стопа не захищає і він.
- Розмір позиції зростає в спокійні періоди: за низького ATR середня позиція велика, і сплеск волатильності застає систему з великою позицією.