El indicador Moving Average (Media Móvil) es uno de los más básicos y utilizados en el análisis técnico, sirviendo como una herramienta fundamental para determinar tendencias y niveles de soporte o resistencia en un gráfico de precios. En este blog, desglosamos un script en Lua diseñado para implementar una media móvil personalizable en la plataforma de trading.
Introducción al Script
El script comienza definiendo el instrumento y estableciendo algunas propiedades básicas:
luaCopiar códigoinstrument { name = "Moving Average", overlay = true, icon="indicators:MA" }
Aquí se define el nombre 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 varios parámetros para ajustar el cálculo de la media móvil:
luaCopiar códigoperiod = input (14, "front.period", input.integer, 1)
source = input (1, "front.ind.source", input.string_selection, inputs.titles_overlay)
fn = input (1, "front.newind.average", input.string_selection, averages.titles)
period
: El periodo de tiempo sobre el cual se calcula la media móvil (por defecto 14, con un mínimo de 1).source
: La fuente de datos para el cálculo del indicador (por defecto 1, seleccionable de una lista de fuentes de datos disponibles).fn
: La función de media móvil a utilizar (por defecto 1, seleccionable de una lista de métodos de media).
Configuración de la Apariencia del Indicador
El script incluye opciones para personalizar la apariencia visual del indicador de media móvil:
luaCopiar códigoinput_group {
"front.ind.dpo.generalline",
color = input { default = "red", type = input.color },
width = input { default = 1, type = input.line_width }
}
color
: El color de la línea de la media móvil (por defecto rojo).width
: El grosor de la línea (por defecto 1).
Fuente de Datos y Función de Cálculo
El script obtiene la serie de datos de la fuente seleccionada y aplica la función de media móvil especificada:
luaCopiar códigolocal sourceSeries = inputs[source]
local averageFunction = averages[fn]
Cálculo y Dibujo del Indicador
El valor de la media móvil se calcula y se dibuja en el gráfico utilizando la siguiente línea de código:
luaCopiar códigoplot(averageFunction(sourceSeries, period), inputs.titles[source], color, width)
averageFunction
: Función que calcula la media móvil seleccionada.plot
: Función que dibuja la media móvil en el gráfico con el nombre, color y grosor especificados.
Conclusión
Este script en Lua ofrece una implementación flexible y fácil de usar del indicador de media móvil en un gráfico de precios, permitiendo a los traders personalizar tanto el cálculo como la apariencia del indicador. Al proporcionar opciones para ajustar el periodo, el tipo de media y el color, este script es una excelente herramienta para los traders que desean adaptar sus herramientas de análisis técnico a sus estrategias de trading específicas.
Copia el Script Completo
instrument { name = "Moving Average", overlay = true, icon="indicators:MA" }
period = input (14, "front.period", input.integer, 1)
source = input (1, "front.ind.source", input.string_selection, inputs.titles_overlay)
fn = input (1, "front.newind.average", input.string_selection, averages.titles)
input_group {
"front.ind.dpo.generalline",
color = input { default = "red", type = input.color },
width = input { default = 1, type = input.line_width}
}
local sourceSeries = inputs [source]
local averageFunction = averages [fn]
plot (averageFunction (sourceSeries, period), inputs.titles [source], color, width)