Categoría
Técnico
Nivel
Principiante
Se usa en
Diseño de estrategiasOperación de MT5

Media móvil exponencial

Una media móvil que pondera más los precios recientes que los antiguos, por lo que gira antes que una media simple. Los filtros de tendencia y las entradas por cruce de los EA se construyen sobre ella más que sobre ningún otro indicador.

también: EMA, media exponencial

Actualizado · Revisado

En palabras sencillas

Una media de los precios recientes que presta más atención a lo que acaba de pasar que a lo que pasó hace un rato. Gira más rápido que una media simple, lo que la hace más útil dentro de una tendencia y más habladora dentro de un rango.

Por qué importa

La EMA es el bloque de construcción por defecto de la lógica de tendencia de un EA: aporta la dirección que indicadores como el ADX deliberadamente no dan. También es el componente más sobreutilizado y más sobreoptimizado de los EA minoristas, porque una regla de cruce es fácil de escribir y sus dos periodos son fáciles de ajustar hasta que cualquier historial parezca rentable.

  • Le da un signo a la estrategia. La fuerza de la tendencia y la volatilidad no tienen dirección; es la comparación entre precio y EMA, o entre rápida y lenta, la que introduce el arriba y el abajo en las reglas.
  • Reacciona más rápido que una media simple, y eso importa en los giros, que es donde se decide la mayor parte del resultado de una estrategia de tendencia.
  • Por construcción es una medida rezagada. Toda media móvil describe lo que ya ha ocurrido, así que un cruce confirma en lugar de predecir.
  • Dos periodos son dos parámetros, y una búsqueda en rejilla sobre ellos siempre encontrará un par que se ve excelente en cualquier ventana dada. Esa es la trampa clásica del sobreajuste en el diseño de EA.

En MetaTrader 5

Dónde aparece en MT5

  • Insertar → Indicadores → Tendencia → Moving Average, y luego poner el método en Exponential
  • El diálogo de propiedades de la MA fija también el precio aplicado: Close es la elección habitual y cambia los valores de forma apreciable
  • Los gráficos la dibujan en la ventana principal, sobre la escala de precios, a diferencia del ATR o el ADX
  • Probador de Estrategias → Entradas: el periodo rápido y el lento son los dos parámetros que más se sobreoptimizan

Cómo lo usan los EA

  • Cree los manejadores en OnInit — iMA(_Symbol, PERIOD_CURRENT, 21, 0, MODE_EMA, PRICE_CLOSE) — uno por periodo, y consérvelos durante toda la vida del EA.
  • Como filtro de dirección: tomar largos solo mientras el precio o la EMA rápida esté por encima de la lenta, y cortos por debajo.
  • Como entrada por cruce: la EMA rápida cruzando a la lenta en una vela cerrada, lo que exige leer las velas 1 y 2 para detectar el cruce en lugar del estado.
  • Como referencia de trailing: salir cuando el precio cierre al otro lado de una EMA elegida, una regla de trailing que se adapta al propio ritmo de la tendencia.
  • Las EMA de temporalidades superiores se leen con la misma llamada y otro argumento de periodo; así es como un EA de M15 toma su dirección de H4.

Ajustes habituales

Ajuste Valor habitual Nota
Par rápida/lenta, corto plazo 8 / 21 Reacciona deprisa; produce muchos cruces, y la mayoría no son tendencias.
Par rápida/lenta, medio plazo 50 / 200 El par que todo el mundo mira. Pocas señales, y las que da llegan tarde.
Filtro de tendencia único EMA 200 en la temporalidad de entrada Se usa como puerta direccional, no como entrada.
Precio aplicado Close Habitual y estable. El precio mediano o típico suaviza más y cambia todos los resultados del backtest.
Vela de señal la última vela cerrada Leer la vela en formación produce cruces que aparecen y desaparecen dentro de la propia vela.

Problemas operativos frecuentes

  • Detectar el estado (rápida por encima de lenta) en lugar del evento (la rápida cruzó a la lenta), lo que vuelve a entrar en cada vela mientras dure la tendencia.
  • Leer el índice 0, de modo que el cruce parpadea con cada tick y da resultados de backtest que el trading real no puede reproducir.
  • Manejadores creados dentro de OnTick, que se filtran hasta que iMA devuelve INVALID_HANDLE.
  • CopyBuffer al arrancar, antes de que el periodo lento tenga historial suficiente, devuelve ceros que se comparan como un cruce.
  • Optimizar ambos periodos en una sola ventana y publicar el pico: la forma más común de que un EA se vea excelente en las pruebas y falle inmediatamente después.

Funciones de MT5 relacionadas

iMA(symbol, timeframe, period, shift, MODE_EMA, applied_price)
Crea el manejador; MODE_EMA es lo que la hace exponencial en lugar de simple.
CopyBuffer(handle, 0, start, count, array)
Lee la media de su único búfer.
ArraySetAsSeries(array, true)
Hace que el índice 0 sea la vela actual, que es la convención que asume casi todo el código de cruces.
iTime(symbol, timeframe, 0)
Se usa para actuar una vez por vela en lugar de una vez por tick.

Ejemplo

La diferencia entre leer un estado y leer un evento, que es el fallo con EMA más común en el código de un EA.

Vela 2 — rápida frente a lenta
rápida por debajo de lenta
Vela 1 — rápida frente a lenta
rápida por encima de lenta
Es el par de lecturas lo que convierte esto en un cruce y no en una condición.
Resultado de la prueba de estado
se dispara en cada vela
Durante todo lo que dure la tendencia, añadiendo una posición cada vez.
Resultado de la prueba de evento
se dispara una vez

