Индикатор Delta at High: формула, настройки и чтение

Delta at High измеряет давление ордерфлоу только в верхних тиках бара, а не во всём баре. Индикатор суммирует объём покупок минус объём продаж по всем ценовым уровням в окне, отсчитываемом в тиках вниз от максимума бара, — по умолчанию три тика, — чтобы было видно, кто торговал на экстремуме, а не в среднем.

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


Delta at High Дельта, в отдельной панели под графиком.

Что измеряет Delta at High

Результат — чистое количество контрактов, а не отношение: в окне каждый уровень даёт сделки, снявшие предложение, минус сделки, ударившие в bid, а итог по окну рисуется одним значением гистограммы на бар. Окно задаётся в тиках вниз от максимума и никогда — в числе уровней, поэтому бар, напечатавший лишь несколько разрозненных цен, не расширяет незаметно измеряемую зону. Перед суммированием ценовые уровни агрегируются по целочисленному ключу тика, так что две записи потока, попавшие на один тик, считаются одним уровнем. Если размер тика инструмента неизвестен или в баре нет пригодного уровня, бар не даёт точки вовсе, а не подставленный ноль.

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

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

Points d'histogramme : `f` rend `null` quand la barre n'a pas d'information — la barre n'émet alors PAS de point (contrat `HistogramPoint` : pas de trou, pas de valeur inventée). */ function histPoints( bars: readonly FootprintBar[], f: (bar: FootprintBar, i: number) => number | null, ): HistogramPoint[] { const out: HistogramPoint[] = []; for (let i = 0; i < bars.length; i++) { const v = f(bars[i], i); if (v !== null) out.push({ time: bars[i].bucketTsNs, value: v }); } return out; } function histOut( points: HistogramPoint[], positiveColor: string, negativeColor: string, ): SeriesOutput { return { shape: "histogram", points, positiveColor, negativeColor }; } /** Un niveau de la barre indexé par sa CLÉ ENTIÈRE (indice de tick quand le tick est connu, quantification 1e-6 sinon — canon : jamais de clé f64). */ type KeyedLevel = { key: number; price: number; buy: number; sell: number; }; /** Niveaux EXPLOITABLES de la barre (canon : qty = 0 et prix non fini exclus), agrégés par clé de prix et rendus en ordre ASCENDANT de prix. L'agrégation par clé est indispensable : deux entrées `levels` au même prix (source qui n'a pas fusionné, ou deux prix distincts qui tombent sur le même tick) ne doivent compter QUE POUR UN niveau — sinon `level-count`, `volume-per-level` et la garde `unique_levels ≥ 2` de l'absorption mentent. / function barLevelsByKey( bar: FootprintBar, tickSize: number | null, ): KeyedLevel[] { const byKey = new Map<number, KeyedLevel>(); for (const lvl of usableLevels(bar)) { const key = priceKey(lvl.price, tickSize); const cur = byKey.get(key); if (cur !== undefined) { cur.buy += lvl.buyVolume; cur.sell += lvl.sellVolume; } else { byKey.set(key, { key, price: lvl.price, buy: lvl.buyVolume, sell: lvl.sellVolume, }); } } return [...byKey.values()].sort((a, b) => a.key - b.key); } /** Delta des N ticks d'un BORD de la barre. bord haut : Σ (buy − sell) des niveaux de clé > maxKey − N bord bas : Σ (buy − sell) des niveaux de clé < minKey + N « N ticks » exige la grille de l'instrument : tick size inconnu → null (on ne convertit JAMAIS un nombre de ticks en nombre de niveaux, une barre creuse ferait diverger les deux). Barre sans niveau exploitable → null. / function edgeDelta( bar: FootprintBar, tickSize: number | null, topTicks: number, edge: "high" | "low", ): number | null { if (tickSize === null || !(tickSize > 0)) return null; const lvls = barLevelsByKey(bar, tickSize); if (lvls.length === 0) return null; const n = Math.max(1, Math.floor(topTicks)); const minKey = lvls[0].key; const maxKey = lvls[lvls.length - 1].key; let delta = 0; for (const lvl of lvls) { const inside = edge === "high" ? lvl.key > maxKey - n : lvl.key < minKey + n; if (inside) delta += lvl.buy - lvl.sell; } return delta; } /** Value Area d'UNE barre (profil de la seule barre courante), algorithme Steidlmayer canonique via `valueArea`. La marche ±1/±2 est en INDICES DE TICK : sans tick size les clés sont quantifiées 1e-6 et « 2 ticks » n'aurait aucun sens → null (canon : dégrader, jamais inventer). */ function barValueArea( bar: FootprintBar, tickSize: number | null, pct: number, ): { vahKey: number; valKey: number } | null { if (tickSize === null || !(tickSize > 0)) return null; const profile: Profile = new Map(); addBarToProfile(profile, bar, tickSize); return valueArea(profile, pct); } // ── Defs ──────────────────────────────────────────────────────────────────── /** Delta des N ticks SUPÉRIEURS de la barre : value = Σ (buy − sell) des niveaux de clé > maxKey − topTicks POURQUOI : le delta global d'une barre mélange ce qui s'est passé au plus haut et au plus bas. Isoler le sommet répond à la seule question qui compte sur un test de résistance — qui a payé l'offre EN HAUT ? Un delta négatif au sommet d'une barre haussière = les acheteurs n'ont pas suivi jusqu'au bout (absorption vendeuse potentielle). Défaut topTicks = 3 : la zone d'extrême usuelle des tests de niveau (1 tick est du bruit d'exécution, au-delà de 3 on remesure la barre entière). Convention : fenêtre en TICKS, pas en niveaux — une barre creuse ne doit pas élargir la zone. Tick size inconnu ou barre sans niveau → PAS de point.

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

  • Сравните знак на максимуме с направлением бара. Растущий бар, у которого в верхних тиках отрицательная дельта, показывает, что покупки, которые его несли, не продолжились до экстремума.
  • Явно положительное значение на максимуме растущего бара означает, что агрессивные покупатели всё ещё платили по предложению на вершине диапазона. Это описывает поведение продолжения, а не цель и не точку входа.
  • Наблюдайте одно и то же сопротивление на нескольких попытках. Повторяющиеся отрицательные значения на максимуме описывают продавцов, встречающих каждый толчок, но поглощение может не выдержать, и цена всё равно может пройти уровень.
  • Значение около нуля часто означает, что экстремум почти не торговался. Объёма там прошло мало, поэтому показание, каков бы ни был его знак, весит немного.
  • Читайте его вместе с Delta at Low на том же баре. Противоположные знаки на двух краях описывают бар, за который боролись с обоих концов, а не движимый в одну сторону.

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

