A estratégia de reversão dupla do RSI

Autora:ChaoZhang, Data: 2023-11-22 14:59:07
Tags:

img

Resumo

Esta estratégia é uma estratégia de tendência baseada no princípio de inversão dupla do indicador RSI. Ele usa cruzamento entre linhas RSI de períodos diferentes como sinais de compra e venda, ao mesmo tempo em que incorpora julgamentos do indicador RSI sobre se a situação atual é sobrecomprada ou sobrevendida para confirmar ainda mais a validade dos sinais de negociação.

Estratégia lógica

A estratégia é baseada principalmente nas duas linhas de indicadores RSI de 5 dias e 11 dias. Quando o RSI mais rápido (5-day line) quebra o RSI mais lento (11-day line) para cima enquanto o RSI de 6 dias está abaixo de 30 ao mesmo tempo, um sinal de compra é gerado; Quando o RSI mais rápido quebra o RSI mais lento para baixo enquanto o RSI de 6 dias está acima de 70 ao mesmo tempo, um sinal de venda é gerado.

A estratégia também traça 30 e 70 linhas horizontais, com 30 representando a área de sobrevenda e 70 representando a área de sobrecompra. A idéia básica do indicador RSI é que, quando na área de sobrecompra / sobrevenda, significa que o ativo está sobre/subvalorizado e deve-se considerar aproveitar oportunidades de lucro / compra. Portanto, a estratégia incorpora julgamentos sobre o RSI de 6 dias para ver se está na região OBOS para filtrar alguns sinais falsos e melhorar a confiabilidade.

Quando os sinais de compra e venda são gerados, a estratégia irá colocar ordens longas e curtas de acordo.

Vantagens

  1. Alta fiabilidade devido ao princípio da dupla cruz
  2. Evitar sinais falsos através da incorporação de RSI multiperíodo
  3. Negociação bidirecional adequada para seguir tendências
  4. Indicador RSI estável com grande espaço de otimização

Riscos e soluções

  1. Dual cross sinais de atraso e pode perder alguns altos e baixos
    Solução: Encurtar o parâmetro de período RSI mais rápido para tornar os sinais mais sensíveis

  2. Mais sinais falsos podem ocorrer em mercados de tendência
    Solução: ajustar o parâmetro OBOS para evitar sinais falsos em tendências

  3. Probabilidades de divergência ou falha do indicador RSI
    Solução: combinar com outros indicadores para evitar a única probabilidade de falha

Orientações de otimização

  1. Optimização de parâmetros de período: ajuste de períodos de RSI mais rápidos e mais lentos, encontre a melhor combinação

  2. Optimização de parâmetros OBOS: ajuste de parâmetros OBOS para melhorar a precisão do sinal

  3. Combinar com outros indicadores: Incorporar MA, indicadores de volatilidade, etc. para formar um sistema abrangente

Conclusão

Esta estratégia é uma estratégia de tendência confiável baseada na lógica de reversão dupla do RSI. Seu design de RSI multi-período pode evitar certos sinais falsos e, portanto, tem bons resultados práticos. Através da otimização de parâmetros e combinações de indicadores, a estratégia tem potencial para um desempenho ainda melhor.


/*backtest
start: 2022-11-15 00:00:00
end: 2023-11-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © email_analysts
// This code gives indication on the chart to go long or short based on RSI crossover strategy. 
//Default value has been taken as 5 and 11, with 6 being used to identify highs & lows.
//@version=4
strategy("RSITrendStrategy", overlay=false)
len1 = input(title="MA 1", defval = 5)
len2 = input(title="MA 1", defval = 11)
len3 = input(title="MA 1", defval = 6)

h1 = hline(30.)
h2 = hline(70.)
///fill(h1, h2, color = color.new(color.blue, 80))
sh = rsi(close, len1)
ln = rsi(close, len2)
rs = rsi(close, len3)
p1 = plot(sh, color = color.red)
p2 = plot(ln, color = color.green)
p3 = plot(rs, color = color.white)

mycol = sh > ln ? color.lime : color.red
fill(p1, p2, color = mycol)

buy = (sh[1] < ln[1] and sh > ln and rs[1] < 30) 
if (buy)
    strategy.entry("long", strategy.long)

sell = (sh[1] > ln[1] and sh < ln and rs[1] > 70)
if (sell)
    strategy.entry("short", strategy.short)

Mais.