Esta estrategia se basa en la intersección de la media móvil de 9 días y la media móvil de 15 días y en algunas formas típicas de la línea K durante el día para generar señales comerciales. Haga más cuando la línea lenta está en la línea rápida y cumple con ciertas condiciones de ángulo y una forma específica de la línea K. Cuando la línea lenta está debajo de la línea rápida, haga un espacio.
Cuando la media móvil corta (línea de 9 días) atraviesa la media móvil larga (línea de 15 días), indica un fuerte impulso al alza del precio corto, más; cuando la media móvil corta atraviesa la media móvil larga (línea de 9 días), indica un fuerte impulso al descenso del precio corto, más; al mismo tiempo, se requiere que el ángulo de la media móvil sea mayor a 30 grados para garantizar que haya suficiente impulso al alza o al descenso.
Esta estrategia utiliza principalmente la función de seguimiento de tendencias de las medias móviles y las características de la forma de la línea K parcial, para adaptarse a las variedades de diferentes mercados mediante ajustes de parámetros.
La estrategia combina el indicador de media móvil y el juicio de la forma de la línea K durante el día para filtrar eficazmente parte del ruido y hacer que las señales de negociación sean más fiables. En particular, se ha aumentado el juicio del umbral angular para garantizar que solo se emita una señal cuando la movilidad del precio es lo suficientemente grande como para evitar falsas señales innecesarias. Además, la estrategia establece niveles de stop loss y stop hedge que reducen automáticamente las pérdidas máximas de los singles y logran la recuperación de ganancias. Estas iniciativas mejoran la estabilidad y la rentabilidad de la estrategia.
La media móvil es un indicador de seguimiento de tendencias que puede capturar las tendencias de precios a mediano y largo plazo. La forma de la línea K del día refleja el contraste de fuerzas de los participantes en el mercado a corto plazo, que se puede utilizar para obtener sugerencias comerciales en diferentes escalas de tiempo.
Los principales riesgos de esta estrategia son los siguientes:
Riesgo de falsa ruptura. Cuando el mercado está en un estado de reorganización de la agitación, las medias móviles pueden aparecer varias veces, cuando la mayoría de las señales emitidas en función de la intersección son falsas. En este momento, no se puede obtener ganancias, sino que puede ser ajustado.
Riesgo de reversión de tendencia. La media móvil es un indicador de seguimiento de tendencias que no puede dar señales previas cuando la tendencia se invierte.
El riesgo de optimización de parámetros. Los parámetros se adaptan de manera diferente a los diferentes mercados. Si no se hace el ajuste, puede haber pérdidas si se usa directamente una combinación de parámetros.
En general, esta estrategia puede generar ciertas falsas señales y riesgos de caída y subida en ausencia de una discernimiento del entorno del mercado. Estos riesgos pueden optimizarse y mitigarse aún más al incorporar juicios sobre tendencias y características cuantitativas a gran escala.
La estrategia también puede ser optimizada en los siguientes aspectos:
Aumentar los juicios sobre tendencias a gran escala. Por ejemplo, verificar si la línea media larga está en el canal ascendente o descendente, y evitar el comercio de retroceso.
Incluir el análisis de los indicadores de capacidad cuantitativa. Por ejemplo, los indicadores de tarifas de Tolstoi pueden determinar la tendencia de compra y venta, evitando el descuento arbitrario de los precios de las acciones con tarifas altas o los precios de las acciones con tarifas bajas.
Combinado con los fundamentos de las acciones. La selección de ciertas acciones con expectativas de ganancias positivas y de un crecimiento estable en el rendimiento puede aumentar las probabilidades de ganar.
Optimizar la combinación de parámetros de un sistema de medias móviles. Se pueden probar medias de diferentes ciclos de longitud, o combinar tres medias, cinco medias, etc., para construir un sistema de negociación con mayor espacio de ajuste de parámetros.
Prueba de diferentes parámetros de stop loss, stop-loss y stop-loss. De acuerdo con los resultados de la retrospección, establece un coeficiente de desviación para obtener la mejor relación de riesgo y beneficio.
Con la optimización de las direcciones anteriores, se puede esperar que la estrategia mejore aún más el nivel de rentabilidad y la estabilidad.
En general, esta estrategia integra las ventajas de los indicadores de media móvil y la forma de la línea K parcialmente diurna, con condiciones más estrictas para emitir señales de negociación, filtrando una gran cantidad de ruido, lo que mejora significativamente la calidad de la señal que atraviesa. Al mismo tiempo, controla las pérdidas máximas y las ganancias realizadas mediante la configuración de stop-loss y stop-gap.
El siguiente paso es mejorar aún más las probabilidades de victoria y la rentabilidad de la estrategia mediante la optimización de los parámetros. La incorporación de más indicadores también puede fortalecer la robustez del sistema de negociación en general. Después de una rigurosa simulación de plato real, la estrategia tiene la esperanza de convertirse en una herramienta de cuantificación efectiva que genere ganancias estables.
/*backtest start: 2024-01-29 00:00:00 end: 2024-02-28 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Moving Average Crossover Strategy with Candlestick Patterns", overlay=true) // Define input parameters fast_length = input(9, "Fast MA Length") slow_length = input(15, "Slow MA Length") stop_loss_percent = input(0.25, "Stop Loss (%)") target_percent = input(0.25, "Target (%)") angle_threshold = input(30, "Angle Threshold (degrees)") // Calculate moving averages fast_ma = sma(close, fast_length) slow_ma = sma(close, slow_length) // Define candlestick patterns is_pin_bar() => pin_bar = abs(open - close) > 2 * abs(open[1] - close[1]) high_tail = max(open, close) - high > abs(open - close) * 1.5 low_tail = low - min(open, close) > abs(open - close) * 1.5 pin_bar and high_tail and low_tail is_marubozu() => marubozu = abs(open - close) > abs(open[1] - close[1]) * 0.75 no_upper_shadow = high == max(open, close) no_lower_shadow = low == min(open, close) marubozu and no_upper_shadow and no_lower_shadow is_full_body() => full_body = abs(open - close) > abs(open[1] - close[1]) * 0.95 full_body // Plot moving averages plot(fast_ma, color=color.blue, title="Fast MA") plot(slow_ma, color=color.red, title="Slow MA") // Calculate angle of slow moving average ma_angle = abs(180 * (atan(slow_ma[1] - slow_ma) / 3.14159)) // Generate buy/sell signals based on angle condition and candlestick patterns buy_signal = crossover(fast_ma, slow_ma) and ma_angle >= angle_threshold and (is_pin_bar() or is_marubozu() or is_full_body()) sell_signal = crossunder(fast_ma, slow_ma) // Calculate stop-loss and target levels stop_loss_level = close * (1 - stop_loss_percent / 100) target_level = close * (1 + target_percent / 100) // Execute trades based on signals with stop-loss and target strategy.entry("Buy", strategy.long, when=buy_signal) strategy.exit("Exit", "Buy", stop=stop_loss_level, limit=target_level) // Plot buy/sell signals on chart (optional) plotshape(series=buy_signal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(series=sell_signal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small) // Plot angle line hline(angle_threshold, "Angle Threshold", color=color.black, linestyle=hline.style_dashed)