A estratégia usa uma combinação de crossovers de média móvel exponencial dupla (EMA) e índice de força relativa (RSI) para identificar potenciais oportunidades de negociação nos mercados.
A ideia central é comprar quando a EMA de 9 semanas mais rápida se move para cima e cruza acima da EMA de 21 semanas mais lenta, pois isso sinaliza que a tendência do mercado pode estar se fortalecendo.
Especificamente, um sinal de entrada longo é acionado quando a EMA de 9 semanas cruza acima da EMA de 21 semanas e o RSI de 14 semanas é maior que 50. As posições são então dimensionadas para o risco da conta de 2%, com um objetivo de stop loss de 5% e lucro de 10%.
O sinal de venda baseia-se na lógica oposta: se a EMA de 9 semanas cruzar abaixo da EMA de 21 semanas ou se o RSI cair abaixo de 50, isso indica que a tendência de curto prazo se reverteu para baixo.
Isso pode ser otimizado testando sistematicamente combinações desses parâmetros. Filtros adicionais na lógica de condição podem reduzir as negociações ruidosas. Considerando os fundamentos pode fornecer mais confirmação.
A estratégia aproveita o poder da EMA e do RSI para identificar oportunidades potenciais dentro de tendências maiores. Ele fornece regras claras de gerenciamento de risco para controlar efetivamente o risco por negociação. Testes adicionais e otimização de parâmetros podem continuar melhorando o desempenho. Ele oferece uma maneira eficaz de negociar oscilações cíclicas maiores nos mercados.
/*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)