Зміст статті

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

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

Дані та ринкиУзгоджені закриття й обсяги одного інструмента та потоку із задокументованою обробкою корпоративних подій. Не поєднуйте спотовий обсяг із цінами безстрокових контрактів без окремого міжринкового експерименту.
Таймфрейми дослідженняДенна та внутрішньоденна версії потребують окремих тестів. Тривалість вікон у цій статті є дослідницькими параметрами, а не оптимізованими рекомендаціями.
Синтетична послідовність OBV має вигляд 0, 10, 2, 2, 22, 13; нижні стовпці показують обсяг стовпця. Вертикальна вісь відображає кумулятивний обсяг зі знаком, а не ціну.Відкрити ілюстрацію в повному розмірі
Оригінальна синтетична ілюстрація. Синтетична послідовність OBV: 0, 10, 2, 2, 22, 13; нижні стовпці показують обсяг стовпця. Вертикальна вісь відображає кумулятивний обсяг зі знаком, а не ціну.

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

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

Напрямок зміни закриття задає знак усьому обсягу бара

Зростання 0.01 та зростання 5 додають повний обсяг бару. Якщо їхній обсяг однаковий, їхній внесок у OBV ідентичний, незважаючи на дуже різну прибутковість. [1] OBV таким чином описує, як активність розподіляється між періодами, класифікованими як зростаючі або падаючі; він не вимірює розмір руху ціни.

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

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

Обчисліть нормалізовану дослідницьку ознаку

Для порівняння інструментів пропонується ділити зміну OBV за 20 барів на сумарний обсяг тих самих 20 внесків. За коректного невід’ємного обсягу й додатного знаменника ознака лежить між −1 та 1. Це нова нормалізована ознака, не початковий рівень OBV. Бари з рівними закриттями дають нуль у чисельнику, але їхній обсяг залишається в знаменнику.

Двадцять внесків зі знаком потребують 21 ціни закриття, включно із закриттям перед вікном. Перевірка лише 20 цін може призвести до від’ємного індексу масиву або неповної першої зміни. Явно вимагайте повного початкового набору та зберігайте пропуски як недоступні значення, не замінюючи їх начебто нейтральним нулем.

Обчислюйте ознаки за завершеними барами або задайте окрему версію реального часу з попередніми даними. Із кожним сигналом зберігайте час відсікання входів і отримання даних. Перегляди корпоративних коригувань можуть змінити історичні знаки, тому разом із результатом указуйте політику коригування та версію набору даних.

obv[0] = 0
for t in 1..last_closed_bar:
    if C[t] > C[t-1]: obv[t] = obv[t-1] + V[t]
    elif C[t] < C[t-1]: obv[t] = obv[t-1] - V[t]
    else: obv[t] = obv[t-1]
if t >= 20 and valid_full_window(t,21) and sum(V[t-19:t+1]) > 0:
    f = (obv[t]-obv[t-20]) / sum(V[t-19:t+1])
else: f = NA

Використовуйте однакові часові позначки для ціни та дивергенції

Візьміть підтверджені мінімуми ціни p1 і p2. Для бичачої дивергенції другий мінімум ціни нижчий за перший, а OBV точно на час другого екстремуму вищий за OBV на час першого. Кандидат існує лише після підтвердження p2. Не обирайте іншу западину OBV заради гарного прикладу; дозволений часовий зсув потребує сталого вікна зіставлення та правила вибору за рівності.

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

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

Приклад послідовного розрахунку та контрприклад

Розгляньте закриття 100, 101, 100, 100, 102 і 101 та обсяги від другого бара 10, 8, 12, 20 і 9. Починаючи з нуля, OBV дорівнює 0, 10, 2, 2, 22 та 13. Бар із незмінним закриттям має обсяг 12, але не змінює OBV. Ілюстрація використовує саме цю послідовність обсягів зі знаком.

Для контрприкладу, ціна падає з 101 до 95 за обсягу 10, потім незначно зростає з 95 до 95.01 за обсягу 100. OBV зростає на чистий 90, хоча ціна залишається майже 6% нижче свого початкового значення. Висновок про те, що тиск покупців відшкодував усі втрати ціни, означав би приписування формулі інформації, якої вона не містить.

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

Вкажіть тестований фільтр прориву

Запропонований базовий варіант фіксує Q як найвищий максимум попередніх 20 барів і вимагає поточного закриття вище Q плюс наперед заданий буфер ATR. Одна гілка вимагає нормалізовану ознаку вище нуля, інша — OBV вище його максимуму за попередні 20 барів. Це окремі експерименти, а не привід перебирати десятки порогів і публікувати найкращий.

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

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

Запитайте, чи обсяг додає інформацію, окрім цінових ознак

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

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

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

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

Колір свічки, що плутається зі знаком OBV

Стандартний знак порівнює сусідні закриття; порівняння закриття з відкриттям задає інший індикатор.

Порівняння рівнів після скидання серій

Довільне початкове значення зміщує лінію, не створюючи економічного сигналу.

Входи за дивергенцією заднім числом

Візуально переконлива пара опорних точок могла бути недоступна на запропонований час входу.

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

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

0/7 пунктів

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

Чи може OBV замінити CVD?

Ні. OBV присвоює знак усьому обсягу бара за зміною закриття; CVD потребує задокументованої класифікації обсягу виконаних угод.

Чи гарантує зростання OBV зростання цін?

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

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

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

  1. On Balance VolumeFidelity. Формула OBV та звичайна інтерпретація дивергенції без тестування запропонованих варіантів на попередніх даних. Перевірено: .
  2. Built-in functions and variables for popular indicatorsTradingView. Документація продукту для вбудованих OBV та MFI, а не підтвердження прибутковості. Перевірено: .
  3. Crypto Wash TradingNBER. Історичні дослідження щодо якості обсягів криптовалют; жодних заяв про універсальний поточний коефіцієнт помилок. Перевірено: .

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

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

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

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

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

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