
La estrategia se basa en la construcción de canales basados en el promedio móvil de 20 días (EMA) y se hace más cuando el precio se rompe en la parte superior del canal y se hace menos cuando el precio se cae en la parte inferior del canal, pertenece a la estrategia de seguimiento de tendencias.
La solución al riesgo:
La estrategia en general es simple y práctica, se basa en la construcción del canal EMA, y es una estrategia típica de seguimiento de tendencias. Tiene características de hacer señales de ruptura, pero también existe un cierto riesgo de falsedad. Se puede mejorar la eficacia de la estrategia mediante la optimización de los parámetros, el aumento de filtros, etc., y vale la pena realizar más pruebas y optimizaciones.
/*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=4
strategy("EMA Channel Strategy with Alerts", shorttitle="EMA Channel", overlay=true)
// Define EMA length
emaLength = 20
// Calculate EMA values
emaHigh = ema(high, emaLength)
emaLow = ema(low, emaLength)
// Define the condition for a buy signal
buyCondition = crossover(close, emaHigh)
// Define the condition for a sell signal
sellCondition = crossunder(close, emaLow)
// Plot the EMA lines
plot(emaHigh, color=color.green, title="EMA High")
plot(emaLow, color=color.red, title="EMA Low")
// Plot buy and sell signals
plotshape(buyCondition, style=shape.triangleup, location=location.belowbar, color=color.green, title="Buy Signal")
plotshape(sellCondition, style=shape.triangledown, location=location.abovebar, color=color.red, title="Sell Signal")
// Strategy
strategy.entry("Buy", strategy.long, when=buyCondition)
strategy.close("Buy", when=sellCondition)
// Define and trigger alerts
alertcondition(buyCondition, title="Buy Alert", message="Buy signal - Price crossed above EMA High")
alertcondition(sellCondition, title="Sell Alert", message="Sell signal - Price crossed below EMA Low")