Зміст статті

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

Sierra Chart описує Numbers Bars і діагональні порівняння обсягів bid/ask. Класифікація TradingView за внутрішньобарним напрямком ціни не є автоматично біржовою міткою агресора. Bybit дає приклад поля сторони тейкера. Прибутковість пропонованого порогу 3× тут не підтверджена. [1] [2] [3]

Дані та ринкиПотрібні виконані угоди з часом, ціною, кількістю й документованою стороною або явно позначена оцінка за внутрішньобарними даними. Знімки очікувальних заявок у стакані — інший тип даних, не заміна історії виконань.
Таймфрейми дослідженняДенна та внутрішньоденна версії потребують окремих тестів. Тривалість вікон у цій статті є дослідницькими параметрами, а не оптимізованими рекомендаціями.
Шість синтетичних цінових рядків містять три сусідні дисбаланси ask: 120, 80 та 40 порівнюються діагонально з обсягами bid 40, 20 та 10, виконуючи поріг відношення 3× і мінімум 30 одиниць.Відкрити ілюстрацію в повному розмірі
Авторська синтетична ілюстрація. Шість синтетичних цінових рядків містять три сусідні дисбаланси ask: 120, 80 та 40 порівнюються діагонально з обсягами bid 40, 20 та 10, виконуючи поріг відношення 3× і мінімум 30 одиниць.

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

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

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

Обсяг ask зазвичай означає угоди покупців за ask; обсяг bid — угоди продавців за bid. Якщо біржа дає поле сторони тейкера, дотримуйтеся його схеми. Для класифікації за котируваннями чи тиковим правилом зберігайте метод і категорію «невідомо». У прочитаному джерелі Bybit publicTrade.S позначає сторону тейкера — покупця або продавця, що забирає ліквідність. [3]

Footprint TradingView класифікує спостереження за напрямком ціни всередині бару; доступна історична деталізація різниться. [2] Мітки buy і sell можуть мати різний зміст на платформах. Зелена свічка з від’ємною класифікованою дельтою не обов’язково помилка: зміна від відкриття до закриття й підсумки виконань зі знаком відповідають на різні питання.

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

Відокремте діагональні порівняння від відношень одного рядка

У порівнянні Sierra Chart обсяг ask за ціною p порівнюють з обсягом bid на нижчій сусідній ціні; bid на p — з ask на вищій. [1] Тут рядок завширшки один тик; бичачий дисбаланс вимагає ask[p] щонайменше 3×bid[p−tick], ask[p] щонайменше 30 одиниць і додатного знаменника bid.

Три сусідні придатні рядки утворюють пропонований стек дисбалансу. Відношення, мінімум обсягу й довжина — дослідницькі параметри, не універсальні константи. Задайте одиницю кількості: 30 ф’ючерсних контрактів, акцій або одиниць криптовалюти мають різний економічний зміст.

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

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

for p in ordered_price_rows(closed_bar):
    a = ask_volume.get(p, 0)
    b = bid_volume.get(p-tick, 0)
    eligible[p] = b > 0 and a >= 30
    buy_imbalance[p] = eligible[p] and a >= 3*b
runs = consecutive_true_rows(buy_imbalance)
stack = first((run for run in runs if len(run) >= 3), default=None)
if stack is not None:
    zone_low, zone_high = row_bounds(stack)
    signal_available_at = closed_bar.received_at

Обчислення з шести рядків та недійсний кластер

Синтетичні обсяги bid/ask: 40/10 на 100.00, 20/120 на 100.25, 10/80 на 100.50, 12/40 на 100.75, 9/15 на 101.00 та 8/10 на 101.25. Ask 120 на 100.25 порівнюється з bid 40 на 100.00, даючи 3×. Ask 80 проти bid 20 дає 4×; ask 40 проти bid 10 теж дає 4×.

Ці три сусідні рядки проходять і відношення, і мінімум 30 одиниць. Ask 15 на 101.00 не проходить мінімум, навіть якщо менший знаменник дав би велике відношення. На рисунку саме ці числа, тож серію можна перевірити вручну.

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

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

Продовження та невдача потребують різних кінцевих автоматів

Для запропонованого продовження довгої позиції потрібний пробій раніше замороженого цінового рівня, закриття вище регіону та кваліфікаційний стек покупок. Зачекайте першого ретестування в межах п'яти барів, що утримує zone_low, потім закриття вище максимуму ретестового бару. Увійдіть у наступну виконувану подію та розмістіть стоп-лосс нижче zone_low із заздалегідь визначеним буфером. Скасуйте, якщо ціна закриється нижче zone_low перед підтвердженням.

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

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

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

Історичне відтворення має збігатися з агрегованими даними в реальному часі

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

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

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

Для рішень із мережевою затримкою використовуйте час отримання. Час біржі впорядковує події, але не доводить отримання трейдером. Моделюйте затримки доставки й повідомлення, що прийшли не за порядком, перевіряючи відтворюваність сигналу за закриттям.

Перевірте, чи додає стек більше, ніж просто великий обсяг

На тих самих пробоях порівняйте відсутність footprint-фільтра, лише загальний обсяг, лише дельту й стек дисбалансу. Тримайте входи й виходи сталими або окремо досліджуйте час угоди та відбір подій. Стеки часті в активних барах: перевірте додаткову інформацію від розташування за цінами понад загальну активність.

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

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

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

Вважати зелені клітинки гарантією зростання

Агресивні покупки можуть зустрітися зі значними пасивними продажами; цінова реакція все ще має значення.

Відновлювати весь стакан очікувальних заявок

Footprint описує виконання, не кожну чинну заявку чи місце в черзі.

Тестувати наближення, торгувати за іншим потоком даних

Різна роздільна здатність та класифікація можуть змінювати сигнали, навіть якщо діаграми виглядають схожими.

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

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

0/8 пунктів

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

Чи означає дисбаланс 300% ймовірність виграшу 75%?

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

Чи можна відновити точний footprint зі звичайних OHLCV?

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

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

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

  1. Numbers BarsSierra Chart. Визначення обсягу bid/ask та діагональних порівнянь у Numbers Bars. Перевірено: .
  2. Volume footprint charts: a complete guideTradingView. Класифікація цін за напрямком руху всередині бару та обмеження історичної деталізації. Перевірено: .
  3. Public TradeBybit. Ідентифікатори торгів, часові позначки та схема на стороні тейкера; жодних заяв щодо ефективності стратегії. Перевірено: .

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

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

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

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

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

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