Indicador Engulfing: fórmula, ajustes y cómo leerlo

Engulfing señala las barras cuyo cuerpo contiene por completo el cuerpo de la barra anterior, es decir, el menor entre apertura y cierre está en el de la barra anterior o por debajo, y el mayor, en el suyo o por encima. Solo se comparan los cuerpos, las mechas no intervienen, y la dirección del marcador sale de la propia barra señalada.

Senzoukria · Indicadores · Updated September 2026


Engulfing Estructura y sesiones, sobre el gráfico de precios.

Qué mide Engulfing

La contención se prueba de forma inclusiva, así que un cuerpo que toca exactamente la apertura o el cierre anterior también lo envuelve. Esa elección refleja cómo se lee la subasta, con el cuerpo actual cubriendo toda la zona que aceptó la barra anterior, y evita perder los envolventes más claros en una rejilla discreta de ticks, donde la igualdad exacta es frecuente. La dirección se toma estrictamente del cuerpo actual: una barra que cierra por encima de su apertura se marca alcista con una flecha en su mínimo, una que cierra por debajo se marca bajista con una flecha en su máximo, y una barra que cierra exactamente en su apertura no produce marcador aunque se cumpla la contención. Una diferencia deliberada respecto a la definición de manual: no se exige que la barra anterior sea del color opuesto. La contención es el hecho medible; filtrar por la dirección de la barra anterior es una interpretación que se deja al lector. La primera barra del gráfico nunca se marca, al no tener nada que envolver.

La fórmula, tal como está implementada

No es la definición habitual en otros sitios: es lo que calcula el código que se distribuye, documentado junto a su implementación:

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).

Cómo leerlo

  • Un marcador tras una barra de cuerpo pequeño significa que un cuerpo más amplio cubrió toda la zona de precios que la barra anterior había aceptado entre su apertura y su cierre.
  • Si quieres la lectura clásica de giro, comprueba tú mismo si la barra envuelta era del color opuesto: el indicador no aplica ese filtro por ti.
  • Una barra envolvente en medio de una tendencia ya en curso suele ser simplemente una barra de continuación más grande; su posición respecto a la estructura de la sesión dice más que el patrón por sí solo.
  • Compara el tamaño del cuerpo envolvente con el cuerpo típico del instrumento: envolver una barra anterior muy pequeña es un listón bajo.
  • El patrón es solo geometría del precio: lee el footprint o el delta de la barra señalada para ver si el movimiento vino de compradores agresivos, de vendedores agresivos o de absorción pasiva.

Lo que no muestra

En la prueba entran cuatro precios, así que una barra envolvente negociada con mucha participación y otra casi sin ella se ven idénticas en el gráfico. Cuando una sola barra amplia empequeñece a varias pequeñas, como ocurre en mercados rápidos, los envolventes se vuelven frecuentes y el cuerpo superado es proporcionalmente pequeño. Como no se filtra la dirección de la barra anterior, algunos marcadores describen continuación y no giro, y separar ambos casos es tarea del lector. El marcador registra una forma ya completada y no confirma nada sobre lo que viene después.

Ver todos los indicadores

Esta página en otros idiomas

Frequently asked questions

¿Una vela envolvente tiene que envolver también las mechas?
Aquí no. La prueba compara solo los cuerpos: el rango de apertura a cierre de la barra actual debe contener el rango de apertura a cierre de la barra anterior. Las mechas se ignoran por definición, así que una barra puede señalarse como envolvente aunque el máximo o el mínimo de la barra anterior sobresalga de ella.
¿La vela anterior tiene que ser del color opuesto?
Este indicador no lo exige. Marca cualquier barra cuyo cuerpo contenga el cuerpo anterior y toma la dirección solo de la barra actual. Es una elección deliberada: la contención es el hecho medible, mientras que exigir que la barra anterior sea del color opuesto es una interpretación añadida encima, que puedes aplicar tú mismo mirando el gráfico.
¿Por qué mi barra no está señalada aunque envuelve a la anterior?
La razón más probable es que la barra cerró exactamente en su apertura. Una barra sin dirección de cuerpo no produce marcador aunque se cumpla la condición de contención, porque el indicador no tendría dirección que asignar a la flecha. El otro caso habitual es la primera barra del gráfico, que no tiene predecesora que envolver.

Keep reading