RSI Bollinger Bands Estratégia de negociação

Autora:ChaoZhang, Data: 2023-09-18 22:13:18
Tags:

Todos os conteúdos em inglês

Resumo

Esta estratégia identifica sinais de negociação usando o indicador RSI para determinar condições de sobrecompra/supervenda e combinando com o indicador Bollinger Bands para descrever a faixa de oscilação de preços.

Estratégia lógica

A estratégia baseia-se principalmente em dois indicadores:

  1. Indicador RSI que avalia a sobrecompra/supervenda

Calcula o RSI para um determinado período e determina se entra em zonas de sobrecompra ou sobrevenda de acordo com parâmetros pré-estabelecidos, como o limiar de sobrecompra a 40 e o limiar de sobrevenda a 45.

  1. Bandas de Bollinger que indicam a gama de oscilações de preços

Ele calcula as Bandas de Bollinger para um período e usa as bandas superior e inferior para formar um canal de preços, descrevendo a faixa de oscilações de preços.

Com base no que precede, as regras de negociação são as seguintes:

Quando o RSI cruza acima de 45 na zona de sobrevenda, e o preço cruza acima da faixa inferior de Bollinger, gerar sinal de compra. Quando o RSI cruza abaixo de 40 na zona de sobrecompra, e o preço cruza abaixo da faixa superior de Bollinger, gerar sinal de venda.

Análise das vantagens

As vantagens da combinação de RSI e Bollinger Bands incluem:

  1. O RSI identifica os níveis de sobrecompra/supervenda, as Bandas de Bollinger determinam a direção da tendência de preços, complementando-se.

  2. As bandas de Bollinger podem servir como níveis de stop loss para controlo de risco.

  3. Parâmetros simples facilitam a implementação e o backtest.

  4. Os parâmetros do RSI podem ser otimizados para determinar o melhor intervalo de sobrecompra/supervenda.

  5. Podem utilizar-se diferentes elementos de cálculo dos preços para se adaptarem a diversos ambientes de mercado.

Riscos e soluções

Há também alguns riscos com esta estratégia:

  1. Largura excessiva das Bandas de Bollinger levando a uma má expectativa de stop loss.

    • Ajustar o parâmetro de largura das bandas de Bollinger para otimizar o intervalo de stop loss.
  2. A definição incorrecta do parâmetro RSI que causa um julgamento incorreto do nível de sobrecompra/supervenda.

    • Otimizar os parâmetros do RSI através de backtesting para determinar o intervalo de negociação ideal.
  3. Incapacidade de determinar com precisão os pontos de inversão da tendência, risco de sinais perdidos.

    • Encurtar o parâmetro de período Bollinger Bands para capturar inversões de tendência mais cedo.
  4. Incapacidade de controlar efetivamente as perdas, risco de que o stop loss seja afetado por variações significativas de preços.

    • Adicionar stop loss móvel ou dinâmico para otimizar os métodos de stop loss.

Orientações para melhorias

Algumas maneiras de otimizar a estratégia:

  1. Otimizar os parâmetros do RSI para determinar o intervalo ideal de sobrecompra/supervenda.

  2. Otimizar o parâmetro de largura das bandas de Bollinger para controlar o intervalo de stop loss.

  3. Adicionar outros indicadores para identificar inversões de tendência e evitar sinais perdidos.

  4. Aplicar modelos de aprendizagem de máquina para determinar o tempo de negociação.

  5. Usar conjuntos de parâmetros diferentes com base em diferentes ambientes de mercado.

  6. Adicionar mecanismos dinâmicos de stop loss.

  7. Desenvolver programas para otimização automática de parâmetros.

Conclusão

Em resumo, combinando RSI e Bollinger Bands, esta estratégia forma decisões comerciais relativamente sólidas. A lógica é simples e clara, boa para o controle de risco, mas tem espaço para otimização. A melhoria da estratégia através da otimização de parâmetros, otimização de stop loss, incorporação de algoritmos, etc. pode torná-la mais adaptável a ambientes de mercado complexos. A estratégia fornece ideias para a construção de sistemas de negociação e vale a pena mais pesquisa e aplicação.


/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 2h
basePeriod: 15m
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/
// © Mdemoio


//@version=4
strategy("Madri", shorttitle="Madri", overlay=true)


// Version 1.1


///////////// RSI
RSIlength = input(2,title="A") 
RSIoverSold = 45
RSIoverBought = 40
price = close
vrsi = rsi(price, RSIlength)


///////////// Bollinger Bands
BBlength = input(150, minval=1,title="B")
BBmult = 2// input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
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)


///////////// 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, stop=BBlower,  comment="Buy")
    else
        strategy.cancel(id="RSI_BB_L")
        
    if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper))
        strategy.entry("RSI_BB_S", strategy.short, stop=BBupper, comment="Sell")
    else
        strategy.cancel(id="RSI_BB_S")

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

Mais.