Estratégia quantitativa RSI e bandas de Bollinger


Data de criação: 2024-01-24 14:56:02 última modificação: 2024-01-24 14:56:02
cópia: 3 Cliques: 637
1
focar em
1617
Seguidores

Estratégia quantitativa RSI e bandas de Bollinger

Visão geral

A estratégia utiliza principalmente o indicador de força relativa (RSI) e o Brin para avaliar os sinais de negociação. Concretamente, faz mais quando o RSI baixa e o Brin cruza o caminho para baixo e faz mais quando o RSI alta e o Brin cruzam o caminho para cima.

Princípio da estratégia

A estratégia começa com o cálculo do RSI e da faixa de Brin. O RSI reflete a fraqueza comparativa das transações, representando que as transações estão na zona de oversold quando o RSI está abaixo da zona de oversold. A faixa de Brin inclui a trajetória ascendente, intermediária e descendente, o que reflete muito bem a amplitude de oscilação dos preços.

Vantagens estratégicas

  1. Combinação do indicador RSI com a faixa de Brin para melhorar a precisão do sinal
  2. O RSI filtra alguns dos sinais de ruído
  3. A faixa de Brin reflete a maior parte das atuais flutuações do mercado, e os sinais são mais confiáveis.
  4. A estratégia de negociação é mais rigorosa, evitando a ocorrência de negociações inválidas.

Risco estratégico

  1. A configuração incorreta dos parâmetros da faixa de Bryn pode fazer com que os sinais de negociação não sejam precisos
  2. A configuração inadequada dos parâmetros da zona de sobrevenda do RSI também pode afetar o julgamento do sinal
  3. A estratégia é rigorosa e pode perder algumas oportunidades de negociação.

A solução para o risco:

  1. Optimizar os parâmetros da faixa de Bryn e do RSI para encontrar a melhor combinação de parâmetros
  2. A liberalização apropriada das condições de negociação das estratégias, aumentando o número de negociações inválidas para obter mais oportunidades

Direção de otimização da estratégia

  1. Testar e otimizar os parâmetros RSI e os parâmetros da faixa de Bryn para encontrar o melhor parâmetro
  2. Aumentar a estratégia de stop loss para controlar o risco de transação
  3. Considere a inclusão de outros indicadores técnicos para verificação de sinais, como MACD
  4. Teste o efeito da otimização de parâmetros em diferentes variedades e períodos de tempo

Resumir

A estratégia em geral é robusta, combinando eficazmente o indicador RSI e o stop loss de Brin. A eficácia da estratégia pode ser aumentada ainda mais com o teste e a otimização dos parâmetros.

Código-fonte da estratégia
/*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=2
strategy("BB + RSI 20MIN,", shorttitle="BBRSI 20MIN", overlay=true )
     
     // Strategy Tester Start Time
sYear = input(2019, title = "Start Year")
sMonth = input(04, title = "Start Month", minval = 01, maxval = 12)
sDay = input(01, title = "Start Day", minval = 01, maxval = 31)
sHour = input(00, title = "Start Hour", minval = 00, maxval = 23)
sMinute = input(00, title = "Start Minute", minval = 00, maxval = 59)
startTime = true


///////////// RSI
RSIlength = input(9,title="RSI Period Length") 
RSIoverSold = input(30, minval=1,title="RSIL")
RSIoverBought = input(69, minval=1,title="RSIh")
price = open
vrsi = rsi(price, RSIlength)


///////////// Bollinger Bands
BBlength = input(60, minval=1,title="Bollinger Period Length")
BBmult = input(2.0, minval=0.001, maxval=50,title="Bb")
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyEntry = crossover(source, BBlower)
sellEntry = crossunder(source, BBupper)
plot(BBbasis, color=aqua,title="Bollinger Bands SMA Basis Line")
p1 = plot(BBupper, color=silver,title="Bollinger Bands Upper Line")
p2 = plot(BBlower, color=silver,title="Bollinger Bands Lower Line")
fill(p1, p2)


///////////// Colors
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Background Color?")
TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) and BBbasis < BBbasis[1] ? red : RSIoverSold and (price[1] < BBlower and price > BBlower) and BBbasis > BBbasis[1] ? green : na
barcolor(switch1?TrendColor:na)
bgcolor(switch2?TrendColor:na,transp=50)


///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))

    if (crossover(vrsi, RSIoverSold) and crossover(source, BBlower))
        strategy.entry("RSI_BB_L", strategy.long and startTime, stop=BBlower,  comment="RSI_BB_L")
    else
        strategy.cancel(id="RSI_BB_L")
        
    if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper))
        strategy.entry("RSI_BB_S", strategy.short and startTime, stop=BBupper,comment="RSI_BB_S")
    else
        strategy.cancel(id="RSI_BB_S")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)