Estrategia de seguimiento de tendencias de regresión lineal doble


Fecha de creación: 2023-11-17 16:51:33 Última modificación: 2023-11-17 16:51:33
Copiar: 0 Número de Visitas: 616
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias de regresión lineal doble

Descripción general

La estrategia de seguimiento de tendencias de regresión binaria utiliza el diferencial entre la regresión lineal rápida y la regresión lineal lenta para determinar la tendencia de los precios y, por lo tanto, como una señal de entrada. Cuando la regresión lineal rápida hace más cuando atraviesa el límite superior, baja cuando atraviesa el límite inferior.

Principio de estrategia

La estrategia primero calcula dos curvas de regresión lineal de diferentes períodos, una de regresión lineal rápida, con períodos más cortos, y la otra de regresión lineal lenta, con períodos más largos. Luego calcula la diferencia entre las dos regresión lineal, cuando la regresión lineal rápida es mayor que la regresión lineal lenta, la diferencia es mayor que 0, indicando que el precio está en una tendencia al alza; cuando la regresión lineal rápida es menor que la regresión lineal lenta, la diferencia es menor que 0, indicando que el precio está en una tendencia a la baja.

La estrategia utiliza la línea de diferencia para cruzar el límite de la puerta como una señal de compra, y la línea de diferencia para caer el límite de la puerta como una señal de posición cerrada. Al mismo tiempo, se requiere que el precio esté por encima de los EMA de 200 ciclos, esto es para filtrar las situaciones fuera de la tendencia.

Análisis de las ventajas

  1. El uso de la regresión binaria para capturar la tendencia de los precios es más efectivo.

  2. Se añade un filtro EMA que permite filtrar las tendencias no tendenciales y evitar señales falsas.

  3. La lógica de la estrategia es simple, clara, fácil de entender y de implementar.

Análisis de riesgos

  1. La configuración incorrecta del ciclo de regresión lineal puede generar una gran cantidad de señales de ruido.

  2. El filtro de la EMA puede perder algunas oportunidades en un mercado de tendencias fuertes.

  3. En situaciones de crisis, las transacciones son frecuentes y se producen pérdidas.

La solución:

  1. Optimización de los parámetros del ciclo de regresión lineal y reducción del ruido.

  2. El ciclo EMA se puede ajustar dinámicamente según las condiciones del mercado.

  3. Aumentar el stop loss para controlar las pérdidas.

Optimización de la estrategia

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Optimice los parámetros de ciclo de la regresión lineal rápida y la regresión lineal lenta para encontrar la combinación óptima de parámetros.

  2. Pruebe otros indicadores de filtración en lugar de EMA, como Brinbelt, KDJ, etc., para ver si puede mejorar la eficacia de la estrategia.

  3. Aumentar el stop loss dinámico para controlar el riesgo y evitar la expansión de las pérdidas.

  4. Se trata de un mecanismo de selección de acciones que permite la negociación de acciones con tendencias más fuertes.

  5. La función de adaptación de parámetros de desarrollo ajusta automáticamente los parámetros según la situación del mercado.

Resumir

La estrategia de seguimiento de tendencias de regresión bidireccional es más simple y directa en general. Utiliza el diferencial de regresión bidireccional para determinar la tendencia de los precios y puede seguir eficazmente la tendencia con el EMA como indicador de filtración. Sin embargo, la estrategia también conlleva ciertos riesgos y debe centrarse en la optimización de los parámetros, el control de pérdidas y otros aspectos para que la estrategia tenga el máximo efecto.

Código Fuente de la Estrategia
/*backtest
start: 2022-11-10 00:00:00
end: 2023-11-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TradingAmmo

//@version=4
strategy("Linear trend", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(input(9999, "End Year"),   input(1, "Month"),   input(1, "Day"),   0, 0)
_testPeriod() =>
    iff(time >= startP and time <= end, true, false)

src = close
len1 = input(defval=13, minval=1, title="Fast LR")
len2 = input(defval=55, minval=1, title="Slow LR")

lag1 = input(0, title="Lag for fast")
lag2 = input(0, title="Lag for slow")

threshold  = input(0,step=0.5, title="Threshold")

fast_lr = linreg(src, len1, lag1)
slow_lr = linreg(src, len2, lag2)
lr = fast_lr - slow_lr
plot_fast = plot(lr, color = lr > 0 ? color.green : color.red)
plot(threshold, color=color.purple)

long_condition = crossover(lr, threshold) and close > ema(close, 200) and _testPeriod()
strategy.entry('BUY', strategy.long, when=long_condition) 

short_condition = crossunder(lr, threshold) 
strategy.close('BUY', when=short_condition)