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

La DEMA (Double Exponential Moving Average, Patrick Mulloy, 1994) es una línea de precio suavizada construida con dos medias exponenciales dispuestas de forma que se anule parte del retraso de una EMA simple. Se calcula como el doble de la EMA del cierre menos la EMA aplicada a esa primera EMA, y se dibuja sobre el gráfico de precio.

Senzoukria · Indicadores · Updated September 2026


DEMA Medias y volatilidad, sobre el gráfico de precios.

Qué mide DEMA

Ambas etapas usan la EMA del catálogo: se inicializa con la media simple de las primeras N muestras y después se actualiza con un factor de suavizado de 2 / (N + 1). La segunda etapa solo recorre la parte de la primera que ya está definida, así que no se inventa ningún valor mientras la primera EMA sigue calentando. Con un periodo N, el resultado está disponible a partir del índice de barra 2 x (N - 1), el doble del calentamiento de una EMA normal. Si la etapa anterior devolviera un hueco después de su propio inicio, la implementación se niega a interpolar y no devuelve nada, en lugar de dibujar una línea basada en una entrada rota.

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:

EMA_N appliquée au SUFFIXE défini d'une série à préfixe null (sortie d'un étage EMA/lissage précédent — suffixe contigu par construction). Permet EMA(EMA(x)) sans inventer de valeur pendant le warm-up de l'étage amont. Défensif : un null APRÈS le début du suffixe (étage amont incohérent) → tout null, on ne trace rien de faux. */ function emaOverSuffix( values: ReadonlyArray<number | null>, period: number, ): Array<number | null> { const out: Array<number | null> = new Array(values.length).fill(null); let start = 0; while (start < values.length && values[start] === null) start++; if (start >= values.length) return out; const defined: number[] = []; for (let i = start; i < values.length; i++) { const v = values[i]; if (v === null) return out; // suffixe non contigu → dégradation totale defined.push(v); } const e = emaSeries(defined, period); for (let j = 0; j < e.length; j++) out[start + j] = e[j]; return out; } /** Moindres carrés y = a + b·t sur la fenêtre de n valeurs se terminant à l'indice i (t = 0 pour la plus ancienne, t = n−1 pour la courante). Sommes fermées : Σt = n(n−1)/2, Σt² = n(n−1)(2n−1)/6. n = 1 → b = 0. */ function linFit( values: readonly number[], i: number, n: number, ): { a: number; b: number } { const sumT = (n * (n - 1)) / 2; const sumT2 = (n * (n - 1) * (2 * n - 1)) / 6; let sumY = 0; let sumTY = 0; for (let t = 0; t < n; t++) { const y = values[i - n + 1 + t]; sumY += y; sumTY += t * y; } const denom = n * sumT2 - sumT * sumT; // > 0 dès n ≥ 2 const b = denom > 0 ? (n * sumTY - sumT * sumY) / denom : 0; const a = (sumY - b * sumT) / n; return { a, b }; } function periodOf( params: Record<string, unknown>, key: string, fallback: number, floor = 1, ): number { return Math.max(floor, Math.floor(numParam(params, key, fallback))); } // ── Défs ──────────────────────────────────────────────────────────────────── /** DEMA (Patrick Mulloy, 1994) : DEMA_N = 2·EMA_N(close) − EMA_N(EMA_N(close)) EMA du catalogue : graine = SMA des N premiers échantillons, α = 2/(N+1) (parité TradingView/ATAS). Le double étage compense le lag de l'EMA simple. Défini à partir de l'indice 2(N−1) — null avant. Défaut N=20.

Cómo leerlo

  • Espera que la línea gire antes que una EMA del mismo periodo, y que se pase más de largo cuando el precio revierte con fuerza.
  • Restar una copia suavizada del propio suavizado permite que la línea salga brevemente del rango de los cierres recientes; es una propiedad de la construcción, no un fallo.
  • Lo útil aquí es el cambio de pendiente. Que el precio cruce una línea que ya extrapola es el evento más ruidoso.
  • Pon la DEMA y la EMA del mismo periodo una al lado de la otra: la distancia entre ambas se amplía con la fuerza del movimiento en curso y se cierra en las fases tranquilas.
  • Con periodos cortos, la doble etapa amplifica los datos más recientes y la línea cambia de dirección con frecuencia.

Parámetros y valores por defecto

El periodo es 20 por defecto, el mismo valor que la EMA del catálogo, y va de 1 a 500. Un periodo corto vuelve agresiva la compensación del retraso y la línea nerviosa; uno largo recupera estabilidad a costa de la reactividad para la que se diseñó la construcción. Subir el periodo también desplaza la primera barra dibujada el doble de lejos a la derecha que con una EMA simple.

DEMA — parámetros disponibles en la aplicación, con los valores con los que se distribuye.
ParámetroTipoPor defectoRango
Periodnumber201 – 500

Lo que no muestra

La reducción del retraso se paga con sobreoscilación: tras un movimiento rápido que se detiene, la DEMA puede seguir apuntando en la dirección anterior una o dos barras más allá de los cierres que la produjeron. Su única entrada son los cierres, así que no le llega nada del lado bid y ask del volumen negociado. Además necesita un histórico largo e ininterrumpido antes de producir nada, lo que importa en un gráfico recién cargado o cuando la profundidad de histórico de ese contrato está limitada por lo que ofrece tu proveedor de datos.

  • SMA Medias y volatilidad
  • EMA Medias y volatilidad
  • WMA Medias y volatilidad
  • Hull MA Medias y volatilidad
  • ATR (Wilder) Medias y volatilidad
  • Bollinger Medias y volatilidad

Ver todos los indicadores

Esta página en otros idiomas

Frequently asked questions

¿En qué se diferencia la DEMA de una media móvil suavizada dos veces?
Aplicar una EMA dos veces hace la línea más lenta, no más rápida. La DEMA toma el doble de la primera EMA y le resta la segunda, así que el doble suavizado actúa como término de corrección y no como filtrado adicional. El resultado reacciona antes que una EMA simple del mismo periodo.
¿Por qué la DEMA aparece vacía al principio de mi gráfico?
Cada etapa exponencial necesita su propio calentamiento, y la segunda solo empieza donde la primera está definida. Con el periodo por defecto de 20, el primer valor dibujado cae en el índice de barra 38, y antes de ese punto no se estima nada.
¿Puede la DEMA superar el cierre más alto reciente?
Sí, y es lo esperado. Como la segunda EMA se resta del doble de la primera, el resultado es una extrapolación y no una media ponderada de la ventana, así que no está acotado por los cierres con los que se calculó.

Keep reading