
La estrategia es una estrategia de negociación basada en dos medias móviles. La estrategia realiza operaciones de forcado de oro y de forcado muerto en función de la longitud y longitud de las dos medias móviles establecidas por el usuario, es decir, emite una señal de negociación al atravesar una media móvil rápida o al atravesar una media móvil lenta.
La lógica central de esta estrategia se basa en el principio de la intersección de dos medias móviles. Una media móvil es la media obtenida al tomar el precio de cierre como una media aritmética durante un período de tiempo determinado. Una media móvil puede eliminar eficazmente el ruido aleatorio y reflejar una tendencia de precios más clara.
En esta estrategia, la MA corta representa la tendencia a corto plazo del precio, y la MA larga representa la tendencia a largo plazo del precio. La MA corta es más sensible a los cambios de precio que la MA larga y puede capturar la reversión del precio más rápidamente.
En concreto, la estrategia utiliza ta.sma para calcular el promedio móvil simple de un período especificado, lo que sirve como una señal de negociación. El usuario puede personalizar dos parámetros de MA, el período de la línea larga long_period y el período de la línea corta short_period. La estrategia utiliza ta.crossover y ta.crossunder para juzgar la cruz dorada y la cruz muerta de la MA.
La estrategia tiene las siguientes ventajas:
La estrategia también tiene sus riesgos:
Para los riesgos mencionados anteriormente, se puede optimizar mediante el ajuste de los parámetros de MA, el establecimiento de paradas de stop loss o la combinación de otros indicadores.
La estrategia puede ser optimizada en los siguientes aspectos:
La estrategia en su conjunto es muy adecuada como estrategia de entrada para el comercio cuantitativo. Sólo requiere un simple parámetro de doble MA para funcionar, es simple de operar, fácil de entender, y puede reflejar intuitivamente el tiempo de inversión del mercado. Al mismo tiempo, la estrategia deja un gran espacio de optimización, que puede ajustar los parámetros o agregar otras lógicas para mejorar según la necesidad real.
/*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("Cross 2 Moving Average Strategy", shorttitle="2MA Cross", overlay=true)
// User-defined input for moving averages
long_period = input(20, title="Long Period")
short_period = input(5, title="Short Period")
type_ma = input.string("SMA", title = "MA type", options = ["SMA", "EMA"])
// Calculating moving averages
long_ma = ta.sma(close, long_period)
short_ma = ta.sma(close, short_period)
// Plot moving averages
plot(long_ma, title="Long Moving Average", color=color.red)
plot(short_ma, title="Short Moving Average", color=color.green)
// Strategy logic for crossing of moving averages
longCondition = ta.crossover(short_ma, long_ma)
shortCondition = ta.crossunder(short_ma, long_ma)
// Entry orders
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Optional: Add stop loss and take profit
stop_loss_perc = input(1, title="Stop Loss (%)") / 100
take_profit_perc = input(2, title="Take Profit (%)") / 100
strategy.exit("Exit Long", from_entry="Long", stop=close*(1-stop_loss_perc), limit=close*(1+take_profit_perc))
strategy.exit("Exit Short", from_entry="Short", stop=close*(1+stop_loss_perc), limit=close*(1-take_profit_perc))