
A estratégia usa o índice de força e fraqueza relativa (RSI) e a média móvel simples (SMA) para identificar oportunidades de potencial retorno do valor médio no mercado. Um sinal de compra é gerado quando o RSI está abaixo do limiar de compra e o preço está abaixo do SMA; um sinal de venda é gerado quando o RSI está acima do limiar de venda e o preço está acima do SMA. A estratégia também define níveis de stop loss e stop loss para gerenciar o risco de negociação e bloquear os lucros.
O princípio central da estratégia é o conceito de regresso ao valor médio, ou seja, os preços tendem a retornar perto de sua média quando estão em níveis extremos. Usando o indicador RSI para medir o estado de sobrecompra e sobrevenda de preços, e combinando o SMA como referência de preços, a estratégia tenta capturar a oportunidade de retorno após o preço se desviar muito do valor médio.
Em particular, a estratégia utiliza os seguintes passos:
Esta estratégia de retorno de valor médio de índices relativamente fracos usa o RSI e o SMA para capturar oportunidades de retorno após o desvio de preços da média. Ela possui vantagens como simplicidade, facilidade de compreensão e adaptabilidade, mas pode ter um fraco desempenho em mercados em tendência e depende da escolha de parâmetros. A solidez e o potencial de lucro da estratégia podem ser aumentados ainda mais pela otimização do método de parada de perda, configuração de parâmetros e introdução de outros indicadores e medidas de gerenciamento de risco.
/*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)