Estratégia baseada em RSI


Data de criação: 2023-11-15 16:29:25 última modificação: 2023-11-15 16:29:25
cópia: 0 Cliques: 365
1
focar em
1166
Seguidores

Estratégia baseada em RSI

Visão geral

A estratégia é uma estratégia de negociação de linhas curtas baseada em indicadores relativamente fracos (RSI). Utiliza o indicador RSI para identificar intervalos de sobrevenda e sobrevenda e, em combinação com a filtragem de falsos sinais de entidades de linha K, executa operações de compra e venda em pontos de inversão. A estratégia busca capturar oportunidades de rebote após o estado de sobrevenda e sobrevenda extrema.

Estratégia detalhada

Princípios

Primeiro, calcule o indicador RSI, escolha o preço de fechamento como fonte de dados de cálculo, o ciclo é definido em 7 dias. Em seguida, configure a linha de super-compra em 30 e o intervalo de super-venda em 70. Quando o RSI atravessa a linha 30 produz um sinal de compra e quando atravessa a linha 70 produz um sinal de venda.

Para filtrar falsos sinais, é necessário que a entidade K seja ampliada para 1 a 3 vezes o tamanho normal para que o sinal de negociação possa ser acionado. Aqui, é usado o RSI 1 a 5 linhas K em sequência no intervalo de sobrecompra e sobrevenda para confirmar o sinal, o multiplicador de amplificação da entidade é definido como 4 vezes.

Quando o RSI produz um sinal de compra quando cinco K-linhas consecutivas são inferiores a 30, se a K-linha subsequente é positiva e a entidade é ampliada mais de 4 vezes, a operação de compra é executada. Quando o RSI produz um sinal de venda quando cinco K-linhas consecutivas são superiores a 70, se a K-linha subsequente é negativa e a entidade é ampliada mais de 4 vezes, a operação de venda é executada.

Para bloquear os lucros, quando a direção da posição coincide com a direção da linha K atual, o ponto de parada de liquidação é ampliado em 2 vezes a entidade.

Vantagens

  1. Capturar oportunidades de recuperação após a sobrevenda

O RSI é um indicador de melhor identificação de overbought e oversold. Quando as ações estão em uma zona de overbought e oversold, há uma maior probabilidade de reversão no curto prazo, e a zona de oversold geralmente indica um retorno iminente. Esta estratégia pode capturar oportunidades na véspera de uma reversão.

  1. Filtragem física reduz falsos sinais

A estratégia de adicionar a amplificação da linha K como condição de filtragem, adicionando posições na véspera do ponto de viragem, para evitar ser enganado pelos falsos sinais do mercado de turbulência.

  1. Confirmação de linhas K de raiz N contínua aumenta a confiabilidade

Requer que o RSI mantenha 1 a 5 linhas K na faixa de sobrevenda para confirmação, evitando ser enganado por linhas K inativas individuais, aumentando a confiabilidade do sinal.

  1. Número de multiplicadores de amplificação ajustável

O multiplicador de amplificação da entidade pode ser ajustado de acordo com as diferentes variedades, e as condições podem ser apropriadamente relaxadas para as variedades de alta e baixa, enquanto que as condições podem ser apropriadamente apertadas para as variedades de baixa e baixa, e podem ser livremente ajustadas para as variedades de negociação adequadas.

Riscos

  1. Pode haver problemas de compatibilidade

Esta configuração de parâmetros de estratégia tem um certo grau de limitação, e os parâmetros precisam ser ajustados para diferentes variedades e diferentes períodos. Se um parâmetro for usado constantemente, isso pode causar problemas de sobre-ajuste.

  1. Identificação de pontos de venda com pouca precisão

O indicador RSI em si tem um certo grau de atraso, combinado com a amplificação da entidade como condição de filtragem, também pode sair de posição com antecedência. Portanto, a precisão de identificação de pontos de compra e venda geralmente não é particularmente alta.

  1. O que é que a China está a fazer para manter as suas posições em condições de crise?

