ExponentialAverage
ExponentialAverage en ProBuilder devuelve la media móvil exponencial (EMA) de un precio o una serie sobre N bars. Sintaxis, fórmula, ejemplos y trampas.
Sintaxis
ExponentialAverage[N](price)Parámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
N | entero | 20 | Período de la media. Determina el factor de suavizado 2 / (N + 1). Los ajustes habituales incluyen 9, 12, 21, 26, 50 y 200. |
price | fuente de precio | close | La serie a suavizar. Acepta cualquier constante de precio o variable numérica, incluidos otros indicadores. |
Fórmula
EMA(t) = alpha * price(t) + (1 - alpha) * EMA(t-1)
where alpha = 2 / (N + 1)Cada nuevo valor combina el precio actual con la EMA anterior. El peso de cualquier bar individual decae exponencialmente con su antigüedad, de donde viene el nombre. A diferencia de una media simple, cada bar pasado conserva una pequeña influencia residual.
Cómo funciona
Una media móvil simple trata todos N bars por igual, por lo que un bar antiguo que sale de la ventana puede mover la línea tanto como un precio nuevo que entra. La media exponencial elimina ese artefacto ponderando los bars geométricamente: el último cierre pesa más, el anterior algo menos, y así sucesivamente. El efecto práctico es menos retardo para el mismo periodo nominal.
La definición recursiva implica que el cálculo depende de valores anteriores. ProRealTime™ inicializa la serie a partir del bar cargado más antiguo, por lo que los primeros valores tras el inicio de los datos son menos significativos. En ventanas de datos cortas, o en ProOrder con una precarga de bars baja, las lecturas iniciales pueden diferir de la misma EMA dibujada en un gráfico más largo.
ExponentialAverage[N](price) produce la misma salida que Average[N,1](price); la función específica simplemente hace explícita la intención. Como todas las medias de ProBuilder, acepta cualquier serie numérica, por lo que se usa con frecuencia para suavizar osciladores en lugar de precio puro.
Ejemplos
Ejemplo 1, Suavizar el RSI (Indicador)
// Smooth a 14-period RSI with a 10-period EMA
i1 = RSI[14]
i2 = ExponentialAverage[10](i1)
RETURN i1 as "RSI", i2 coloured(147,112,216) as "smoothed RSI"Aplica una media exponencial de 10 periodos al RSI, dibujando tanto el oscilador bruto como su versión suavizada en morado. La EMA mantiene la línea suavizada más cerca de la serie bruta de lo que lo haría una SMA de la misma longitud.
Ejemplo 2, Estrategia de cruce de EMA (ProOrder)
// Hold long while the 12-period EMA is above the 26-period EMA
fastEMA = ExponentialAverage[12](close)
slowEMA = ExponentialAverage[26](close)
IF fastEMA CROSSES OVER slowEMA THEN
BUY 1 CONTRACT AT MARKET
ENDIF
IF fastEMA CROSSES UNDER slowEMA AND LongOnMarket THEN
SELL AT MARKET
ENDIFUsa los periodos 12 y 26 conocidos del MACD. El menor retardo de las medias exponenciales activa entradas y salidas antes que el cruce de SMA equivalente, a costa de más whipsaws en condiciones erráticas.
Ejemplo 3, Cierre cruzando por encima de la EMA de 50 (ProScreener)
// List instruments whose close just crossed above the 50-period EMA
ema50 = ExponentialAverage[50](close)
SCREENER[close CROSSES OVER ema50](close AS "Close")Devuelve solo los instrumentos en los que el último cierre pasó de estar por debajo a estar por encima de la media exponencial de 50 periodos en el bar actual, una búsqueda de cambio de momentum.
Interpretación
El precio frente a la EMA. Un precio que se mantiene por encima de una EMA ascendente indica una tendencia alcista en ese horizonte; un precio por debajo de una EMA descendente, una tendencia bajista. Por su menor retardo, la EMA se ajusta al precio más de cerca que una SMA, por lo que suele preferirse como línea de tendencia de seguimiento en marcos temporales más cortos.
Cruces. Los cruces de la EMA rápida sobre la lenta señalan un cambio de momentum, el mecanismo que hay detrás de la línea MACD. Los cruces llegan antes que con medias simples pero también se invierten más a menudo; la contrapartida es capacidad de respuesta frente a señales falsas.
Pendiente. Una EMA que se aplana señala un momentum que se desvanece antes de que se produzca cualquier cruce, y suele ser el aviso más temprano.
Errores y trampas habituales
- Tipo de corchete incorrecto.
ExponentialAverage(10, close)genera un error de sintaxis. El periodo va entre corchetes, la serie entre paréntesis:ExponentialAverage[10](close). - Dependencia del histórico. La fórmula recursiva implica que las primeras bars de los datos cargados producen una EMA inestable. En ProOrder, aumenta
PRELOADBARScuando una EMA de periodo largo impulsa la lógica; en los gráficos, deben ignorarse los valores cercanos al borde izquierdo. - Comparar la EMA y la SMA del mismo periodo. Un
N-periodos de la EMA tiene una memoria efectiva más corta que una deN-periodos SMA. Trasladar una estrategia de una a la otra manteniendo el mismo periodo cambia su comportamiento. - Esperar un parámetro de tipo. A diferencia de
Average, esta función no admite un segundo argumento entre corchetes.ExponentialAverage[10,1](close)no es válido; el tipo ya está fijado.
Instrucciones relacionadas
Average, media móvil general;Average[N,1]es la misma EMA.WeightedAverage, ponderación lineal, un punto intermedio entre la SMA y la EMA.WilderAverage, variante EMA conalpha = 1 / N, usado dentro de RSI y ATR.ZLEMA, media móvil exponencial sin retardo.DEMA, media móvil exponencial doble, mayor reducción del retardo.TEMA, media móvil exponencial triple.HullAverage, alternativa de bajo retardo construida a partir de medias ponderadas.RSI, oscilador que se suele suavizar con una EMA, como en el Ejemplo 1.