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

Engulfing отмечает бары, тело которых полностью охватывает тело предыдущего бара: меньшее из открытия и закрытия находится не выше, чем у предыдущего бара, а большее — не ниже. Сравниваются только тела — тени роли не играют, — а направление метки берётся по самому отмеченному бару.

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


Engulfing Структура и сессии, на ценовом графике.

Что измеряет Engulfing

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

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

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

Période entière ≥ `min` depuis les params (garde-fou UI, même helper que momentum.ts). */ function intParam( params: Record<string, unknown>, key: string, fallback: number, min = 1, ): number { return Math.max(min, Math.floor(numParam(params, key, fallback))); } function boolParam( params: Record<string, unknown>, key: string, fallback: boolean, ): boolean { const v = params[key]; return typeof v === "boolean" ? v : fallback; } /** Bas du CORPS (open/close) — le corps ignore les mèches par définition. */ function bodyLow(b: FootprintBar): number { return Math.min(b.open, b.close); } function bodyHigh(b: FootprintBar): number { return Math.max(b.open, b.close); } function bodySize(b: FootprintBar): number { return Math.abs(b.close - b.open); } function barRange(b: FootprintBar): number { return b.high - b.low; } function upperWick(b: FootprintBar): number { return b.high - bodyHigh(b); } function lowerWick(b: FootprintBar): number { return bodyLow(b) - b.low; } function markersOut(markers: SeriesMarker[]): SeriesOutput { return { shape: "markers", markers }; } function histOut( points: HistogramPoint[], positiveColor: string, negativeColor: string, ): SeriesOutput { return { shape: "histogram", points, positiveColor, negativeColor }; } /** Pivot HAUT strict sur `lr` barres de CHAQUE côté : high[i] > high[j] pour tout j de la fenêtre. STRICT des deux côtés — choix documenté : un plateau (double top exact dans la fenêtre) ne produit AUCUN pivot plutôt que deux pivots collés qui feraient double emploi sur le chart et fausseraient le « dernier swing » du break of structure. `false` si la fenêtre déborde du tableau : un pivot n'est confirmable qu'avec ses `lr` barres de droite CHARGÉES — on ne devine pas la suite. / function isSwingHigh( bars: readonly FootprintBar[], i: number, lr: number, ): boolean { if (i - lr < 0 || i + lr >= bars.length) return false; const h = bars[i].high; for (let j = i - lr; j <= i + lr; j++) { if (j !== i && bars[j].high >= h) return false; } return true; } /** Pivot BAS strict — miroir exact d'`isSwingHigh` (mêmes gardes de bord). */ function isSwingLow( bars: readonly FootprintBar[], i: number, lr: number, ): boolean { if (i - lr < 0 || i + lr >= bars.length) return false; const l = bars[i].low; for (let j = i - lr; j <= i + lr; j++) { if (j !== i && bars[j].low <= l) return false; } return true; } // ── Defs ──────────────────────────────────────────────────────────────────── /** Engulfing — le CORPS de la barre englobe entièrement celui de la précédente : bodyLow[i] ≤ bodyLow[i−1] ET bodyHigh[i] ≥ bodyHigh[i−1] haussière ssi close > open (marqueur arrow-up au LOW) baissière ssi close < open (marqueur arrow-down au HIGH) Contenance INCLUSIVE (≤/≥) : un corps qui touche exactement l'open ou le close précédent l'englobe — c'est la lecture de l'auction (le corps couvre toute la zone d'acceptation de la barre d'avant), et l'exiger strictement ferait rater les engulfings les plus nets sur une grille de ticks discrète. Le SENS vient du corps courant, strictement : close == open (doji) → aucun marqueur, même si la contenance passe. Choix assumé : on n'exige PAS que la barre précédente soit de sens opposé (la définition « livre » d'un engulfing de retournement). La contenance du corps est le fait mesurable ; filtrer sur le sens de la barre d'avant est une interprétation qu'on laisse au lecteur du chart. Première barre → rien (pas de précédente à englober).

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

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

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

В проверку входят четыре цены, поэтому поглощающий бар на активном участии и бар почти без участия выглядят на графике одинаково. Когда один широкий бар перекрывает несколько маленьких, как бывает на быстром рынке, поглощения становятся частыми, а поглощаемое тело — соответственно маленьким. Поскольку направление предыдущего бара не фильтруется, часть меток описывает продолжение, а не разворот, и разделять их — задача читателя. Метка фиксирует завершившуюся форму и ничего не подтверждает о том, что последует.

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

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

Frequently asked questions

Должна ли поглощающая свеча перекрывать и тени?
Здесь — нет. Проверка сравнивает только тела: диапазон от открытия до закрытия текущего бара должен содержать такой же диапазон предыдущего бара. Тени по определению игнорируются, поэтому бар может быть отмечен как поглощающий, даже если максимум или минимум предыдущего бара выходит за его пределы.
Должна ли предыдущая свеча быть противоположного цвета?
Этот индикатор этого не требует. Он отмечает любой бар, тело которого содержит предыдущее тело, и берёт направление только по текущему бару. Это намеренный выбор: охват — измеримый факт, а требование противоположного цвета предыдущего бара — интерпретация поверх него, которую вы можете применить сами, глядя на график.
Почему мой бар не отмечен, хотя он поглощает предыдущий?
Скорее всего, бар закрылся ровно на своём открытии. Бар без направления тела не получает метки даже при выполненном условии охвата, потому что индикатору нечем задать направление стрелки. Другой частый случай — самый первый бар на графике, которому нечего поглощать.

Keep reading