Money Flow Index — один із небагатьох осциляторів, який вміє «чути» обсяг, а не лише ціну. У класичній літературі межі перекупленості та перепроданості фіксовані: 80 і 20. Для крипто-ф'ючерсів з їхніми хвостами та різкими імпульсами стандартна нижня межа 20 — занадто пізня умова для шорта. На платформі ITradingBot для шорт-сценаріїв застосовується нестандартне налаштування MFI(14, 80/40): нижня межа піднімається з 20 до 40. Нижче розберемо, чому саме так і як зібрати пресет у боті.
Що таке MFI і чим він відрізняється від RSI
Money Flow Index був описаний Джином Куонгом та Авромом Судаком (Gene Quong, Avrum Soudack) у журналі «Stocks & Commodities» 1989 року. Автори взяли формулу RSI і замінили в ній чисту зміну ціни на «грошовий потік» — типову ціну бара (high + low + close) / 3, помножену на обсяг.
Тому MFI часто називають «RSI на обсязі». Логіка та сама: співвідношення позитивного та негативного потоку, шкала 0–100, зони перекупленості/перепроданості. Але сенс сигналу інший:
- RSI реагує на ціну — він не відрізняє рух на порожньому стакані від руху з реальним надходженням коштів.
- MFI вимагає обсягу — без обсягу індикатор просто не зрушиться. Це об'ємний осцилятор, і у нашій внутрішній класифікації він належить саме до цього типу.
Головний практичний наслідок: MFI і RSI не дублюють один одного. RSI вимірює ціновий імпульс, MFI — тиск грошей. Тому пара RSI + MFI в одній стратегії — це термометр і барометр одночасно, два різні виміри однієї і тієї ж події.
Параметри MFI на платформі ITradingBot
| Параметр | Призначення | Діапазон | Стандартне значення |
|---|---|---|---|
| Період | Вікно розрахунку індексу | 2–30 | 14 |
| Верхня межа | Поріг перекупленості | 5–95 | 80 |
| Нижня межа | Поріг перепроданості | 5–95 | 20 |
| Режим | Логіка спрацьовування | За виходом із каналу / За поверненням у канал | За виходом із каналу |
Розрахунок іде за чотирма вхідними рядами: high, low, close, volume — тобто індикатор за визначенням не можна порахувати на тіках без обсягу. На вхідних даних використовується бібліотека TA-Lib: talib.MFI(high, low, close, volume, period=p).
Режимів два:
- За виходом із каналу — сигнал спрацьовує, коли MFI виходить із зони: перетинає нижню межу знизу вгору (лонг) або верхню згори вниз (шорт). Логіка повернення до середнього.
- За поверненням у канал — сигнал спрацьовує, коли MFI входить у зону: перетинає верхню знизу вгору (шорт за перекупленістю) або нижню згори вниз (лонг за перепроданістю). Логіка контртренду «в максимум».
Стандартний MFI(14, 80/20) та його межі
Класичне налаштування прийшло у крипту з акцій та ф'ючерсів на індекси 1990-х. На денному таймфреймі повільних ринків MFI виходить із зони 0–20 нечасто, і кожен такий вихід — справді «крайнє виснаження продавців». Симетрична поведінка працює і зверху: значення вище 80 трапляється достатньо рідко, щоб вважати його сигналом.
У крипто-ф'ючерсах ця симетрія ламається. На 5-хвилинному та годинному таймфреймах біткоїна та ліквідних альтів MFI регулярно проколює 20 і 80 на будь-яких імпульсах, особливо на новинах та каскадних ліквідаціях. Сигнал «MFI вийшов із зони 0–20 вгору» у крипті — це часто не розворот, а пауза посеред падіння, що триває.
Для лонгів це менш критично: вхід після торкання крайньої зони хоча б статистично збігається з локальним дном. Для шортів — катастрофічно. Бот, налаштований шортити «за виходом із зони перекупленості 80», реагує на верхню межу нормально. А ось фільтр «не шортити нижче 20» у стандартному налаштуванні означає: бот шортитиме аж до значень MFI = 21–25, тобто у самий розпал уже відбутого падіння. Це і є «шорт у дно».
Чому 20 — занадто жорсткий поріг для шорта
Логіка стандартного фільтра «нижня межа 20» така: заборона на шорт активується, коли MFI нижче 20 (ринок уже глибоко перепроданий). Поки MFI вище 20 — шорт дозволено.
У крипті це формулювання пропускає величезне «сіре поле» 20–40, у якому ринок уже сильно складено за обсягом, але формально у зоні перепроданості ще не перебуває. Що відбувається у цьому діапазоні:
- Покупці починають локально відкуповувати дно — але ціна ще не встигла зреагувати.
- Обсяг продажів знижується, формується бичаче поглинання.
- При плечі ×5+ ризик ліквідації зростає експоненційно, і невдалий шорт у цій зоні закривається з маржин-колом, а не з мінусом за метою.
Піднімаючи нижню межу з 20 до 40, ми розширюємо «заборонну для шорта» зону. Бот шортитиме лише при MFI вище 40, тобто лише коли тиск продавців ще не видихнувся. Сигналів менше — але кожен з них значно якісніший.
MFI(14, 80/40) — модифікація ITradingBot
У FAQ платформи це правило сформульоване прямо: для шорта потрібно вручну змінити нижню межу індикатора з 20 на 40. За замовчуванням MFI забороняє шорт нижче 20 — це і є точка, яку треба підняти.
Алгоритм дій у боті:
- У стратегії додати фільтр або вхід MFI.
- Період — 14 (стандарт), верхня — 80 (без змін), нижня — 40 замість 20.
- Режим — «За виходом із каналу», якщо шорт будується на відскоці від перекупленості; «За поверненням у канал», якщо шорт ловиться «у максимум».
- Прогнати на бектесті мінімум на 3–6 місяцях історії.
Головне — не плутати фільтр і вхід. MFI можна поставити і як індикатор входу, і як фільтр поверх іншого входу (наприклад, входу за перетином EMA або за виходом із верхньої смуги Боллінджера). Межа 40 застосовується однаково в обох випадках: завдання фільтра — відсікати шорти, випущені «в уже відіграний рух».
Готові пресети з MFI
У бібліотеці стратегій ITradingBot уже є конструкції з MFI — їх можна брати як відправну точку:
1. %B + MFI (подвійне підтвердження за Боллінджером), 4h. Вхід за виходом із нижньої смуги Боллінджера(20, 2). Фільтри: MFI(10, 80/20) — для лонга дозволяє вхід лише при MFI нижче 20; MFI «за зростанням/зниженням» — лонг лише коли MFI починає рости; EMA(100); фандинг нижче 0.01%. Вихід — верхня смуга BB та MFI ≥ 70. Це класичний лонг-пресет; для дзеркального шорта піднімаємо нижню межу MFI до 40.
2. BB Double Bottom (W-патерн), 4h. Лінії Боллінджера(20, 2), вхід за виходом із каналу. Фільтри включають MFI(14) «за зростанням/зниженням» — на розворот грошового потоку на користь покупців. Обсяг бара нижче середнього — тиск продавців послаблюється.
3. Обсяг як обов'язковий шар фільтрації. У методології платформи передбачено стандартний набір шарів стратегії: вхід, режим ринку, тренд, волатильність, фільтр обсягу (MFI / OBV / За обсягом $) — для пробійних стратегій, вихід. MFI тут — той самий фільтр шостого шару.
Чому це працює
Три причини, через які модифікація 80/40 для шорта статистично переважніша за 80/20:
- Обсяг підтверджує рух. Пробій без обсягу — підозрілий пробій. MFI або OBV у пробійних стратегіях доречні як фільтр; для шорта ми фактично вимагаємо, щоб тиск продавців ще не «видихнувся» до моменту входу.
- Різні типи — потенційне доповнення. Трендовий або ціновий сигнал на вході + об'ємний фільтр на MFI — це два незалежні виміри. Не дублювання, як було б із парою RSI + Stochastic.
- Межа 40 прибирає «сіру зону». У діапазоні MFI 20–40 крипторинок частіше відкуповується, ніж падає далі. Шорт у цьому діапазоні — від'ємне матсподівання на довгій дистанції.
Слабкі сторони MFI і де він не працює
Чесний список обмежень, без яких не можна:
- Низький обсяг спотворює сигнал. На неліквідних альтах та у нічні години MFI стрибає на тонкому стакані — межі пробиваються на порожньому місці. Для ілюзорних альтів фільтр марний, і тут краще перемикатися на цінові осцилятори.
- MFI запізнюється на сильних трендових ривках. При довгому імпульсі індикатор «прилипає» до межі 80 і сидить там годинами. Шорт «за поверненням у канал» у такі моменти віддає серію збиткових входів доти, доки рух не видихнеться.
- Межа 40 — не магія. Вона скорочує кількість угод і відсікає пізні шорти, але не перетворює збиткову стратегію на прибуткову. Якщо базовий сигнал поганий, фільтр MFI його не витягне.
- Пара з RSI — найкраща, але не обов'язкова. RSI та MFI один одного доповнюють, але додавати три і більше осциляторів в одну стратегію — шлях до переоптимізації. Достатньо одного входу та одного-двох фільтрів.
Які таймфрейми підходять
MFI вимагає достатньо «товстих» барів, щоб обсяг у кожному з них був статистично значущим. Робочі таймфрейми:
- 4h, 1D — оптимум. На денках MFI(14) дає 1–3 сигнали на тиждень на ліквідному інструменті, і кожен із них спирається на накопичений обсяг.
- 1h — робочий, але потребує фільтра режиму ринку (ADX або волатильність).
- 15m — на межі. Межа 40 тут особливо важлива: на 15-хвилинках стандартна 20 пробивається на будь-якому мікро-імпульсі.
- 5m і нижче — не для MFI. Обсяг в одній свічці занадто малий, щоб індикатор був осмисленим. Краще використовувати подієві індикатори (Імпульс 2.0, фандинг).
Приклад збирання шорт-пресета
Конкретний шорт-пресет на BTCUSDT, 4h:
- Вхід: MFI(14, 80/40), режим «За виходом із каналу». Шорт спрацьовує при перетині MFI вниз через 80 — стандартна умова перекупленості.
- Фільтр режиму: ADX(14), поріг 20, умова «вище порога» — торгуємо лише у трендовому контексті.
- Фільтр тренду: EMA(200) на денному ТФ, ціна нижче EMA(200) — шортимо лише у спадному макро-контексті.
- Фільтр обсягу: обсяг поточного бара вище середнього × 1.3 — пробій 80 підкріплений реальною активністю.
- Вихід 1: MFI(14, 70/40) «за поверненням у канал» — закриття, коли MFI заходить нижче 40 (тиск продавців ще є, але мету досягнуто).
- Вихід 2: EMA(21), ціна закривається вище EMA(21) — захисний вихід на зміні короткострокового тренду.
Перед бойовим запуском — бектест мінімум на 3–6 місяцях історії, бажано із захопленням і трендової, і бічної ділянки ринку. Sharpe важливіший за абсолютну дохідність: 30% річних при просадці 15% краще, ніж 50% при просадці 80%.
Готовий протестувати?
На безкоштовному тарифі Free платформи ITradingBot можна зібрати пресет із MFI та прогнати на бектесті — всі індикатори доступні без обмеження за часом. Системна підготовка з роботи з об'ємними осциляторами — у відеокурсі або груповому потоці на itb.school.
Перед бойовим запуском — бектест мінімум на 3–6 місяцях історії.
Фінал
Money Flow Index — це не «покращений RSI», а індикатор іншої природи: він вимірює гроші, а не ціну. Стандартне налаштування 80/20 прийшло з епохи, коли крипто-ф'ючерсів не існувало у принципі. Для шорта в крипті межа 20 занадто терпима — вона пропускає сигнали у зоні 20–40, де ринок уже статистично розвертається. Піднімаючи нижню межу до 40, ми перетворюємо MFI на чесний фільтр перекупленості: менше угод, більше якості, жодного «шорта у дно».