O recurso está a ser carregado... Carregamento...

RSI e estratégia de negociação quantitativa baseada em média móvel

Autora:ChaoZhang, Data: 2023-12-01 14:21:18
Tags:

img

Resumo

Esta estratégia é chamada de Dual Moving Average Strategy. A ideia central é gerar sinais de negociação usando simultaneamente o índice de força relativa (RSI) e os indicadores de média móvel (MA). Especificamente, um sinal de compra é gerado quando a linha RSI cruza a linha MA de cima para baixo; um sinal de venda é gerado quando a linha RSI cruza a linha MA de baixo para cima. Esta estratégia é relativamente simples, mas ao combinar dois tipos diferentes de indicadores, pode efetivamente reduzir os sinais falsos e melhorar a confiabilidade do sinal.

Princípio

A lógica básica da estratégia da média móvel dupla é a seguinte:

  1. Calcular o valor do RSI para refletir a situação de sobrecompra e sobrevenda do estoque
  2. Calcular o valor MA para avaliar a tendência média dos preços
  3. Quando o RSI cai do ponto mais alto e entra na área de sobrevenda da área de sobrecompra e cruza abaixo da MA, um sinal de compra é gerado
  4. Quando o RSI sobe do ponto mais baixo, entra na área de sobrecompra da área de sobrevenda e cruza acima da MA, um sinal de venda é gerado.

Quando os sinais de negociação acima ocorrem, vamos desenhar marcas relevantes no gráfico para um julgamento visual fácil.

Vantagens

A maior vantagem da estratégia de média móvel dupla é que pode combinar eficazmente indicadores de tendência e indicadores de sobrecompra/supervenda para tornar os sinais de negociação mais confiáveis.

  1. A combinação de RSI e MA pode verificar os sinais entre si e evitar sinais falsos gerados por um único indicador.

  2. Comparado com uma única estratégia RSI ou MA, a estratégia de média móvel dupla pode obter oportunidades mais lucrativas.

  3. Esta estratégia utiliza apenas dois parâmetros, é simples de operar, de baixo custo e adapta-se a diferentes ambientes de mercado.

  4. Fácil de otimizar. Ajustando os parâmetros do ciclo de RSI e MA, é conveniente otimizar e adaptar-se a mais variedades.

Riscos

Apesar das muitas vantagens da estratégia da média móvel dupla, os riscos não podem ser completamente evitados na aplicação real.

  1. O MA utiliza preços médios históricos e pode ficar aquém das últimas variações de preços.

  2. O RSI pode experimentar falhas, resultando em sinais errados.

  3. Incapaz de se adaptar a tendências de mercado em rápida mudança, propenso a parar perdas.

  4. Ajustes de parâmetros inadequados também podem afetar muito o desempenho da estratégia.

Em resposta, realizamos principalmente o controlo dos riscos a partir dos seguintes aspectos:

  1. Utilize MA adaptativa para ajustar os parâmetros do ciclo com base nas últimas alterações de preços.

  2. Aumentar o mecanismo de stop loss para controlar a perda única.

  3. Otimizar os parâmetros para selecionar a melhor combinação de parâmetros para os ensaios.

  4. Adotar um stop loss de passo para bloquear lucros parciais e reduzir os riscos.

Orientações de otimização

Para problemas potenciais com a estratégia de média móvel dupla, consideramos a otimização a partir das seguintes dimensões:

  1. Utilize MA adaptativa em vez de MA comum para captar mais rapidamente as alterações da tendência dos preços.

  2. Aumentar a verificação do indicador de volume para evitar falhas. Por exemplo, só compre quando o preço de fechamento e o volume de negociação aumentarem juntos.

  3. Combinar outros indicadores para filtrar sinais inválidos. Por exemplo, verifica os indicadores MACD ou KD.

  4. Otimizar a faixa de configuração de parâmetros para encontrar a combinação ideal de parâmetros.

  5. Usar técnicas de aprendizagem de máquina para otimização de parâmetros adaptativos.

Através das otimizações acima referidas, espera-se melhorar consideravelmente o desempenho em tempo real da estratégia da média móvel dupla.

Resumo

A estratégia de média móvel dupla integra as vantagens dos indicadores RSI e MA. Através da cooperação dos dois, sinais de negociação mais precisos e confiáveis podem ser gerados. Em comparação com as estratégias de indicador técnico único, as estratégias de média móvel dupla têm maior precisão de sinal, menos sinais falsos, otimização fácil e outras vantagens. Mas o risco de má operação não pode ser completamente evitado. Também propusemos algumas medidas específicas de controle de risco. Além disso, existem dimensões que podem ser otimizadas ainda mais para esta estratégia. Combinando indicadores adaptativos, outros indicadores de verificação auxiliares, otimização de parâmetros e outros meios, espera-se melhorar ainda mais a taxa de retorno da estratégia. Em geral, esta estratégia fornece uma solução de análise técnica simples e prática para negociação quantitativa.


/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="RSI + MA", shorttitle="RSI + MA")
reverseTrade = input(false, title = "Use Reverse Trade?")
lengthRSI = input(14, minval=1, title="RSI Length")
sourceRSI = input(close, "RSI Source", type = input.source)

showMA = input(true, title="Show MA")
lengthMA = input(9, minval=1, title="MA Length")
offsetMA = input(title="MA Offset", type=input.integer, defval=0, minval=-500, maxval=500)

up = rma(max(change(sourceRSI), 0), lengthRSI)
down = rma(-min(change(sourceRSI), 0), lengthRSI)

rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
ma = sma(rsi, lengthMA)

plot(showMA ? ma : na, "MA", color=color.blue, linewidth=2, style=0, offset=offsetMA)
plot(rsi, "RSI", color=#9915FF, linewidth=1, style=0)

band1 = hline(70, "Upper Band", color=#C0C0C0, linestyle=2, linewidth=1)
band0 = hline(30, "Lower Band", color=#C0C0C0, linestyle=2, linewidth=1)
fill(band1, band0, color=color.new(#9915FF,95), title="Background")

buy = reverseTrade ? rsi[1] < ma[1] and rsi > ma : rsi[1] > ma[1] and rsi < ma
sell = reverseTrade ? rsi[1] > ma[1] and rsi < ma : rsi[1] < ma[1] and rsi > ma

strategy.entry("Buy", true, when = buy)
strategy.entry("Sell", false, when = sell)

Mais.