Esta estrategia combina el indicador de promedio móvil ATR adaptativo y el seguimiento de tendencias para descubrir tendencias en el mercado y operar a lo largo de la tendencia. Utiliza el promedio móvil Hull para suavizar el ATR y formar promedios móviles ATR suaves, luego genera señales comerciales basadas en la relación del precio con los promedios móviles ATR. Los promedios móviles ATR pueden filtrar eficazmente el ruido del mercado e identificar tendencias significativas. La estrategia también establece puntos fijos de stop loss y toma de ganancias para controlar la relación riesgo/recompensa por operación.
El indicador central de esta estrategia es el promedio móvil ATR. ATR es una importante herramienta de medición de volatilidad, que mide la volatilidad del mercado y las fluctuaciones de precios.
Específicamente, la estrategia primero calcula el True Range, que es la diferencia entre los precios altos y bajos del día, y la diferencia máxima entre el cierre anterior y el precio más alto / más bajo actual. Luego aplica el método de promedio móvil Hull para suavizar el TR y obtener promedios móviles ATR adaptativos. Los promedios móviles ATR pueden filtrar el ruido del mercado de alta frecuencia y solo capturar oscilaciones significativas de precios.
Después de calcular los promedios móviles de ATR, la estrategia compara el precio con los promedios móviles de ATR. Cuando el precio cruza por encima del promedio móvil de ATR, señala una tendencia al alza, y la estrategia va larga. Cuando el precio cruza por debajo del promedio móvil de ATR, señala una tendencia a la baja, y la estrategia va corta.
Además, los rangos fijos de stop loss y take profit se establecen después de cada operación. Cuando el precio alcanza el nivel de stop loss, la operación se detiene. Cuando el precio alcanza el nivel de take profit, se obtiene ganancia. Esto limita la pérdida y bloquea la ganancia para cada operación.
En resumen, esta estrategia combina medias móviles ATR adaptativas y una estricta gestión del riesgo para seguir tendencias significativas y controlar las pérdidas por operación, con el fin de lograr un crecimiento constante de las ganancias.
Las principales ventajas de esta estrategia son las siguientes:
El uso de medias móviles ATR adaptativas para identificar eficazmente las tendencias significativas y filtrar el ruido del mercado para evitar quedar atrapados.
Aplicación del método de la media móvil de Hull para calcular las medias móviles de ATR más suaves, evitando ser engañados por las fluctuaciones de alta frecuencia.
Establecer un stop loss fijo y obtener ganancias para limitar las pérdidas por operación y bloquear las ganancias, asegurando la relación riesgo/recompensación.
La tendencia después del estilo de negociación puede seguir capturando las tendencias y aumentar el potencial de ganancia.
Una lógica simple y clara, fácil de entender, con ajustes de parámetros flexibles para diferentes productos y mercados.
Se puede aplicar en cualquier producto para seguir la tendencia.
Los principales riesgos de esta estrategia son:
Posibilidad de señales falsas de las medias móviles ATR. Los precios pueden fluctuar violentamente y causar errores en las señales de las medias móviles ATR.
Si el stop loss es demasiado ajustado, aumenta la probabilidad de que se detenga, asegurándose de que el stop loss permita un movimiento de precios suficiente.
Considerar la rentabilidad dinámica basada en ATR.
Necesita pausar las operaciones durante tales eventos para evitar pérdidas enormes.
La falta de salida a tiempo cuando la tendencia se invierte puede conducir a pérdidas de la tendencia inversa.
Los parámetros deben optimizarse para diferentes productos y mercados, de lo contrario pueden afectar el rendimiento de la estrategia.
La estrategia se puede optimizar en los siguientes aspectos:
Optimizar los parámetros de la media móvil ATR, incluido el período ATR y los parámetros de suavizado, que afectan a la media móvil ATR.
Optimice la estrategia de stop loss y take profit. Considere paradas dinámicas y objetivos basados en ATR, en lugar de valores fijos.
Añadir reglas para determinar la inversión de tendencia, combinando otros indicadores, para evitar quedar atrapados por las inversiones.
Prueba y optimización de parámetros para diferentes productos y entornos de mercado para encontrar parámetros óptimos.
Añadir la detección de eventos extremos, pausa la negociación cuando se producen grandes picos de precios para controlar la pérdida.
Optimice el tiempo de entrada, considere entrar en retiros en lugar de escapes para reducir el riesgo.
Optimización de combinación de parámetros, prueba diferentes combinaciones de período ATR y parámetros de suavizado para encontrar la mejor coincidencia.
En resumen, esta estrategia utiliza promedios móviles de ATR adaptativos para identificar tendencias y negocia las tendencias con stop loss fijos y take profit. Los promedios móviles de ATR identifican efectivamente las tendencias, y las paradas fijas y los objetivos controlan el riesgo / recompensa. Las ventajas son una lógica simple y clara, fácil de entender, adaptable a diferentes productos a través del ajuste de parámetros. Pero los riesgos incluyen señales falsas, la configuración incorrecta de stop loss existe. Las mejoras futuras se pueden hacer mediante la optimización de los parámetros de los promedios móviles de ATR, las estrategias de stop loss / take profit, la adición de detección de inversión de tendencias, etc. para mejorar aún más la estrategia de rendimiento.
/*backtest start: 2022-10-26 00:00:00 end: 2023-11-01 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("ATR(Hull)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills= false, calc_on_every_tick=true, pyramiding=0) length = input(title="Length", defval=14, minval=1) price = input(close) SL = input(50, title="Stop loss") TP = input(150, title="Take profit") FromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2018, title = "From Year", minval = 2017) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2017) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) window() => true p=price[1] func_hma(style, length)=> return = wma((2*wma(p,length/2))-wma(p,length),round(sqrt(length))) ATR=func_hma(tr(true), length) plot(ATR[0], title="ATR1",color=green,transp=0) plot(ATR[1], title="ATR2",color=red,transp=0) if (ATR>ATR[1]) strategy.entry("long",strategy.long,comment="Long",when=window()) if (ATR<ATR[1]) strategy.entry("short",strategy.short,comment="Short",when=window()) //strategy.close_all(when=strategy.openprofit<-eqSL and window()) //strategy.close_all(when=strategy.openprofit>eqTP and window()) strategy.exit("exit", "long", profit = TP, loss = SL) strategy.exit("exit", "short", profit = TP, loss = SL)