Estrategia de reversión de la media móvil cruzada doble

El autor:¿ Qué pasa?, Fecha: 2023-12-01 16:56:43
Las etiquetas:

img

Resumen general

La estrategia de inversión de cruce de media móvil doble es una estrategia comercial cuantitativa típica que rastrea las tendencias. La estrategia utiliza las señales de cruce de la línea de 9 días y la línea de 14 días en el indicador de media móvil doble para construir señales de compra y venta. Compra cuando la línea de 9 días rompe la línea de 14 días desde abajo para formar una cruz de oro, y vende cuando la línea de 9 días rompe la línea de 14 días desde arriba para formar una cruz de muerte. Para filtrar las señales falsas, la estrategia también introduce el indicador de línea de 50 días para determinar si el precio rompe.

Principio de la estrategia

Esta estrategia opera principalmente sobre la base de las señales de cruz de oro y cruz de muerte del indicador de media móvil dual. En las medias móviles duales, la línea de 9 días representa tendencias a corto plazo, la línea de 14 días representa tendencias a mediano plazo, y su cruce es un indicador técnico efectivo para juzgar los giros en las tendencias del mercado. Cuando la línea de tendencia a corto plazo rompe la línea de tendencia a mediano plazo desde abajo para formar una cruz de oro, indica que la línea de tendencia a corto plazo se está fortaleciendo, lo que es una señal de compra; cuando rompe desde arriba para formar una línea de tendencia a corto plazo, indica que la línea de tendencia a corto plazo se está debilitando, lo que es una señal de venta.

Además, la estrategia también introduce la línea de 50 días para filtrar señales engañosas. Solo genera una compra cuando el precio está por encima de la línea de 50 días; y solo genera una venta cuando el precio está por debajo de la línea de 50 días. La línea de 50 días representa tendencias a medio y largo plazo. Solo cuando las tendencias a medio y largo plazo coinciden, se llevan a cabo operaciones a corto plazo.

La lógica básica es la siguiente:

// Buy condition: 9-day line crosses above 14-day line and close price is above 50-day line 
buyCondition = ta.crossover(sma9, sma14) and close > sma50 

// Sell condition: 9-day line crosses below 14-day line and close price is below 50-day line
sellCondition = ta.crossunder(sma9, sma14) and close < sma50

Análisis de ventajas

Las ventajas de la doble estrategia de media móvil son obvias:

  1. Simple de entender e implementar, adecuado para el aprendizaje de los principiantes.
  2. Sigue la tendencia, evita quedar atrapado en mercados de rango.
  3. Utilice indicadores a medio y largo plazo para filtrar señales engañosas y evitar ser engañado por el ruido del mercado a corto plazo.
  4. Puede seguir las tendencias de los mercados y obtener beneficios de manera eficiente durante períodos prolongados.

Análisis de riesgos

La doble estrategia de media móvil también presenta algunos riesgos:

  1. En condiciones de mercado extremas como caídas de mercado, puede haber grandes bajadas antes de que se forme una cruz de muerte.
  2. En los mercados variados, las cruces de oro y las cruces de muerte se alternan, abriendo y deteniendo posiciones repetidamente.

Para hacer frente a los riesgos, se pueden realizar optimizaciones como las siguientes:

  1. Introduzca otros indicadores para reducir rápidamente las pérdidas en condiciones de mercado que se derrumban.
  2. Añadir más filtros de apertura para evitar cruces alternos en mercados variados.

Direcciones de optimización

La doble estrategia de media móvil puede optimizarse en varios aspectos:

  1. Optimización de parámetros, ajuste de períodos de promedio móvil, optimización de parámetros de indicadores.
  2. Incorpore más indicadores para juzgar las condiciones del mercado y evitar señales falsas.
  3. Introducir mecanismos de stop loss, emplear movimiento de stop loss, penetración de stop loss y otros métodos de stop.
  4. Combinar con otras estrategias de negociación como las estrategias de volumen y volatilidad.
  5. Utilizar adecuadamente el apalancamiento para mejorar la eficiencia operativa.

Resumen de las actividades

La estrategia de media móvil dual es generalmente una estrategia eficiente para generar ganancias. Puede obtener ganancias siguiendo las tendencias continuamente. Al mismo tiempo, tiene ciertos riesgos y necesita mejoras adicionales. Al optimizar los parámetros, los métodos de parada y las combinaciones de estrategias, los efectos de esta estrategia pueden mejorarse aún más.


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

//@version=5
strategy("smaCrossReverse", shorttitle="smaCrossReverse", overlay=true)

// Define the length for the SMAs
sma9Length = input(9, title="SMA 9 Length")
sma14Length = input(14, title="SMA 14 Length")
sma50Length = input(50, title="SMA 50 Length")  // Add input for SMA 50

// Calculate SMAs
sma9 = ta.sma(close, sma9Length)
sma14 = ta.sma(close, sma14Length)
sma50 = ta.sma(close, sma50Length)  // Calculate SMA 50

// Buy condition: SMA 9 crosses above SMA 14 and current price is above SMA 50
buyCondition = ta.crossover(sma9, sma14) and close > sma50

// Sell condition: SMA 9 crosses below SMA 14 and current price is below SMA 50
sellCondition = ta.crossunder(sma9, sma14) and close < sma50

// Track the time since position was opened
var float timeElapsed = na
if (buyCondition)
    timeElapsed := 0
else
    timeElapsed := na(timeElapsed[1]) ? timeElapsed[1] : timeElapsed[1] + 1

// Close the buy position after 5 minutes
if (timeElapsed >= 5)
    strategy.close("Buy")

// Track the time since position was opened
var float timeElapsedSell = na
if (sellCondition)
    timeElapsedSell := 0
else
    timeElapsedSell := na(timeElapsedSell[1]) ? timeElapsedSell[1] : timeElapsedSell[1] + 1

// Close the sell position after 5 minutes
if (timeElapsedSell >= 5)
    strategy.close("Sell")

// Plot the SMAs on the chart
plot(sma9, title="SMA 9", color=color.blue)
plot(sma14, title="SMA 14", color=color.red)
plot(sma50, title="SMA 50", color=color.green)  // Plot SMA 50 on the chart

// Strategy entry and exit conditions using if statements
if (buyCondition)
    strategy.entry("Buy", strategy.long)

if (sellCondition)
    strategy.entry("Sell", strategy.short)


Más.