Индикатор Cumulative buy volume: формула, настройки и чтение

Накопленный объём покупок суммирует агрессивные покупки каждого бара с открытия сессии и выводит их одной растущей линией. Это покупательская составляющая накопленной дельты, показанная отдельно, без вычета продаж.

Senzoukria · Индикаторы · Updated September 2026


Cumulative buy volume Лента и поток, в отдельной панели под графиком.

Что измеряет Cumulative buy volume

Объём покупок суммируется по пригодным уровням каждого бара, затем накапливается от открытия сессии, и накопленная сумма обнуляется в начале каждой новой сессии — по соглашению CME открытие привязано к 17:00 по центральному времени. Уровни без количества ничего не добавляют. Если объём покупок какого-либо бара недоступен, накопленная сумма до конца этой сессии помечается как отсутствующая, а не продолжается молча, потому что неполная сумма занизила бы всё после пропуска; чистую точку отсчёта восстанавливает только открытие следующей сессии. Внутри сессии линия никогда не снижается, поэтому читается её наклон, а не уровень.

Формула — так, как она реализована

Это не привычное определение из других источников, а то, что вычисляет поставляемый код, задокументированное рядом с реализацией:

Cumul intra-session de `pick(bar)` : repart de 0 à CHAQUE ouverture de session CME (`splitSessions` — les tranches couvrent les barres en ordre, le push séquentiel préserve l'alignement barre → point). */ function sessionCumulative( bars: readonly FootprintBar[], pick: (bar: FootprintBar) => number | null, ctx: SeriesContext, ): SeriesPoint[] { const pts: SeriesPoint[] = []; for (const s of splitSessions(bars, ctx)) { let running: number | null = 0; for (let i = s.start; i <= s.end; i++) { const value = pick(bars[i]); // Une jambe de volume absente rend tout le cumul suivant incomplet. // Seule l'ouverture d'une nouvelle séance permet de repartir de zéro. running = running !== null && value !== null ? running + value : null; pts.push({ time: bars[i].bucketTsNs, value: running }); } } return pts; } /** Moyenne + écart-type POPULATION (÷N) des N valeurs STRICTEMENT avant i (fenêtre [i−N, i−1]). `null` tant que la fenêtre n'est pas pleine — une statistique partielle mentirait sur sa période. */ function priorMeanStd( values: readonly number[], i: number, n: number, ): { mean: number; sd: number } | null { if (i < n) return null; let sum = 0; for (let j = i - n; j < i; j++) sum += values[j]; const mean = sum / n; let acc = 0; for (let j = i - n; j < i; j++) { const d = values[j] - mean; acc += d * d; } return { mean, sd: Math.sqrt(acc / n) }; } // ── Defs ──────────────────────────────────────────────────────────────────── /** Volume ACHETEUR cumulé de la session : Σ buyVolume (niveaux exploitables, qty=0 ignoré) depuis l'ouverture CME 17:00 CT, reset à CHAQUE ouverture (`splitSessions`) — la jambe buy du CVD, en absolu.

Как его читать

  • Читайте наклон. Крутой участок означает, что агрессивные покупки приходили быстро; пологий — что они прекратились, даже если цена продолжала двигаться.
  • Сравнивайте с накопленным объёмом продаж на той же панели: расходящиеся линии описывают одностороннее участие, линии, растущие параллельно, — двустороннюю торговлю, которую накопленная дельта показала бы как плоскую.
  • Круче становящаяся линия покупок при застывшей цене — это исходный вариант картины поглощения, и её стоит сверить с футпринтом соответствующих баров.
  • Значение сопоставимо только внутри одной сессии. После обнуления сравнение уровней с предыдущей сессией ничего не значит.
  • Разрыв линии — это пропуск данных до конца сессии, а не падение покупок.

Параметры и значения по умолчанию

Привязка к сессии задана определением и не является параметром, поэтому остаются цвет линии и длина сглаживания. Сглаживание по умолчанию равно 1 и выводит исходную накопленную сумму. Усреднение ряда, который только растёт, в основном смягчает изменения наклона, а именно они и несут информацию, так что менять его редко есть смысл.

Cumulative buy volume — параметры, доступные в приложении, со значениями по умолчанию.
ПараметрТипПо умолчаниюДиапазон
Smoothingnumber11 – 200

Чего он не показывает

Линия считает сделки по стороне агрессора, поэтому исполненная заявка на bid считается продажей, а не покупкой — пассивное накопление здесь не видно. Она ничего не говорит о цене, позиционировании или размере лежащих заявок. Из-за обнуления её нельзя сравнивать между сессиями, а после пропуска данных какого-либо бара она непригодна до конца сессии. На инструментах, активность которых не совпадает с привязанной сессией, обнуление приходится на момент, ничего для них не значащий.

Все индикаторы

Эта страница на других языках

Frequently asked questions

Когда обнуляется накопленный объём покупок?
При каждом открытии сессии. Ряд привязан к границе сессии CME в 17:00 по центральному времени, и в этот момент накопленная сумма возвращается к нулю. Это же единственное событие, которое снимает пропуск: если объём покупок какого-либо бара отсутствует, остаток сессии остаётся без значений.
Чем накопленный объём покупок отличается от накопленной дельты?
Накопленная дельта суммирует покупки минус продажи, поэтому может и расти, и падать. Накопленный объём покупок суммирует только покупки, поэтому внутри сессии никогда не снижается. Раздельный вывод покупок и продаж показывает, чем вызвана плоская дельта — слабым участием или плотной двусторонней торговлей.
Почему линия накопленного объёма покупок обрывается посреди сессии?
Потому что объём покупок одного из баров определить не удалось, и все последующие суммы в этой сессии были бы неполными. Вместо того чтобы продолжать заведомо ошибочное число, ряд остаётся пустым до открытия следующей сессии, которое обнуляет его.

Keep reading