Explorando el Indicador LSMA en Lua
El indicador LSMA (Least Squares Moving Average), también conocido como Regresión Lineal, es una herramienta de análisis técnico que utiliza el método de mínimos cuadrados para calcular una línea de tendencia ajustada a una serie de precios. A continuación, desglosamos un script en Lua que implementa el indicador LSMA, explicando cada parte del código para ayudarte a comprender su funcionamiento.
Introducción al Script
El script comienza definiendo el instrumento y algunas propiedades básicas:
instrument { name = "LSMA", overlay = true }
Aquí se define el nombre del indicador y se especifica que debe superponerse al gráfico de precios.
Configuración de los Parámetros
El script define varios parámetros necesarios para el cálculo del indicador LSMA. Estos parámetros se configuran utilizando la función input
:
period = input (25, "front.period", input.integer, 1, 200)
offset = input (0, "front.newind.offset", input.integer, -100, 100)
source = input (1, "front.ind.source", input.string_selection, inputs.titles_overlay)
period
: El periodo de tiempo utilizado para el cálculo de la media móvil de mínimos cuadrados (por defecto 25, con un rango de 1 a 200).offset
: El desplazamiento de la línea de regresión (por defecto 0, con un rango de -100 a 100).source
: La fuente de datos para el cálculo del indicador (por defecto 1, seleccionable de una lista de fuentes).
Configuración de la Línea del Indicador
El script permite configurar la apariencia de la línea del indicador LSMA:
input_group {
"front.ind.dpo.generalline",
color = input { default = rgba(86,206,255,0.75), type = input.color },
width = input { default = 1, type = input.line_width }
}
color
: El color de la línea del indicador (por defecto azul claro con un 75% de opacidad).width
: El grosor de la línea (por defecto 1).
Fuente de Datos
El script obtiene la serie de datos de la fuente seleccionada:
local sourceSeries = inputs[source]
Cálculo del Indicador LSMA
El cálculo del LSMA utiliza la función de regresión lineal linreg
:
plot(linreg(sourceSeries, period, offset), "LSMA", color, width)
linreg
: Función que calcula el valor de la media móvil de mínimos cuadrados utilizando la serie de datos, el periodo y el desplazamiento especificados.plot
: Función que dibuja el indicador en el gráfico con el nombre «LSMA», el color y el grosor especificados.
Conclusión
Este script en Lua configura y dibuja el indicador LSMA en un gráfico de precios, permitiendo personalizar los parámetros del periodo, el desplazamiento, la fuente de datos, el color y el grosor de la línea. El LSMA es una herramienta útil para identificar la dirección de la tendencia y eliminar el ruido del mercado, proporcionando una visión clara de la tendencia subyacente. Este script ofrece flexibilidad para ajustarse a diversas estrategias de trading.
instrument { name = "LSMA", overlay = true }
period = input (25,"front.period", input.integer, 1, 200)
offset = input (0, "front.newind.offset", input.integer, -100, 100)
source = input (1, "front.ind.source", input.string_selection, inputs.titles_overlay)
input_group {
"front.ind.dpo.generalline",
color = input { default = rgba(86,206,255,0.75), type = input.color },
width = input { default = 1, type = input.line_width}
}
local sourceSeries = inputs [source]
plot (linreg (sourceSeries, period, offset), "LSMA", color, width)