Зміст статті

Докази та сфера застосування

Fidelity пояснює MFI та обмеження крайніх значень; TradingView документує реалізацію індикатора. Ці джерела не дають перевіреної історії торгівлі за запропонованими правилами входу. Дослідження якості даних стосується історичної вибірки бірж, а не кожного поточного потоку. [1] [2] [3]

Дані та ринкиУзгоджені максимум, мінімум, закриття та обсяг одного інструмента. Розрізняйте тиковий обсяг, кількість проторгованого активу й оборот у валюті котирування: зміна ваги змінює ознаку.
Таймфрейми дослідженняДенна та внутрішньоденна версії потребують окремих тестів. Тривалість вікон у цій статті є дослідницькими параметрами, а не оптимізованими рекомендаціями.
Синтетичний ряд MFI перетинає 20 згори вниз, знижується до 12 й лише потім відновлюється. Вертикальна вісь — значення осцилятора від 0 до 100, а не шкала ймовірності.Відкрити ілюстрацію в повному розмірі
Авторська синтетична ілюстрація. Синтетичний ряд MFI перетинає 20 згори вниз, знижується до 12 й лише потім відновлюється. Вертикальна вісь — значення осцилятора від 0 до 100, а не шкала ймовірності.

Практична послідовність дій

Порядок дій: MFI: екстремальні значення, дивергенція та правила без знання майбутнього
Повні кроки наведено нижче. На кожному етапі потрібно записати причину відхилення, якщо бракує даних або не виконано умови.
  1. Перевірити вхідні даніТипова ціна й обсяг належать одному інструменту та одному часу відсікання даних.
  2. Класифікуйте сирий потікВикористовуйте зміни типової ціни з явною обробкою рівних цін.
  3. Обчисліть співвідношенняВимагайте повного вікна спостережень і обробляйте нульовий сумарний потік.
  4. Зачекайте підтвердженняЕкстремум або дивергенція створює кандидата, а не автоматичну угоду.
  5. Перевірте внесок обсягуПорівняйте ідентичних кандидатів з об'ємним зважуванням та без нього.

Не просто перейменований RSI, але й не вимірювання руху капіталу

Типова ціна — TP=(H+L+C)/3. Сирий потік — TP, помножена на обсяг. Класифікуйте його як позитивний при зростанні типової ціни та негативний при падінні. Негативний потік зберігається як невід’ємна величина для відношення, а не від’ємне число, яке віднімають від знаменника. За прийнятим тут правилом незмінна типова ціна не належить до жодної групи.

Обсяг входить до ваги, тому MFI може відрізнятися від RSI, заснованого лише на змінах ціни закриття. [1] Один день із великим обсягом може переважити кілька менших спостережень. Проте MFI — перетворення OHLCV: він не визначає агресивних покупців, надходження до фондів чи інституційні рахунки.

Термін «грошовий потік» може приховувати вибір одиниць. Типова ціна, помножена на кількість базового активу, подібна до номінальної вартості угод. Множення типової ціни на оборот, уже виражений у валюті котирування, додає ще одну цінову вагу. Обидва варіанти обчислювані, але не взаємозамінні. Зберігайте вихідне поле та одиниці разом із налаштуваннями індикатора.

Стабільне співвідношення та явні граничні випадки

Загальна формула — 100−100/(1+P/N), що еквівалентно 100P/(P+N), коли сума додатна. Остання дозволяє уникнути прямого ділення на N, коли N дорівнює нулю. Якщо P додатне, а N дорівнює нулю, MFI дорівнює 100; якщо P дорівнює нулю, а N додатне, то воно дорівнює нулю. Якщо обидва числа дорівнюють нулю, ця стаття повертає недоступні дані.

Для чотирнадцяти класифікованих барів потрібна ще типова ціна попереднього бара, щоб визначити напрямок першого внеску. Тому повний початковий набір для розрахунку містить 15 спостережень OHLC. До підсумовування перевірте пропуски та некоректні поля: відсутній бар не має непомітно ставати спостереженням із незмінною ціною.

Платформи можуть по-різному обробляти однакові типові ціни та початкові значення. Перед порівнянням результатів стратегії звірте невеликий ручний приклад бар за баром. Начебто нешкідлива відмінність правил може зсунути перетин порога на один бар і суттєво змінити внутрішньоденний вхід та відстань до стопа.