Ambas versiones parecen rentables en una tendencia fuerte durante las pruebas. Solo una de ellas es la estrategia que se pretendía.

Cálculo if (fast[2] <= slow[2] && fast[1] > slow[1]) → cruce al alza

Resultado Una entrada por cruce en lugar de una por vela

Cómo se usa

Una regla con EMA es fácil de escribir y fácil de ajustar. Todo lo que merece comprobarse tiene que ver con si los parámetros sobreviven a que se los mueva.

Rango Qué significa
El resultado se derrumba cuando un periodo se mueve un 10 % Ajustado a la ventana de prueba. Una configuración robusta tiene vecinas que también funcionan.
Un rango amplio de pares de periodos funciona de forma parecida Es probable que el efecto sea estructural y no ajustado, que es lo que significa una meseta en una superficie de optimización.
Cruce sin filtro de régimen Las señales también se disparan en rangos, donde en su mayoría fallan. Para eso se suele añadir un ADX o un filtro de volatilidad.
Leído en la vela en formación No es reproducible. El mismo mercado produce entradas distintas según el momento de los ticks.
  • Prefiera una meseta a un pico al elegir los periodos. El mejor resultado aislado de un backtest es el que menos probabilidades tiene de repetirse.
  • Combine el cruce con un filtro de régimen. Una regla de tendencia sin él hace sus peores operaciones justo en las condiciones que peor se le dan.
  • Detecte los cruces con dos velas, nunca con una sola comparación, y actúe únicamente sobre velas cerradas.
  • Recuerde que una media móvil sigue al precio. No puede ir por delante, así que una estrategia construida sobre ella es una estrategia de participación y no de predicción.

La página de `/indicators` sobre medias móviles cubre el cálculo y la comparación con la SMA; esta entrada trata de cómo se cablea la EMA dentro de la lógica de un EA.

Errores frecuentes

Confundir el estado con el evento

Comprobar si la EMA rápida está por encima de la lenta es cierto durante toda la tendencia. Comprobar si la ha cruzado exige también la vela anterior, y la diferencia entre ambas cosas es una entrada frente a docenas.

Optimizar ambos periodos y publicar el mejor par

Dos parámetros libres sobre una superficie suave siempre producirán un backtest impresionante. Lo que importa es si los pares vecinos se comportan de forma parecida, que es la diferencia entre un efecto y un ajuste.

Usar un cruce sin filtro de condiciones de mercado

Las medias móviles se cruzan constantemente en los rangos, y casi todos esos cruces pierden. El filtro no es una optimización de la estrategia: es lo que la hace aplicable.

Suponer que la EMA es estrictamente mejor que la SMA

Reacciona más rápido, y eso corta por los dos lados: entradas más tempranas en las tendencias reales, más señales falsas en el ruido. Cuál conviene depende de la estrategia, y la diferencia es menor que la elección del periodo.

En detalle

Qué usan para la dirección los EA publicados

Aquí hay catorce EA publicados con su registro completo de operaciones cerradas. Ni uno solo toma su dirección de una media móvil exponencial.

Mecanismo de direcciónEAQué es
Cruce Tenkan/Kijun de Ichimoku5Kestrel Hover, Orrery, Peregrine, Tessera, Zerqon
Medias móviles simples apiladas1Lanternfish — SMA 25/50/75 en M30, entradas en M5
Una media móvil exponencial0
Algo que no es un cruce8Extremos de RSI, fades de envolventes, patrones de vela

Esos cinco se quedaron con el cruce y prescindieron del ajuste: los periodos Tenkan/Kijun vienen de la definición del indicador, no de una búsqueda en rejilla. Los cinco leen una vela cerrada, y Orrery y Peregrine solo actúan cuando el cuerpo de la vela de señal supera un múltiplo de su media reciente, que es el filtro de régimen que necesita un cruce desnudo. Sus factores de beneficio van de 1,27 a 1,46, la misma banda que el resto del catálogo.

La pestaña Entradas del Probador de Estrategias admite un valor de inicio, paso y fin por cada periodo. Lea todo el conjunto de resultados, no su primera fila: una meseta de pares vecinos es un efecto, y un pico solitario es un ajuste. Eso es el sobreajuste en la práctica, y por lo que un filtro como el ADX llega antes que otro periodo por afinar.

Preguntas frecuentes

¿Qué periodos de EMA usan los EA de MT5?
El par 8/21 para sistemas de corto plazo y el 50/200 para detectar tendencia de medio plazo son los más habituales, y a menudo se usa una única EMA 200 puramente como puerta direccional. Los números concretos importan menos que si la estrategia sigue funcionando cuando se los mueve: un resultado que depende de un par exacto está ajustado a la ventana de prueba.
¿Es mejor una EMA que una SMA para los EA?
Reacciona más rápido, lo que produce entradas más tempranas en las tendencias genuinas y más señales falsas en el ruido. Ninguna es universalmente mejor, y la diferencia entre las dos suele ser menor que la diferencia entre dos elecciones de periodo dentro de cualquiera de ellas.
¿Por qué mi EA de cruce de EMA abre tantas posiciones?
Casi siempre porque el código comprueba si la EMA rápida está por encima de la lenta en lugar de si acaba de cruzarla. La primera condición sigue siendo cierta durante toda la tendencia y se dispara en cada vela; detectar el cruce exige comparar también con la vela anterior.
¿Puede una EMA predecir un cambio de tendencia?
No. Es una media de precios que ya se han producido, así que necesariamente va detrás. Un cruce confirma que un cambio ha ocurrido, no que vaya a ocurrir, y ese retraso es el precio del suavizado.