Esta estrategia se llama
La estrategia primero calcula una línea de regresión lineal a corto y largo plazo. La regresión lineal a corto plazo tiene un período de 100 días, y la a largo plazo tiene un período de 150 días. Cuando la línea de regresión a corto plazo cruza por encima de la línea a largo plazo, se genera una señal de compra. Cuando la línea a corto plazo cruza por debajo de la línea a largo plazo, se genera una señal de venta.
Las líneas de regresión lineales pueden reflejar la dirección de tendencia a largo plazo de los precios. La línea a corto plazo con un período más pequeño es más sensible a los cambios de precios y puede capturar los tiempos de reversión a corto plazo. La línea a largo plazo con un período más grande representa la tendencia de equilibrio a largo plazo de los precios. Cuando las dos líneas se cruzan, indica que las tendencias a corto y largo plazo se están revirtiendo, por lo que se pueden generar señales comerciales.
La ventaja de esta estrategia es utilizar el enfoque clásico de análisis técnico de cruce de promedios móviles, con la adición de análisis de regresión lineal, que puede identificar reversiones de precios en ambas dimensiones de tiempo a largo y corto plazo. Sin embargo, las líneas de regresión lineal son susceptibles a datos atípicos y exhiben cierto retraso. Además, los cruces de promedios móviles tienden a generar muchas señales falsas.
Para filtrar algunas señales falsas, esta estrategia incorpora límites de condiciones de tiempo, ejecutando operaciones solo durante rangos de fechas especificados. Esto puede reducir las operaciones ineficaces hasta cierto punto.
En conclusión, la doble estrategia de cruce de promedios móviles combina múltiples técnicas analíticas y puede capturar oportunidades comerciales complejas.
/*backtest start: 2022-09-12 00:00:00 end: 2023-09-12 00:00:00 period: 2d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="Linear Regression Curve CrossOver Strategy", shorttitle="LRC Crossover", overlay=true) src = close len1 = input(defval=100, minval=1, title="Length") offset = 0 outfast = linreg(src, len1, offset) plot(outfast,color=blue) len2 = input(defval=150, minval=1, title="Length") outslow = linreg(src, len2, offset) plot(outslow,color=red) yearfrom = input(2018) yearuntil =input(2019) monthfrom =input(1) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( crossover(outfast,outslow)) strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY") else strategy.cancel(id="BUY") if ( crossover(outslow,outfast) ) strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", comment="SELL") else strategy.cancel(id="SELL")