Ticks задаёт, насколько глубоко окно уходит вниз от максимума; по умолчанию 3 — обычная экстремальная зона теста уровня. Один тик в основном ловит шум исполнения, а заметно больше трёх показание начинает заново измерять весь бар. Параметр принимает от 1 до 50, что оставляет запас для инструментов, у которых бары охватывают много тиков. Положительный и отрицательный цвета меняют только отрисовку гистограммы, а не значения.

Delta at High — параметры, доступные в приложении, со значениями по умолчанию.
ПараметрТипПо умолчаниюДиапазон
Ticksnumber31 – 50

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

Индикатор считает исполненные контракты, классифицированные по стороне агрессора, поэтому ничего не говорит о лежащей ликвидности: он не покажет, насколько большим было предложение, поглотившее покупки. Бар, почти не торговавшийся на экстремуме, даёт малое значение, которое выглядит как баланс, хотя на деле это отсутствие данных. Каждое значение рассчитывается по одному бару изолированно, без памяти, поэтому не скажет, защищали ли ту же цену раньше в сессии. Нужны поток со стороной агрессора и известный размер тика; без любого из них бар пропускается, а не оценивается.

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

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

Frequently asked questions

Что означает отрицательная Delta at High на растущем баре?
Это значит, что в верхних тиках этого бара по bid прошло больше контрактов, чем по ask, хотя бар закрылся выше. Толчок к максимуму встретили продажи, а не новые покупки. Это часто описывают как возможное поглощение продавцом, но один бар не доказывает, что цена развернётся.
Сколько тиков использовать для Delta at High?
По умолчанию 3 тика — это обычная экстремальная зона теста уровня. Один тик обычно измеряет шум исполнения вокруг последнего принта, а большое окно постепенно воспроизводит общую дельту бара и теряет смысл индикатора. Для инструментов с широкими барами может быть оправдано более глубокое окно; настройка принимает от 1 до 50.
Почему на некоторых барах Delta at High пустая?
Индикатор ничего не рисует, когда не может рассчитать честное значение. Так бывает, если размер тика инструмента неизвестен — окно в тиках без ценовой сетки не имеет смысла, — и если после отбрасывания нулевых объёмов и некорректных цен в баре не остаётся пригодного уровня. Пропущенный бар означает отсутствие информации, а не нулевую дельту.

Keep reading