
La estrategia de medias móviles cruzadas es una estrategia de comercio cuantitativa que genera señales de compra y venta basadas en señales cruzadas de dos medias móviles de diferentes períodos. La estrategia utiliza dos medias móviles simples de 9 y 20 días, que generan una señal de compra cuando la media corta cruza la media larga de abajo hacia arriba y una señal de venta cuando la media corta cruza la media larga de arriba hacia abajo. La lógica de la estrategia es simple, clara, fácil de implementar y optimizar.
El núcleo de la estrategia es el uso de señales cruzadas de diferentes medias móviles periódicas para capturar los puntos de inflexión de las tendencias del mercado. En concreto, los principales pasos de la estrategia son los siguientes:
A través de los pasos anteriores, la estrategia puede comprar la primera línea positiva después de atravesar la línea media de largo plazo en la línea media de corto plazo y vender la primera línea negativa después de atravesar la línea media de largo plazo en la línea media de corto plazo, lo que permite establecer una posición de paz en el momento en que se produce un cambio de tendencia.
Las estrategias de medias móviles cruzadas tienen las siguientes ventajas:
A pesar de las ventajas de las estrategias de medias móviles cruzadas, existen los siguientes riesgos:
Los riesgos mencionados pueden ser mejorados con las siguientes medidas:
Optimización de parámetros: optimización de los parámetros periódicos de las medias móviles para encontrar la combinación de parámetros más adecuada para el mercado actual y mejorar el rendimiento de la estrategia.
Filtración de señales: Basado en el cruce de líneas uniformes, se introducen otros indicadores o condiciones técnicas, como MACD, RSI, etc., para una segunda confirmación de la señal de negociación y mejorar la fiabilidad de la señal.
Gestión de posiciones: ajuste dinámico del tamaño de la posición según la intensidad de la tendencia del mercado, la volatilidad, etc. Aumente la posición cuando la tendencia es fuerte, reduzca la posición cuando la tendencia no es clara o aumenta la volatilidad, y aumente la proporción de riesgo de ganancias.
Detener los pérdidas: Introducir un mecanismo razonable de detener las pérdidas para controlar el umbral de riesgo de las operaciones individuales, mientras que las ganancias corren y aumentan los beneficios de la estrategia.
Cobertura de la franja: Considere la posibilidad de incorporar señales de contratiempo en la estrategia, al mismo tiempo que se mantiene una posición de franja, para cubrir el riesgo del mercado y mejorar la estabilidad de la estrategia.
Las orientaciones de optimización anteriores pueden ayudar a mejorar el rendimiento de las estrategias, pero la implementación concreta también requiere ajustes y pruebas en función de las circunstancias reales.
La estrategia de medias móviles cruzadas es una estrategia de seguimiento de tendencias simple y eficaz para capturar cambios en las tendencias del mercado a través de señales cruzadas de medias móviles de diferentes períodos. La lógica de la estrategia es clara y adaptable, pero al mismo tiempo existe el riesgo de retraso y el riesgo de un mercado inestable. Se puede mejorar aún más el rendimiento de la estrategia mediante la introducción de otros indicadores técnicos, parámetros de optimización y mejoras en la gestión de posiciones y medidas de control de riesgo.
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ZeroHeroTrading
//@version=5
strategy("Simple 9/20 Crossover", overlay=true)
// Define moving averages
ma9 = ta.sma(close, 9)
ma20 = ta.sma(close, 20)
// Set persistent variable to keep track of crossover condition
var bool crossoverCondition = false
// 9 MA crosses above 20 MA
// Set crossover condition to true
if ta.crossover(ma9, ma20)
crossoverCondition := true
// 9 MA crosses under 20 MA
// Reset crossover condition to false
if ta.crossunder(ma9, ma20)
crossoverCondition := false
// Set buy and sell signals
buySignal = crossoverCondition and close > open and close > ma9
sellSignal = close < ma9
// Execute trades based on signals
if (buySignal)
strategy.entry("Long", strategy.long)
// Avoid repeat entries by resetting crossover condition to false
crossoverCondition := false
if (sellSignal)
strategy.close("Long")
// Plot moving averages on the chart
plot(ma9, color=color.blue)
plot(ma20, color=color.red)