
La estrategia de cruce de medias móviles es una estrategia de negociación basada en el cruce de dos medias móviles (medias móviles rápidas y medias móviles lentas). Se toma una posición larga (comprar) cuando la media móvil rápida se eleva por encima de la media móvil lenta. Por el contrario, se elimina la posición anterior de varios jefes cuando la media móvil rápida se desploma por encima de la media móvil lenta.
La estrategia utiliza dos medias móviles. Una es una media móvil rápida a corto plazo, y otra es una media móvil lenta a largo plazo. La media móvil rápida responde más rápidamente a los cambios en los precios, la media móvil lenta filtra las fluctuaciones a corto plazo y refleja mejor la tendencia a largo plazo.
Se puede establecer un stop loss para controlar el riesgo. La elección de los parámetros adecuados puede mejorar la eficacia de la estrategia.
La estrategia de cruce de media móvil en general es una estrategia de seguimiento de tendencias sencilla y práctica. Utiliza el promedio móvil como indicador para identificar cambios en la tendencia de los precios. La ventaja es que se logra una sencillez, una facilidad de comprensión y un retroceso menor. La desventaja es que puede generar señales erróneas y tener un retraso.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Simple Moving Average Crossover", overlay=true)
// Input parameters
fastLength = input(10, title="Fast MA Length")
slowLength = input(30, title="Slow MA Length")
stopLossPercent = input(1, title="Stop Loss Percentage")
// Calculate moving averages
fastMA = ta.sma(close, fastLength)
slowMA = ta.sma(close, slowLength)
// Buy condition: Fast MA crosses above Slow MA
buyCondition = ta.crossover(fastMA, slowMA)
// Sell condition: Fast MA crosses below Slow MA
sellCondition = ta.crossunder(fastMA, slowMA)
// Plot moving averages as lines
plot(fastMA, color=color.blue, title="Fast MA", linewidth=2)
plot(slowMA, color=color.red, title="Slow MA", linewidth=2)
// Execute trades based on conditions
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.close("Buy")
// Set stop loss level
stopLossLevel = close * (1 - stopLossPercent / 100)
strategy.exit("Sell", from_entry="Buy", loss=stopLossLevel)