El indicador Exponential Moving Average (EMA), o media móvil exponencial, es una herramienta esencial en el análisis técnico, utilizada para suavizar los datos de precios y detectar tendencias del mercado de manera más efectiva que la media móvil simple (SMA). En esta entrada de blog, exploraremos un script en Lua diseñado para implementar el EMA, proporcionando detalles sobre su configuración y funcionalidad.
Introducción al Script
El script define el instrumento y establece algunas propiedades clave:
luaCopiar códigoinstrument { name = "Exponential Moving Average", short_name = "EMA", overlay = true, icon="indicators:MA" }
Aquí se define el nombre completo y el nombre corto del indicador, se especifica que debe superponerse al gráfico de precios y se selecciona un icono representativo para el indicador.
Configuración de los Parámetros
El script permite al usuario personalizar el periodo y la fuente de datos para el cálculo del EMA:
luaCopiar códigoperiod = input (9, "front.period", input.integer, 1)
source = input (1, "front.ind.source", input.string_selection, inputs.titles_overlay)
period
: El periodo de tiempo sobre el cual se calcula el EMA, configurado por defecto en 9, con un mínimo de 1.source
: La fuente de datos para el cálculo del indicador, seleccionable de una lista predefinida.
Configuración Visual del Indicador
La apariencia visual del EMA puede ser personalizada a través de las siguientes configuraciones:
luaCopiar códigoinput_group {
"front.ind.dpo.generalline",
color = input { default = "#57A1D0", type = input.color },
width = input { default = 1, type = input.line_width}
}
color
: Color de la línea del EMA (por defecto un azul claro).width
: Grosor de la línea (configurado en 1 por defecto).
Fuente de Datos y Cálculo del EMA
El script obtiene la serie de datos de la fuente seleccionada y calcula el EMA utilizando la función incorporada ema
:
luaCopiar códigolocal sourceSeries = inputs[source]
plot(ema(sourceSeries, period), "EMA", color, width)
ema
: Función que calcula el valor del EMA utilizando la serie de datos y el periodo especificado.plot
: Función que dibuja el EMA en el gráfico con el nombre “EMA”, utilizando el color y el grosor especificados.
Conclusión
Este script en Lua ofrece una implementación práctica y directa del indicador Exponential Moving Average en un gráfico de precios, permitiendo a los traders ajustar fácilmente el periodo y personalizar la visualización según sus preferencias. El EMA es particularmente valioso para los traders que buscan una respuesta rápida a los cambios del mercado, ya que da más peso a los precios recientes, reflejando las tendencias y los movimientos del mercado de manera más ágil que una media móvil simple. Con su configuración simple y efectiva, este script es una herramienta indispensable para aquellos interesados en el análisis técnico sofisticado.
Copia el Script Completo
instrument { name = "Exponential Moving Average", short_name = "EMA", overlay = true, icon="indicators:MA" }
period = input (9, "front.period", input.integer, 1)
source = input (1, "front.ind.source", input.string_selection, inputs.titles_overlay)
input_group {
"front.ind.dpo.generalline",
color = input { default = "#57A1D0", type = input.color },
width = input { default = 1, type = input.line_width}
}
local sourceSeries = inputs [source]
plot (ema (sourceSeries, period), "EMA", color, width)