Estratégia de negociação de ações equilibrada baseada no RSI

Autora:ChaoZhang, Data: 2024-01-29
Tags:

img

Resumo

Esta estratégia baseia-se no índice de força relativa (RSI) suavizado para determinar os sinais de compra e venda, que é uma tendência típica após a estratégia.

Princípio da estratégia

  1. Calcular o valor do RSI de 5 dias da ação
  2. A redução dos valores do RSI através da média móvel simples de 5 dias, obtendo o indicador RSI suavizado
  3. Coloque a linha de sobrecompra em 80 e a linha de sobrevenda em 40
  4. Gerar sinal de compra quando o RSI suavizado cruzar acima da linha de sobrevenda
  5. Gerar sinal de venda quando o RSI suavizado cruzar abaixo da linha de sobrecompra

A chave desta estratégia está na configuração de um indicador RSI suavizado. O indicador RSI pode refletir o estado de sobrecompra/supervenda dos preços das ações. No entanto, o indicador RSI original flutuaria drasticamente junto com o preço, o que não é propício para gerar sinais de negociação. Portanto, esta estratégia suaviza-o tomando média móvel simples de 5 dias, o que pode efetivamente filtrar algum ruído e tornar os sinais de negociação mais claros e confiáveis.

Análise das vantagens

  1. O indicador RSI suavizado aumenta a estabilidade do indicador RSI original, tornando os sinais de negociação mais confiáveis
  2. A adoção de média móvel simples para suavizar o indicador RSI realiza otimização de parâmetros, evitando limitações causadas pela definição manual do limiar
  3. A combinação de áreas de sobrecompra/supervenda pode determinar claramente o estado do mercado e gerar sinais de compra/venda
  4. A estratégia é simples de implementar, fácil de compreender e aplicar

Análise de riscos e otimização

  1. O indicador RSI suavizado reduz a sensibilidade do indicador RSI, o que pode levar a sinais de compra/venda atrasados.
  2. A definição de comprimentos de média móvel e limiares de sobrecompra/supervenda afeta o desempenho da estratégia, exigindo a otimização dos parâmetros
  3. Os sinais de negociação podem ter falsos positivos e falsos negativos, exigindo uma análise combinada com tendências de preços, volumes de negociação, etc.
  4. A utilização exclusiva do indicador RSI pode conduzir a um desempenho instável da estratégia, considerar a incorporação de outros indicadores técnicos ou indicadores fundamentais

Orientações de otimização

  1. Ajustar a média móvel diária e os limiares de sobrecompra/supervenda para otimização dos parâmetros
  2. Incorporar outros indicadores técnicos como MACD, KD para formar sinais comerciais combinados
  3. Adicionar filtro de volume de negociação para evitar sinais errados quando o preço muda drasticamente, mas o volume de negociação é inativo
  4. Combinar a análise dos fundamentos das acções com a prosperidade da indústria para melhorar a estabilidade da estratégia
  5. Adicionar um mecanismo de stop loss para reduzir as perdas quando a perda comercial atingir um determinado nível, controlando os riscos

Conclusão

Esta estratégia gera sinais de compra/venda relativamente claros através do cálculo e suavização do indicador RSI e da definição de zonas de sobrecompra/supervenda razoáveis. Em comparação com as estratégias originais do RSI, tem a vantagem de sinais mais estáveis e confiáveis.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Smoothed RSI Strategy", overlay=true)

// Calculate the RSI
length = 5
rsiValue = ta.rsi(close, length)

// Smooth the RSI using a moving average
smoothedRsi = ta.sma(rsiValue, length)

// Define overbought and oversold thresholds
overbought = 80
oversold = 40

// Buy signal when RSI is in oversold zone
buyCondition = ta.crossover(smoothedRsi, oversold)

// Sell signal when RSI is in overbought zone
sellCondition = ta.crossunder(smoothedRsi, overbought)

// Plotting the smoothed RSI
// Plotting the smoothed RSI in a separate pane
plot(smoothedRsi, color=color.blue, title="Smoothed RSI", style=plot.style_line, linewidth=2)

//plot(smoothedRsi, color=color.blue, title="Smoothed RSI")
hline(overbought, "Overbought", color=color.red)
hline(oversold, "Oversold", color=color.green)

// Strategy logic for buying and selling
if (buyCondition)
    strategy.entry("Buy", strategy.long)
if (sellCondition)
    strategy.close("Buy")




Mais.