Esta estratégia utiliza o cruzamento de uma EMA rápida (9 períodos) e de uma EMA lenta (21 períodos) como sinais de entrada e incorpora um stop loss para bloquear os lucros e evitar atrasos excessivos.
Quando a EMA rápida cruza acima da EMA lenta de baixo, um sinal de compra é gerado.
Uma vez inserida, a estratégia rastreia o máximo máximo em tempo real e desencadeia um stop loss quando o preço atual cai 2% abaixo do máximo máximo, bloqueando os lucros.
Soluções de riscos:
Esta estratégia integra as vantagens da identificação de tendências e do controlo de riscos. Através do ajuste e otimização de parâmetros, pode ser adaptada a diferentes tipos de mercado e instrumentos de negociação, e vale a pena testar e praticar ainda mais.
/*backtest start: 2023-12-12 00:00:00 end: 2023-12-19 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("EMA Crossover with Trailing Stop-Loss", overlay=true) fastEMA = ema(close, 9) slowEMA = ema(close, 21) // Entry conditions longCondition = crossover(fastEMA, slowEMA) shortCondition = crossunder(fastEMA, slowEMA) // Trailing stop-loss calculation var float trailingStop = na var float highestHigh = na if (longCondition) highestHigh := na trailingStop := na if (longCondition and high > highestHigh) highestHigh := high if (strategy.position_size > 0) trailingStop := highestHigh * (1 - 0.02) // Adjust the trailing percentage as needed // Execute trades strategy.entry("Long", strategy.long, when=longCondition) strategy.entry("Short", strategy.short, when=shortCondition) // Apply trailing stop-loss to long positions strategy.exit("Long", from_entry="Long", loss=trailingStop) // Plot EMAs and Trailing Stop-Loss plot(fastEMA, color=color.green, title="Fast EMA") plot(slowEMA, color=color.red, title="Slow EMA") plot(trailingStop, color=color.orange, title="Trailing Stop-Loss", linewidth=2)