Esta é uma estratégia de negociação combinada usando Bandas de Bollinger e Índice de Força Relativa (RSI). Sua ideia central é gerar sinais de compra e venda quando o RSI atinge áreas de sobrecompra ou sobrevenda, combinado com trilhos superiores e inferiores das Bandas de Bollinger.
Estratégia de negociação de combinação BB-RSI
A estratégia primeiro calcula Bandas de Bollinger regulares, incluindo trilho médio, trilho superior e trilho inferior.
Ao mesmo tempo, a estratégia calcula o indicador RSI, que avalia se o mercado atual está sobrecomprado ou sobrevendido, comparando a tendência de alta média de fechamento e a tendência de queda média de fechamento ao longo de um período de tempo.
Quando o RSI é inferior ao ponto baixo (default 30), significa que o mercado está sobrevendido.
O que esta estratégia faz é que quando o RSI atinge a zona de sobrevenda, se o preço de fechamento for inferior ao trilho inferior das Bandas de Bollinger, um sinal de compra é gerado.
A maior vantagem desta estratégia de combinação é que pode descobrir pontos de virada no mercado. Quando o preço da ação está em uma área relativamente grande da largura das Bandas de Bollinger, isso significa que a flutuação do mercado é grande. Neste momento, julgando se o mercado está sobrecomprado ou sobrevendido através do RSI, o momento da reversão pode ser localizado.
Outra vantagem são as configurações de parâmetros flexíveis.
O maior risco desta estratégia é o pequeno número de sinais gerados. Especialmente no mercado de tendência unidirecional de longo prazo, ele é propenso a excesso de ajuste. Neste momento, é difícil para o RSI alcançar o status de sobrecompra e sobrevenda, incapaz de gerar sinais de negociação.
Outro risco é a dificuldade na configuração de parâmetros. As Bandas de Bollinger e o RSI precisam definir o ciclo e outros parâmetros. A seleção inadequada pode levar a resultados de estratégia ruins. Isso requer que o comerciante tenha uma compreensão completa do mercado, caso contrário, ele deve usar a estratégia com cautela.
Para obter mais oportunidades de negociação, as linhas de sobrecompra e sobrevenda do RSI podem ser ajustadas adequadamente. Por exemplo, a linha de sobrevenda pode ser aumentada para 40 e a linha de sobrecompra reduzida para 60, para que os sinais possam ser formados mais facilmente.
Outra direção é introduzir um mecanismo de julgamento de tendência para evitar a reversão cega em mercados de tendência unidirecional. Por exemplo, a direção das médias móveis de longo ciclo pode ser calculada como uma condição de filtro.
A estratégia de combinação BB-RSI usa Bandas de Bollinger para determinar suporte e resistência, e RSI para determinar status de sobrecompra e sobrevenda, gerando sinais em pontos de reversão.
/*backtest start: 2023-01-28 00:00:00 end: 2024-02-03 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/ // © samuelarbos //@version=4 strategy("Estrategia de Bandas de Bollinger y RSI", overlay=true) // Definimos los parámetros de las bandas de Bollinger source = input(close, title="Precio base") length = input(20, minval=1, title="Longitud") mult = input(2.0, minval=0.001, maxval=50, title="Desviación estándar") // Calculamos las bandas de Bollinger basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev // Definimos el RSI y sus parámetros rsi_source = input(close, title="RSI Fuente") rsi_length = input(14, minval=1, title="RSI Longitud") rsi_overbought = input(70, minval=0, maxval=100, title="RSI Sobrecompra") rsi_oversold = input(30, minval=0, maxval=100, title="RSI Sobrevendido") // Calculamos el RSI rsi = rsi(rsi_source, rsi_length) // Definimos las señales de compra y venta buy_signal = crossover(close, lower) and rsi < rsi_oversold sell_signal = crossunder(close, upper) and rsi > rsi_overbought // Compramos cuando se da la señal de compra if (buy_signal) strategy.entry("Buy", strategy.long) // Vendemos cuando se da la señal de venta if (sell_signal) strategy.entry("Sell", strategy.short)