Ідея коротко
Звичайний перетин середніх відповідає «так» або «ні»: швидка вище повільної, отже лонг на повний обсяг. Rob Carver, колишній керівник напряму в Man AHL, використовує ту саму різницю двох середніх як міру сили тренду. Що далі швидка EMA відійшла від повільної відносно звичайної волатильності ринку, то більша позиція. Число переводиться в прогноз: 0 означає відсутність позиції, ±10 середню позицію, ±20 максимум.
Одній парі швидкостей Carver не довіряє. Він торгує шість варіацій перетину, від швидких трендів до повільних, і бере зважене середнє їхніх прогнозів. Позиція перераховується раз на день. Стоп-лоса немає: коли тренд слабшає, середні зближуються, прогноз іде до нуля, і позиція закривається поступово.
Чому це може працювати
Трендслідування на ф'ючерсах Carver вважає премією за ризик, яку може отримати будь-хто, а не секретною неефективністю. Свою перевагу він бачить у двох речах. Перша це диверсифікація: у його книзі проста трендова система на 100 ринках замість одного дає в 4–5 разів кращий результат за того самого сигналу. Друга це безперервна позиція, яка, за його словами, дає гладкіший профіль ризику.
Кілька швидкостей потрібні, бо тренди бувають різної довжини, а заздалегідь вгадати найкращу пару не можна. Усереднення відмовляється від цього вибору. Автор зазначає важливий наслідок: перестановки не потребують додаткового капіталу. Скільки б варіацій не було, на виході одне число й одна позиція на інструмент. Капітал потрібен під кількість інструментів.
Прогноз, виражений числом, слугує ще й стопом. Якщо ціна розвертається проти позиції, швидка середня наближається до повільної, і позиція зменшується раніше, ніж тренд остаточно зламається. Вихід розтягується на кілька днів, як і вхід.
Перевірити, що повільний тренд перестав працювати, на думку автора, майже неможливо. Його оцінка періоду напіврозпаду такого еджу це одне-два десятиліття, і деградація тоне в статистичному шумі.
Правила
Прогноз за однією парою
// денні бари, розрахунок раз на день після закриття
Fast = 16 // Finetiq: довжин автор не назвав
Slow = 4 * Fast // Finetiq: співвідношення 1:4, стартове
Raw = EMA(Close, Fast) - EMA(Close, Slow) // автор: моментум це перетини експоненційних середніх
// Finetiq: нормування, щоб число було порівнянним між ринками й роками
Sigma = StdDev(Close - Close[1], 25) // волатильність денних змін у пунктах ціни
F0 = Raw / Sigma
// автор: прогнози зводяться до середнього абсолютного значення 10 й обрізаються на ±20
Scalar = 10 / Average(|F0|) // Finetiq: середнє лише за минулими барами (зростаюче вікно)
F = max(-20, min(+20, F0 * Scalar))
Шість швидкостей в один прогноз
// автор: шість варіацій перетину від швидких трендів до повільних, зважене середнє
Pairs = (2,8) (4,16) (8,32) (16,64) (32,128) (64,256) // Finetiq: стартовий набір
F_i = прогноз за парою i, у кожної пари свій Scalar
Combined = (F_1 + F_2 + F_3 + F_4 + F_5 + F_6) / 6 // Finetiq: рівні ваги
// усереднення схожих прогнозів опускає середній |Combined| нижче 10
Combined = Combined * K // Finetiq: K повертає середній |Combined| до 10 за минулою історією
Combined = max(-20, min(+20, Combined)) // автор: кап ±20
Позиція
// автор: +10 середня позиція, +20 подвійна, позиція пропорційна прогнозу
AvgPos = Equity * 0.5% / (ATR(25) * PointValue) // Finetiq
Target = round(Combined / 10 * AvgPos)
IF |Target - Position| >= max(1, 0.1 * AvgPos) // Finetiq: зона без угод
торгувати різницю AT NEXT BAR OPEN
// стоп-лоса немає (автор). Позиції немає, коли Target округлився до нуля
Варіант B. Дискретно за тим самим прогнозом
Автор каже, що прогноз можна торгувати й бінарно: за знаком або лише після порогу 5–10.
IF Position <= 0 AND Combined >= +10 BUY AvgPos AT NEXT BAR OPEN // автор: поріг 5 або 10
IF Position >= 0 AND Combined <= -10 SELL SHORT AvgPos AT NEXT BAR OPEN
// Finetiq: із шорта BUY це переворот: шорт закривається, відкривається лонг на AvgPos.
// SELL SHORT із лонга так само. Де зустрічний ордер лише закриває позицію, подвоюйте обсяг ордера
IF Position > 0 AND Combined <= 0 EXIT AT NEXT BAR OPEN // Finetiq
IF Position < 0 AND Combined >= 0 EXIT AT NEXT BAR OPEN // Finetiq
// поріг 0 і одна пара дають звичайний перетин середніх із переворотом
Параметри
| Параметр | Значення | Звідки |
|---|---|---|
| Таймфрейм | денні бари, перерахунок раз на день | автор |
| Тип середніх | експоненційні | автор |
| Кількість пар швидкостей | 6, від швидких до повільних | автор |
| Довжини пар | 2/8, 4/16, 8/32, 16/64, 32/128, 64/256 | Finetiq |
| Нормування | стандартне відхилення денних змін за 25 днів | Finetiq |
| Середній абсолютний прогноз | 10 | автор |
| Кап прогнозу | ±20 | автор |
| Ваги пар | рівні | Finetiq |
| Стоп-лос | немає | автор |
| Середня позиція | 0.5% капіталу на ATR(25) | Finetiq |
| Зона без угод | 10% середньої позиції, мінімум 1 контракт | Finetiq |
| B: поріг входу | знак, +5 або +10 | автор |
| B: вихід | прогноз повернувся до нуля | Finetiq |
Що перевірити
- Безперервно проти бінарно. Одна пара 16/64: безперервна позиція проти повного обсягу за знаком різниці. Дивіться доходність на одиницю ризику, найгірший місяць і оборот.
- Одна пара проти шести. Чи згладжує усереднення криву, чи лише розмиває сигнал. Порівняйте кожну пару окремо й середній прогноз на тих самих ринках.
- Околиця. Співвідношення швидкої й повільної середньої 1:2, 1:4, 1:8; усі довжини ×0.5 і ×2; вікно нормування 25 проти 60 днів. Результат не повинен різко змінюватися від сусідніх значень.
- Заглядання в Scalar. Scalar за всією історією проти зростаючого вікна. Перший варіант знає майбутній розподіл прогнозу й завищує тест.
- Витрати за швидкостями. Швидкі пари (2/8, 4/16) змінюють позицію часто. На кожному ринку порахуйте результат пари після комісії й спреду і виключіть пари, які не окупають витрати.
- Затримка виконання. Сигнал на закритті й виконання на відкритті наступного дня проти виконання днем пізніше. Автор каже, що його денній системі затримка на день не страшна. Перевірте це на своїх ринках.
- Свій розмір рахунку. Тест з округленням до цілих контрактів за вашого капіталу. Автор сам каже, що в невеликого рахунку дрібні зміни прогнозу взагалі не змінюють позицію.
Особливості платформ
TradingView (Pine Script)
- Шість пар використовують вісім різних довжин, від 2 до 256, тому достатньо восьми викликів
ta.ema: у сусідніх пар довжини спільні. Розігрів: найповільніша EMA 256 потребує 3–4 довжини історії, тобто близько чотирьох років денних барів до першої угоди. Історія обмежена тарифом. - Зростаюче середнє |F0| для Scalar накопичуйте у
var-змінних (сума й кількість барів) після розігріву. Функції з фіксованим вікном по всій історії тут не підходять. - Добір через
strategy.entryобмеженийpyramiding, за замовчуванням додаткових входів немає. Надсилайтеstrategy.orderна різницю цільової позиції іstrategy.position_size, обсяг округлюйте самі. - Стандартне відхилення рахуйте від
close - close[1], а не від ціни.
MultiCharts і TradeStation (EasyLanguage)
- EMA:
XAverage(Close, 16). Для пари 64/256 завантажуйте історію на кілька років раніше від початку тесту, інакше перші угоди підуть на неусталених середніх. - Нормування:
StdDev(Close - Close[1], 25). Це генеральне відхилення, як і на інших платформах. - Добір дозволяється у властивостях стратегії, часткове скорочення
Sell N contracts total next bar at market.Sell Shortпри відкритому лонгу перевертає всю позицію одразу. - На склеєному безперервному ф'ючерсі нормування робіть у пунктах, як у правилах. Ділення на ціну на рядах, що пішли до нуля або в мінус, ламається.
MetaTrader 5 (MQL5)
iMA(..., MODE_EMA, ...)потребує окремого хендла на кожну довжину, вісім хендлів на символ. Звірте перші значення з розрахунком за формулою: старт EMA на різних платформах різний.iStdDevрахує відхилення ціни від ковзної середньої, а не розкид денних змін. Для нормування з правил рахуйте стандартне відхилення змін самі.- Неттинг і хеджинг поводяться по-різному при частковому скороченні й перевороті. Обсяг округлюйте до
SYMBOL_VOLUME_STEP, на мінімальному лоті безперервна позиція перетворюється на бінарну. - Денні бари брокера з недільними свічками змінюють і EMA, і волатильність. Перед тестом порівняйте денний ряд із TradingView.
Де ідея може зламатися
- В інтерв'ю автор дав каркас: перетини EMA, шість швидкостей, шкала ±10 і ±20, відсутність стопа. Довжини, нормування, ваги й розмір позиції задали ми. Повні формули автор публікує в книгах і відкритому коді, з інтерв'ю ми їх не звіряли.
- Результат автора отримано на 200+ ф'ючерсах разом із десятком інших правил. Один перетин на одному ринку дає значно шумнішу картину, і автор прямо пов'язує основний виграш із диверсифікацією.
- Повільний тренд може роками не заробляти, і за статистикою це не відрізнити від поломки. Готуйтеся до довгих пласких періодів.
- Малий рахунок: округлення й зона без угод з'їдають безперервність, швидкі пари з'їдають витрати.
- Нормування за волатильністю збільшує прогноз після спокійних періодів, якраз перед сплесками.
- Прогноз перераховується за закриттям. Усередині дня позиція нічим не захищена, і геп проти великої позиції переноситься повністю.