
A estratégia é baseada na construção de canais baseados na média móvel de 20 dias do índice (EMA), fazendo mais quando o preço quebra o canal acima e fazendo menos quando o preço cai no canal abaixo, e pertence à estratégia de acompanhamento de tendência.
A solução para o risco:
A estratégia geral é simples e prática, construída com base no canal EMA, e pertence à típica estratégia de acompanhamento de tendências. Tem características de sinalização de ruptura, mas também existe um certo risco de falha. A eficácia da estratégia pode ser aumentada por meio de parâmetros de otimização, adição de filtros, etc. Vale a pena testar e otimizar ainda mais.
/*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")