Em situações de turbulência, o indicador RSI pode frequentemente desencadear um sinal de compra ou venda, resultando em um tempo de posse excessivo. Nesse caso, é necessário ajustar os parâmetros ou suspender a operação da estratégia.

  1. Uma estratégia de manutenção de posição adequada

Esta estratégia é uma estratégia de negociação de curto prazo, que precisa ser combinada com estratégias de posse apropriadas, como a eliminação da linha média e o stop loss, para bloquear os lucros e controlar o risco.

Otimização de ideias

  1. Testar diferentes configurações de parâmetros

É possível testar diferentes combinações de parâmetros do RSI, como o ciclo, a linha de sobrevenda e a linha de filtragem de entes K, otimizando os parâmetros para adaptá-los a diferentes variedades.

  1. Aumentar a estratégia de stop loss

Pode-se definir um stop loss móvel ou um stop loss percentual para bloquear o lucro, ou pode-se definir um stop loss baseado no valor do ATR, ou em combinação com o canal Donchain.

  1. Filtragem em combinação com outros indicadores

Pode-se adicionar condições de filtragem de outros indicadores, como MACD, KDJ, etc., para evitar a produção de sinais errados em caso de ruptura sem efeito. O indicador de volatilidade também pode ser usado para identificar sinais de reversão na tendência.

  1. Aumentar o julgamento de tendências

A linha média é usada para determinar a direção da tendência, considerando os sinais de negociação somente quando a direção da tendência é consistente. A estratégia de suspensão pode ser escolhida em situações de turbulência.

Resumir

A estratégia de reversão do RSI é, em geral, uma estratégia de negociação típica de linha curta, com certos benefícios e riscos. A principal vantagem é a capacidade de capturar o rebote após o supermercado, enquanto os riscos são principalmente a falta de precisão do indicador de confiança e o tempo excessivo de manutenção de posições em condições de choque.

Código-fonte da estratégia
/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "Noro's FRSI Strategy v1.21", shorttitle = "FRSI str 1.21", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_type = strategy.commission.percent, commission_value = 0.0)

//Settings
rsiperiod = input(7, defval = 7, minval = 2, maxval = 50, title = "RSI Period")
limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit")
rsisrc = input(close, defval = close, title = "RSI Price")
rb = input(1, defval = 1, minval = 1, maxval = 5, title = "RSI Bars")
sps = 0
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2038, defval = 2018, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Fast RSI
fastup = rma(max(change(rsisrc), 0), rsiperiod)
fastdown = rma(-min(change(rsisrc), 0), rsiperiod)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//Limits
bar = close > open ? 1 : close < open ? -1 : 0
uplimit = 100 - limit
dnlimit = limit

//RSI Bars
ur = fastrsi > uplimit
dr = fastrsi < dnlimit
uprsi = rb == 1 and ur ? 1 : rb == 2 and ur and ur[1] ? 1 : rb == 3 and ur and ur[1] and ur[2] ? 1 : rb == 4 and ur and ur[1] and ur[2] and ur[3] ? 1 : rb == 5 and ur and ur[1] and ur[2] and ur[3] and ur[4] ? 1 : 0
dnrsi = rb == 1 and dr ? 1 : rb == 2 and dr and dr[1] ? 1 : rb == 3 and dr and dr[1] and dr[2] ? 1 : rb == 4 and dr and dr[1] and dr[2] and dr[3] ? 1 : rb == 5 and dr and dr[1] and dr[2] and dr[3] and dr[4] ? 1 : 0

//Body
body = abs(close - open)
emabody = ema(body, 30)

//Signals
up = bar == -1 and sps == 0 and dnrsi and body > emabody / 4
dn = bar == 1 and sps == 0 and uprsi and body > emabody / 4
exit = bar == 1 and fastrsi > dnlimit and body > emabody / 2

//Trading
if up
    strategy.entry("Long", strategy.long, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
    sps := 1

if time > timestamp(toyear, tomonth, today, 00, 00) or exit
    strategy.close_all()
    sps := 0