Esta es una estrategia de negociación cuantitativa que rastrea las tendencias al juzgar la tendencia general basada en promedios móviles y determinar puntos de ruptura utilizando el indicador de impulso HA. La estrategia es simple y fácil de entender, utilizando promedios móviles para determinar la dirección de la tendencia principal y luego confiando en el indicador de impulso HA para identificar puntos de entrada específicos.
La lógica central detrás de esta estrategia consiste en utilizar las medias móviles y el indicador de impulso HA para seguir las tendencias.
Juzgar la tendencia general: se calculan promedios móviles simples de 20 días y 200 días, cuando el promedio móvil de 20 días está por encima (por debajo) de la línea de 200 días, se determina una tendencia al alza (a la baja).
Decidir el momento de entrada: El indicador de impulso HA se calcula comparando el tamaño de las aberturas del cuerpo de la vela, los valores mayores que el parámetro HA_Candle_strength implican un impulso más fuerte donde se pueden ingresar posiciones. Además, se verifica que el precio de cierre esté por encima / por debajo del promedio móvil de 20 días para determinar la dirección de la ruptura.
Establecimiento de salidas Stop Loss/Take Profit: las salidas de estrategia se definen en función de los importes de las ganancias/pérdidas.
A través de este proceso, la estrategia es capaz de capturar partes intermedias de las tendencias establecidas y seguirlas.
Las ventajas de esta estrategia incluyen:
Lógica simple y clara que sea fácil de entender/optimizar.
Las medias móviles filtran el ruido y capturan la tendencia primaria.
El impulso de HA evita las falsas rupturas midiendo la fuerza de la ruptura.
La precisión del tiempo de entrada se mejora mediante una combinación de dirección de tendencia e impulso.
Las exposiciones a pérdidas/beneficios definidas controlan el riesgo de una operación única.
Principales riesgos a los que se enfrenta esta estrategia:
Las señales de cruce frecuentes pueden conducir a malas operaciones en mercados variados.
La configuración inadecuada de los parámetros podría dar lugar a operaciones perdidas o señales falsas.
No puede adaptarse a todos los tipos de regímenes de mercado, puede enfrentar mayores pérdidas en mercados lateralmente agitados.
El hecho de no identificar puntualmente los puntos de inversión de tendencia podría dar lugar a pérdidas amplificadas.
Soluciones correspondientes:
Filtros adicionales para eliminar señales no válidas.
Pruebas de optimización de parámetros para encontrar combinaciones ideales de parámetros.
Incorporar métricas de volatilidad para evitar errores en mercados agitados.
Utilice órdenes de stop loss adaptativas para obtener ganancias.
Otras mejoras para esta estrategia:
Para mejorar la robustez, utilizar períodos de media móvil adaptativos en lugar de valores fijos.
Añadir un filtro de volumen para evitar señales cuando la convicción del mercado es débil.
Optimiza los parámetros automáticamente a través del aprendizaje automático para aumentar la estabilidad.
Dinámico de seguimiento stop loss en lugar de stop loss estático para capturar las ganancias.
Incorporar más indicadores para evaluar la calidad y las condiciones del mercado.
En resumen, esta es una estrategia de seguimiento de tendencias basada en determinar la dirección de la tendencia prevaleciente con promedios móviles y utilizando el impulso HA para las señales de entrada de tiempo. La lógica es simple y clara, proporcionando una generación de señal precisa durante la progresión de la tendencia. Hay algunas limitaciones que deben abordarse a través de una optimización adicional y filtros adicionales, pero en general esta estrategia sirve como un buen ejemplo introductorio para que los aspirantes a comerciantes cuánticos aprendan.
/*backtest start: 2023-12-03 00:00:00 end: 2023-12-10 00:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("HA Trend Following", overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 2) //parameters input Trend_DIR_MA = input(defval = 200, title = "MA for trend direction") HA_Candle_strength = input(defval = 2, title = "HA candle strength") Rng = abs(open - close) // HA_Momentum - size of break out body HA_Momentum = sma(Rng, 1) / sma(Rng, 5) plot(HA_Momentum, color=green, linewidth=1, style=line) plot(HA_Candle_strength, color= blue) // open position longCondition = close > sma(close, 20) and (sma(close, 20) > sma(close, Trend_DIR_MA) )and HA_Momentum > HA_Candle_strength and close - open > 0 if (longCondition) strategy.entry(id = "Lng", long = true) ShortCondition = close < sma(close, 20) and (sma(close, 20) < sma(close, Trend_DIR_MA) ) and HA_Momentum > HA_Candle_strength and close - open < 0 if (ShortCondition) strategy.entry(id = "Shrt", long = false) // close position strategy.exit("ExL", from_entry = "Lng", loss = 500 , profit = 1500) strategy.exit("ExS", from_entry = "Shrt", loss = 500 , profit = 1500)