Esta estratégia utiliza o índice de força relativa (RSI) e a média móvel simples (SMA) para identificar potenciais oportunidades de reversão média no mercado. Quando o RSI está abaixo do limiar de compra e o preço está abaixo do SMA, um sinal de compra é gerado. Quando o RSI está acima do limiar de venda e o preço está acima do SMA, um sinal de venda é gerado. A estratégia também define níveis de meta de stop loss e lucro para gerenciar riscos comerciais e bloquear lucros.
O princípio central desta estratégia é o conceito de reversão média, que sugere que os preços tendem a voltar aos seus níveis médios após atingir níveis extremos.
Em especial, a estratégia segue as seguintes etapas:
Esta estratégia de reversão média do índice de força relativa aproveita o RSI e o SMA para capturar oportunidades de reversão quando os preços se desviam de sua média. Tem vantagens como simplicidade, facilidade de compreensão e adaptabilidade. No entanto, pode ter um desempenho inferior nos mercados de tendências e depende da seleção de parâmetros. Ao otimizar os métodos de stop loss e take profit, configurações de parâmetros, incorporando indicadores adicionais e implementando medidas de gerenciamento de risco, o potencial de robustez e lucratividade desta estratégia pode ser ainda melhorado.
/*backtest start: 2024-04-01 00:00:00 end: 2024-04-30 23:59:59 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('Mean Reversion with Tight Stop Loss', overlay=true) // Define parameters rsiLength = 14 rsiThresholdBuy = 30 rsiThresholdSell = 70 smaPeriod = 20 stopLossPercentage = 0.5 // 0.5% stop loss profitTargetPercentage = 1 // 1% profit target // Calculate indicators rsi = ta.rsi(close, rsiLength) sma = ta.sma(close, smaPeriod) // Entry conditions buySignal = rsi < rsiThresholdBuy and close < sma sellSignal = rsi > rsiThresholdSell and close > sma // Exit conditions if strategy.position_size > 0 stopLoss = strategy.position_avg_price * (1 - stopLossPercentage / 100) takeProfit = strategy.position_avg_price * (1 + profitTargetPercentage / 100) if close <= stopLoss or close >= takeProfit strategy.close('Exit', comment='Stop Loss / Take Profit') // Execute trades if buySignal strategy.entry('Buy', strategy.long) if sellSignal strategy.entry('Sell', strategy.short)