Ця версія використовує лише завершені спостереження. Попередній MFI у реальному часі може бути корисним, але потребує окремого визначення події: поточні обсяг, максимум і мінімум ще змінюються. Не можна тестувати остаточне значення й приписувати стратегії раніший вхід усередині того самого бара.

Ця версія вимагає позитивної типової ціни, невід'ємного обсягу та п'ятнадцяти валідних спостережень. Недодатні ф'ючерсні ціни можуть створювати негативний необроблений потік, порушуючи інтерпретацію невід'ємного потоку та діапазон 0–100. У такому випадку поверніть unsupported_price_domain замість того, щоб мовчки приймати абсолютні значення або змінювати вагу.

if not valid_full_window(t,15): return INSUFFICIENT_DATA
for i in t-14..t:
    if not finite(H[i],L[i],C[i],V[i]): return INVALID_DATA
    if not (L[i] <= C[i] <= H[i]) or V[i] < 0: return INVALID_DATA
    TP[i] = (H[i]+L[i]+C[i])/3
    if TP[i] <= 0: return UNSUPPORTED_PRICE_DOMAIN
for i in t-13..t:
    positive[i] = TP[i]*V[i] if TP[i] > TP[i-1] else 0
    negative[i] = TP[i]*V[i] if TP[i] < TP[i-1] else 0
P = sum(positive[t-13:t+1])
N = sum(negative[t-13:t+1])
MFI[t] = NA if P+N == 0 else 100*P/(P+N)
# 14 closed bars plus a previous TP are required.
# No decision uses an unfinished bar.

Приклад розрахунку та невдала спроба визначити дно

Використовуйте три стовпчики, щоб відобразити арифметичні розрахунки, не змінюючи налаштувань стратегії 14-період. Типова ціна безпосередньо перед вікном - 100. Наступні значення - 101, 100 та 102, з обсягами 10, 20 та 10. Позитивний потік P - 1010+1020=2030, а негативний потік N - 2000. MFI - 100×2030/4030, приблизно 50.37.

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

Приклад невдалого розвороту: MFI знижується з 25 до 18, ціна — зі 100 до 97. Покупець, що ввійшов лише через MFI нижче 20, може зазнати збитків при подальшому падінні ціни до 92, поки осцилятор залишається близько 10. Екстремум не доводить виснаження. Так само MFI вище 80 може супроводжувати стійкий висхідний тренд; негайний шорт за кожного перетину — окрема гіпотеза. [1]

У синтетичній ілюстрації зниження навмисно триває після першого значення нижче 20. Тому створення кандидата й підтвердження входу — різні стани. Значення осцилятора не є ймовірністю: MFI на 80 не означає ймовірність 80% певного майбутнього руху.

Окремі версії для розвороту та слідування за трендом

Запропонований розворотний варіант спочатку вимагає MFI нижче 20. Потім він чекає перетину назад вище 20 та закриття вище максимуму попереднього бара в боковому режимі, визначеному за інформацією до події. Вхід — на наступній доступній для виконання події, стоп — під областю події. Якщо підтвердження немає протягом п’яти барів, скасуйте кандидата.

Поріг та час очікування – це налаштування дослідження. Визначте, чи нове нижче значення перезапускає годинник, чи просто оновлює того самого кандидата. Простіший базовий варіант використовує одне фіксоване вікно подій і не перезапускає його повторно, доки не з'явиться переможне відновлення. Записуйте прострочені та недійсні кандидати разом із підтвердженими.

Трендовий варіант зберігає цінову структуру вищих мінімумів, а відкат і відновлення MFI розглядає як додаткову ознаку. Значення нижче 20 не обов’язкове. Оберіть версію до тесту, не називайте ту саму подію трендовою угодою при успіху й поверненням до середнього, коли так зручніше її описати.

Зберігайте чіткі та стабільні правила виходу. Відновлення індикатора не дозволяє розширення структурного стоп-лосса. Фіксована цільова винагорода, трейлінг-вихід та часовий стоп – це різні експерименти; порівнюйте їх, не плутаючи покращення від вибору виходу з покращеннями від фільтра MFI.

