Индикатор 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 и выводит исходную накопленную сумму. Усреднение ряда, который только растёт, в основном смягчает изменения наклона, а именно они и несут информацию, так что менять его редко есть смысл.
| Параметр | Тип | По умолчанию | Диапазон |
|---|---|---|---|
| Smoothing | number | 1 | 1 – 200 |
Чего он не показывает
Линия считает сделки по стороне агрессора, поэтому исполненная заявка на bid считается продажей, а не покупкой — пассивное накопление здесь не видно. Она ничего не говорит о цене, позиционировании или размере лежащих заявок. Из-за обнуления её нельзя сравнивать между сессиями, а после пропуска данных какого-либо бара она непригодна до конца сессии. На инструментах, активность которых не совпадает с привязанной сессией, обнуление приходится на момент, ничего для них не значащий.
Похожие индикаторы
- Tape Speed — Лента и поток
- Diagonal Imbalances — Лента и поток
- Stacked Imbalances — Лента и поток
- Absorption Score — Лента и поток
- Unfinished Auctions — Лента и поток
- Effort vs Result — Лента и поток
Эта страница на других языках
Frequently asked questions
- Когда обнуляется накопленный объём покупок?
- При каждом открытии сессии. Ряд привязан к границе сессии CME в 17:00 по центральному времени, и в этот момент накопленная сумма возвращается к нулю. Это же единственное событие, которое снимает пропуск: если объём покупок какого-либо бара отсутствует, остаток сессии остаётся без значений.
- Чем накопленный объём покупок отличается от накопленной дельты?
- Накопленная дельта суммирует покупки минус продажи, поэтому может и расти, и падать. Накопленный объём покупок суммирует только покупки, поэтому внутри сессии никогда не снижается. Раздельный вывод покупок и продаж показывает, чем вызвана плоская дельта — слабым участием или плотной двусторонней торговлей.
- Почему линия накопленного объёма покупок обрывается посреди сессии?
- Потому что объём покупок одного из баров определить не удалось, и все последующие суммы в этой сессии были бы неполными. Вместо того чтобы продолжать заведомо ошибочное число, ряд остаётся пустым до открытия следующей сессии, которое обнуляет его.