Tendencia de seguir una estrategia de largo plazo

El autor:¿ Qué pasa?, Fecha: 2023-10-17 15:55:41
Las etiquetas:

img

Resumen general

La Estrategia de tendencia de seguimiento de largo plazo es una estrategia que rastrea las tendencias de precios utilizando promedios móviles dinámicos. Determina la tendencia actual calculando los promedios móviles de los precios más altos y más bajos durante un período y lo combina con ATR para stop loss dinámico y tomar ganancias.

Estrategia lógica

La estrategia primero calcula los promedios móviles de los precios más altos y más bajos durante un período (default 200 días) y toma su punto medio como la línea de base. Luego mide la desviación del precio de la línea de base. Si el precio está por encima de la línea de base en 1 ATR (0,5 veces el ATR de 10 días por defecto), se considera una tendencia alcista. Si el precio está por debajo de la línea de base en 1 ATR, se considera una tendencia bajista.

Cuando el precio vuelve a la línea de base, se activan las señales de salida. Además, el ATR dinámico permite detener la pérdida y obtener ganancias para seguir la tendencia principal, evitando el exceso de negociación en fluctuaciones menores.

Ventajas

  1. Los promedios dinámicos permiten una fluidez efectiva de las acciones de los precios para identificar la dirección de la tendencia a largo plazo
  2. Las paradas basadas en ATR siguen la tendencia principal evitando dinámicamente una sensibilidad excesiva
  3. La captura oportuna de inversiones de tendencia reduce el desperdicio de capital prematuro
  4. La lógica simple es fácil de implementar.

Riesgos y mitigación

  1. Puede generar señales falsas en mercados variados
  2. El ajuste incorrecto de los parámetros puede perder las inversiones de tendencia
  3. Debe considerarse la divergencia entre las existencias de mercado y las existencias individuales

Los riesgos pueden reducirse ajustando los parámetros de ATR, agregando filtros para configuraciones de alta probabilidad y evaluando las condiciones del mercado y el apetito por el riesgo.

Ideas para mejorar

  1. Añadir confirmación secundaria después de las señales de entrada iniciales utilizando indicadores como KDJ
  2. Optimizar los parámetros basados en la volatilidad, los fundamentos de las existencias individuales
  3. Multiplicador ATR de ajuste fino basado en pruebas de retroceso para equilibrar el factor de ganancia y la tasa de facturación
  4. Introducir un ajuste dinámico de volatilidad en el stop loss y take profit
  5. Utilice técnicas de aprendizaje automático para la optimización automática de parámetros

Resumen de las actividades

La estrategia de tendencia sigue a largo sólo es un sistema de comercio de tendencia fácil de usar en general. Identifica la dirección de la tendencia utilizando promedios dinámicos y establece controles de riesgo con paradas basadas en ATR. Puede capturar efectivamente los cambios rentables en los mercados de tendencia. Se deben evitar los mercados de rango para evitar los golpes. Se pueden hacer mejoras adicionales mediante el ajuste de parámetros, la adición de filtros e integración de técnicas de aprendizaje automático.


/*backtest
start: 2022-10-10 00:00:00
end: 2023-10-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Trend Following Long Only Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

lookback_length = input(200, type=input.integer, minval=1, title="Lookback Length")
smoother_length = input(5, type=input.integer, minval=1, title="Smoother Length")
atr_length = input(10, type=input.integer, minval=1, title="ATR Length")
atr_multiplier = input(0.5, type=input.float, minval=0.5, title="ATR Multiplier")

vola = atr(atr_length) * atr_multiplier
price = sma(close, 3)

l = ema(lowest(low, lookback_length), smoother_length)
h = ema(highest(high, lookback_length), smoother_length)
center = (h + l) * 0.5
upper = center + vola
lower = center - vola
trend = ema(price > upper ? 1 : (price < lower ? -1 : 0), 3)
c = trend < 0 ? upper : lower

pcenter = plot(center, transp=100)
pclose = plot(close, transp=100)
pc = plot(c, transp=100)

buy_signal = crossover(trend, 0.0) 
sell_signal = crossunder(trend, 0.0)

strategy.entry("Buy", strategy.long, when=buy_signal)
strategy.close("Buy", when=sell_signal)

bgcolor(trend >= 0 ? color.green : color.red, transp=95)
fill(pc, pclose, color=trend >= 0 ? color.green : color.red)

Más.