
A estratégia usa o cruzamento da média rápida do EMA ((9 ciclos) e da média lenta do EMA ((21 ciclos) como sinal de entrada, e combina o stop loss móvel para bloquear os lucros e evitar retrações excessivas.
Um sinal de compra é gerado quando a linha EMA rápida quebra a linha EMA lenta de baixo; um sinal de venda é gerado quando a linha EMA rápida quebra a linha EMA lenta de cima.
A estratégia segue o preço mais alto em tempo real e, quando o preço atual é inferior a 2% do preço mais alto, a estratégia dispara um stop loss móvel para bloquear o lucro.
A solução para o risco:
A estratégia integra os benefícios do discernimento de tendências e do gerenciamento de prejuízos, sendo possível tanto a tomada de decisão quanto o controle efetivo do risco. Pode ser aplicada a diferentes tipos de mercados e variedades de negociação por meio de ajustes e otimização de parâmetros, sendo uma prática que vale a pena testar 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)