
A estratégia usa uma combinação de cruzamentos de médias móveis binárias e indicadores de fraqueza relativa para identificar potenciais oportunidades de negociação no mercado. É adequada para os comerciantes que seguem movimentos e flutuações de preços maiores.
A ideia central é comprar quando a rápida média móvel de 9 semanas do índice ultrapassa a mais lenta média móvel de 21 semanas, pois isso indica que a tendência do mercado pode estar se fortalecendo. Então, se o RSI for maior que 50, confirme o sinal de compra, pois isso significa que o aumento de preços está sendo forte.
Especificamente, quando a EMA de 9 semanas ultrapassa a EMA de 21 semanas e o RSI de 14 semanas é maior que 50, um sinal de compra é emitido. Em seguida, usa-se um risco de conta de 2% para abrir uma posição, 5% para parar, 10% para parar.
Os sinais de venda são baseados na lógica inversa: se a EMA de 9 semanas atravessa a EMA de 21 semanas ou o RSI é inferior a 50, isso significa que a tendência de curto prazo mudou para a baixa.
Pode ser otimizado testando sistematicamente a combinação desses parâmetros. Também pode ser adicionado um filtro na lógica condicional para reduzir a troca de ruído. Considerando os fatores fundamentais pode fornecer mais confirmação.
A estratégia utiliza o poder da EMA e do RSI para identificar oportunidades potenciais em tendências de médio e longo prazo. Ela fornece regras claras de gerenciamento de risco que podem controlar efetivamente o risco de cada transação. A performance da estratégia pode ser continuamente melhorada por meio de testes e otimização de parâmetros adicionais.
/*backtest
start: 2023-12-22 00:00:00
end: 2024-01-21 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Weekly Swing Trading Strategy", overlay=true)
// Entry Indicators
shortEma = ema(close, 9)
longEma = ema(close, 21)
rsiValue = rsi(close, 14)
// Entry Condition
longCondition = crossover(shortEma, longEma) and rsiValue > 50
if (longCondition)
strategy.entry("Long", strategy.long)
// Position Sizing (2% risk per trade)
riskPerTrade = 0.02
stopLossPercent = 0.05 // 5% stop loss
stopLossPrice = close * (1 - stopLossPercent)
strategy.exit("Stop Loss", "Long", stop=stopLossPrice)
// Profit Target and Trailing Stop
profitTargetPercent = 0.10 // 10% profit target
profitTargetPrice = close * (1 + profitTargetPercent)
trailStopPercent = 0.03 // 3% trailing stop
strategy.exit("Take Profit", "Long", limit=profitTargetPrice, trail_price=trailStopPercent, trail_offset=trailStopPercent)
// Exit Strategy
exitCondition = crossunder(shortEma, longEma) or rsiValue < 50 // Exit when EMAs cross or RSI drops below 50
strategy.close("Long", when=exitCondition)
plot(shortEma, color=color.red)
plot(longEma, color=color.blue)
hline(50, "RSI 50", color=color.purple)