
La estrategia de cruce de medias móviles es una estrategia de negociación de acciones más común. La estrategia genera señales de compra y venta al calcular las medias móviles rápidas y las medias móviles lentas y al cruzarlas. En concreto, genera señales de compra cuando las medias móviles rápidas atraviesan las medias móviles lentas desde abajo; genera señales de venta cuando las medias móviles rápidas atraviesan las medias móviles lentas desde arriba.
La lógica central de esta estrategia es que los promedios móviles rápidos representan la tendencia a corto plazo de las acciones, mientras que los promedios móviles lentos representan la tendencia a largo plazo de las acciones. Cuando la tendencia a corto plazo se convierte en ascendente, indica que las acciones entran en la zona de compra y venta; y cuando la tendencia a corto plazo se convierte en descendente, indica que las acciones entran en la zona de venta y venta.
En concreto, la estrategia define un promedio móvil rápido maFast y un promedio móvil lento maSlow. La longitud de maFast es de 9, representando la tendencia a corto plazo de 9 días de la acción; la longitud de maSlow es de 18, representando la tendencia a largo plazo de 18 días de la acción. La estrategia determina el cambio de tendencia a corto plazo y largo plazo calculando la intersección de dos medias móviles.
La estrategia tiene las siguientes ventajas:
La estrategia también tiene sus riesgos:
Se puede reducir el riesgo mediante la modificación de los parámetros de las medias móviles y la configuración de estrategias de stop loss.
La estrategia tiene espacio para ser optimizada aún más:
La estrategia de cruce de media móvil es una estrategia muy clásica y práctica en general. Su principio es simple, fácil de implementar y tiene una amplia aplicación en el comercio real. A través de la optimización de los parámetros y la aplicación de indicadores técnicos auxiliares, la estrategia puede mejorarse aún más y obtener una mejor relación riesgo-beneficio. En general, la estrategia es una piedra angular importante para el comercio cuantitativo y merece un estudio y aplicación más profundos.
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="Moving Average Cross", overlay=true, initial_capital=10000, currency='USD')
// === GENERAL INPUTS ===
// short ma
maFastSource = input(defval = close, title = "Fast MA Source")
maFastLength = input(defval = 9, title = "Fast MA Period", minval = 1)
// long ma
maSlowSource = input(defval = close, title = "Slow MA Source")
maSlowLength = input(defval = 18, title = "Slow MA Period", minval = 1)
// === SERIES SETUP ===
/// a couple of ma's..
maFast = ema(maFastSource, maFastLength)
maSlow = ema(maSlowSource, maSlowLength)
// === PLOTTING ===
fast = plot(maFast, title = "Fast MA", color = red, linewidth = 2, style = line, transp = 30)
slow = plot(maSlow, title = "Slow MA", color = green, linewidth = 2, style = line, transp = 30)
// === LOGIC ===
enterLong = crossover(maFast, maSlow)
exitLong = crossover(maSlow, maFast)
// Entry //
strategy.entry(id="Long Entry", long=true, when=enterLong)
strategy.entry(id="Short Entry", long=false, when=exitLong)
// === FILL ====
fill(fast, slow, color = maFast > maSlow ? green : red)