En la carga de los recursos... Cargando...

Estrategia de negociación de media móvil doble

El autor:¿ Qué pasa?, Fecha: 2024-01-19 14:10:38
Las etiquetas:

img

Resumen general

La estrategia de negociación de media móvil doble es una estrategia de negociación cuantitativa común. Esta estrategia utiliza dos medias móviles con diferentes períodos de tiempo para generar señales de negociación basadas en su cruce. Específicamente, cuando el promedio móvil a corto plazo cruza por encima del promedio móvil a largo plazo, se considera una señal de compra; cuando el promedio móvil a corto plazo cruza por debajo del promedio móvil a largo plazo, se considera una señal de venta.

Principio

El principio básico de esta estrategia es: el promedio móvil a corto plazo refleja la tendencia a corto plazo del precio del activo, y el promedio móvil a largo plazo refleja la tendencia a largo plazo del precio del activo. Cuando la línea a corto plazo cruza por encima de la línea a largo plazo, indica que la tendencia a corto plazo se ha vuelto al alza, en este momento puede comprar. Cuando la línea a corto plazo cruza por debajo de la línea a largo plazo, indica que la tendencia a corto plazo se ha vuelto a la caída, en este momento puede vender. Siga la tendencia, capture el punto de inflexión de la tendencia del precio.

Específicamente, la estrategia define dos promedios móviles: un promedio móvil a corto plazo de 5 días para capturar las tendencias de precios a corto plazo; y un promedio móvil a largo plazo de 15 días para juzgar las tendencias de precios a largo plazo.

Análisis de las ventajas

En comparación con otras estrategias, la doble estrategia de promedios móviles tiene las siguientes ventajas:

  1. Simple de operar, fácil de entender e implementar, adecuado para principiantes en el comercio cuantitativo.
  2. Sigue la tendencia, evita perseguir la razón fundamental de la tendencia compleja del mercado.
  3. Ajuste de parámetros flexible, el período de media móvil se puede ajustar para adaptarse a diferentes entornos de mercado.
  4. Filtro eficaz del ruido del mercado, captura puntos de inflexión de tendencia a largo y corto plazo.
  5. Frecuencia de negociación personalizable para reducir los costes de transacción y las pérdidas por deslizamiento.

Análisis de riesgos

La estrategia de media móvil doble también tiene algunos riesgos, que incluyen principalmente:

  1. Puede generar señales falsas porque la media móvil es esencialmente una señal de retraso.
  2. Necesidad de monitorear dos promedios móviles simultáneamente, el ajuste de parámetros y la prueba de efecto son complejos.
  3. No puede manejar bien escenarios con fluctuaciones dramáticas de precios, fácilmente detuvo pérdidas.
  4. La frecuencia de negociación puede ser demasiado alta o demasiado baja, los parámetros deben optimizarse.
  5. El efecto está muy correlacionado con las condiciones del mercado, el mal desempeño durante el mercado bajista en general.

Soluciones:

  1. Combinar con otros indicadores para filtrar las señales.
  2. Optimizar los parámetros de la media móvil y el rendimiento de las pruebas.
  3. Establecer el rango de pérdida de parada apropiado.
  4. Ajustar los parámetros de la media móvil para optimizar la frecuencia de negociación.
  5. Ajustar los parámetros bajo diferentes condiciones de mercado.

Direcciones de optimización

La estrategia se puede optimizar en las siguientes direcciones:

  1. Combina con otros indicadores como MACD, KDJ para filtrar señales falsas.

  2. Introducir promedios móviles adaptativos, ajustar dinámicamente los parámetros basados en la volatilidad del mercado para mejorar la robustez.

  3. Optimizar los parámetros de la media móvil para encontrar la mejor combinación y mejorar el rendimiento de la estrategia.

  4. Añadir un mecanismo de stop loss para limitar las pérdidas y mejorar el control del riesgo.

  5. Combinación de múltiples marcos de tiempo, utilizando señales de líneas diarias y semanales para mejorar la estabilidad.

  6. Cambiar el estado de Markov, utilizar diferentes parámetros bajo diferentes estados del mercado para mejorar la adaptabilidad.

Resumen de las actividades

En general, la estrategia de negociación de media móvil dual es bastante efectiva y estable. El principio de negociación es simple de entender e implementar, los parámetros son flexibles para adaptarse a las tendencias del mercado. Mientras tanto, hay algunas limitaciones como generar señales falsas y dificultad para manejar fluctuaciones drásticas del mercado. Estos pueden abordarse mediante la introducción de otras herramientas y optimización de parámetros. En general, esta es una estrategia práctica adecuada para que los principiantes en negociación cuantitativa aprendan y practiquen.


//@version=3
strategy("CS: 2 Moving Averages Script - Strategy (Testing)", overlay=true)

// === GENERAL INPUTS ===
// short ma
ma1Source   = input(defval = close, title = "MA 1 Source")
ma1Length   = input(defval = 5, title = "MA 1 Period", minval = 1)
// long ma
ma2Source   = input(defval = close, title = "MA 2 Source")
ma2Length   = input(defval = 15, title = "MA 2 Period", minval = 1)

// === SERIES SETUP ===
/// a couple of ma's..
ma1 = ema(ma1Source, ma1Length)
ma2 = ema(ma2Source, ma2Length)

// === PLOTTING ===
fast = plot(ma1, title = "MA 1", color = red, linewidth = 2, style = line, transp = 30)
slow = plot(ma2, title = "MA 2", color = green, linewidth = 2, style = line, transp = 30)

// === LOGIC ===
enterLong = crossover(ma1, ma2)
exitLong = crossover(ma2, ma1)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, 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 = 2012)
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 = 2012)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"

// Entry //
strategy.entry(id="Long Entry", long=true, when=enterLong and window())
strategy.entry(id="Short Entry", long=false, when=exitLong and window())

Más.