Зіставляйте MFI з екстремумами, підтвердженими без знання майбутнього

Нехай p1 і p2 — підтверджені цінові мінімуми. Бичача дивергенція потребує нижчого другого мінімуму ціни, але вищого MFI саме на часових позначках цих екстремумів. Подія доступна при підтвердженні p2, після чого потрібен пізніший ціновий тригер. Пошук мінімального MFI поруч із кожним екстремумом — інший варіант із фіксованими радіусом, затримкою та правилом вибору за рівності.

Наприклад, low1=100 з MFI1=18 та low2=98 з MFI2=28 задовольняють запропоноване порівняння дивергенцій. Якщо p2 потребує двох барів праворуч, чекайте на обидва. Пробій лінії шиї, який стався до підтвердження, не може бути призначений як ретроспективний вхід. Якщо ціна пробиває рівень структурної недійсності до підтвердження входу, скасуйте кандидата.

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

Виділіть внесок обсягу

На тих самих цінових кандидатах порівняйте RSI, MFI та розрахунок MFI зі сталим обсягом. Так відділяються можливі ефекти зважування обсягом, типової ціни й довжини вікна. Оптимізація RSI та MFI на різних непов’язаних вибірках не виділяє ефект додавання обсягу.

Розділяйте перевірку хронологічно; окремо показуйте трендові та бокові режими за мітками, доступними на час рішення. Ураховуйте спред, прослизання й вартість позики для коротких позицій. Відстежуйте недоступні значення, екстремуми без розвороту, скасування, частоту угод, просідання та чисте математичне очікування, а не лише вдалі дивергенції.

Перед інтерпретацією результату перевірте джерело обсягу. Дослідження історичної якості біржі в [3] мотивує перевірки на наявність підозрілої або непослідовної активності; воно не надає універсального поточного коефіцієнта помилок. Стратегію, перевага якої зникає при чистішому потоці даних, слід описувати як чутливу до даних, а не узагальнену для кожного ринку.

Поширені помилки

Купівля за кожного значення нижче 20

Осцилятор може залишатися низьким, поки ціна продовжує падати.

Плутанина негативного потоку з негативною арифметикою

Віднімання знакового від'ємного підсумку змінює бажане співвідношення.

Вхід на непідтвердженій точці розвороту

Пізніші стовпці, необхідні для підтвердження, були недоступні на самому розвороті.

Список перевірки перед застосуванням методу

Позначайте кожен пункт після перевірки на власних даних. Прогрес зберігається в цьому браузері й не засвідчує прибутковість стратегії.

0/8 пунктів

Поширені запитання

MFI — це просто RSI з урахуванням обсягу?

Це пов'язано за духом, але ця формула групує типову ціну, помножену на обсяг, а не зміни ціни закриття. Перевірте відмінності чітко.

Чи ідентифікує MFI гроші, що входять на ринок?

Ні. Він класифікує спостереження за співвідношенням ціни та обсягу та безпосередньо не вимірює потоки за рахунками чи торговельних агресорів.

Джерела дослідження

Кожне джерело підтверджує визначення або докази, описані поруч. Псевдокод, штучні приклади та запропоновані параметри потребують окремої перевірки.

  1. Money Flow IndexFidelity. Визначення MFI, загальна інтерпретація та межі екстремальних значень. Перевірено: .
  2. Pine functions for popular indicatorsTradingView. Документація індикатора Pine без перевіреного торгового запису. Перевірено: .
  3. Crypto Wash TradingNBER. Історичне дослідження якості криптовалютного обсягу; воно не дає універсальної поправки для поточних даних. Перевірено: .

Пов’язані методи

Примітка про ризики

Матеріал призначений для навчання й планування досліджень, а не є фінансовою порадою. Backtest моделює минулі дані, не гарантує майбутніх результатів і не здійснює реальних угод. Методи бібліотеки не обов’язково реалізовані в застосунку. Дивіться методологію і навчальний центр.

Перевірте правила, перш ніж ризикувати реальним капіталом

Перевірте можливості застосунку, дані й кожну змодельовану угоду; складні детектори можуть потребувати окремої реалізації.

Завантажити Backtest в App Store