Esta estratégia combina o índice de força relativa (RSI) e os indicadores de Bollinger Bands para implementar uma lógica de confirmação dupla para entradas e saídas. Gerar sinais de negociação somente quando tanto o RSI quanto as Bandas de Bollinger mostram sinais de sobrecompra ou sobrevenda ao mesmo tempo. Isso pode efetivamente reduzir os falsos sinais e melhorar a estabilidade da estratégia.
A lógica acima implementa uma estratégia estável de confirmação dupla para entradas e saídas.
O mecanismo de confirmação dupla elimina muitos negócios ruidosos, evita negócios desnecessários, reduz os custos de negociação e melhora a rentabilidade.
O RSI é eficaz na identificação de tendências e reversões. As Bandas de Bollinger são eficazes na avaliação de suporte e resistência. Os dois se complementam perfeitamente.
Configurações de parâmetros flexíveis, podem ser ajustadas com base em diferentes produtos e preferências comerciais, altamente adaptáveis.
Em mercados variáveis, o RSI e as Bandas de Bollinger podem dar sinais errados ao mesmo tempo, causando perdas desnecessárias.
O mecanismo de confirmação dupla aumenta ligeiramente o atraso de entrada, possivelmente perdendo oportunidades de negociação de curto prazo.
A estratégia é muito sensível aos parâmetros. Configurações de parâmetros inadequadas podem reduzir muito a lucratividade. Revisão e backtesting suficientes são necessários para encontrar a combinação ideal de parâmetros.
Teste os indicadores RSI com períodos diferentes para encontrar o melhor parâmetro de período de correspondência para melhorar a eficiência.
Adicionar uma lógica de stop loss, definir um stop loss móvel ou um stop loss fixo razoável para controlar o risco de perda de uma única transação.
Testar o parâmetro de largura de banda de Bollinger para otimizar a faixa de canais e melhorar a eficiência.
Teste diferentes entradas de preço como perto, alto, baixo, etc. para encontrar a melhor entrada de preço para melhorar a estabilidade.
A estratégia combina com sucesso os indicadores RSI e Bollinger Bands para implementar uma lógica de confirmação dupla, garantindo oportunidades de negociação suficientes, reduzindo efetivamente as negociações de ruído.
/*backtest start: 2023-12-22 00:00:00 end: 2024-01-21 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Bollinger + RSI, Double Strategy (by ChartArt)", shorttitle="CA_-_RSI_Bol_Strat", overlay=true) // ChartArt's RSI + Bollinger Bands, Double Strategy // // Version 1.0 // Idea by ChartArt on January 14, 2015. // // This strategy uses a modfied RSI to sell // when the RSI increases over the value of 55 // (or to buy when the value falls below 45), // with the classic Bollinger Bands strategy // to sell when the price is above the // upper Bollinger Band (and to buy when // this value is below the lower band). // // This simple strategy only triggers when // both the RSI and the Bollinger Bands // indicators are at the same time in // a overbought or oversold condition. // // List of my work: // https://www.tradingview.com/u/ChartArt/ // // __ __ ___ __ ___ // / ` |__| /\ |__) | /\ |__) | // \__, | | /~~\ | \ | /~~\ | \ | // // ///////////// RSI RSIlength = input( 16 ,title="RSI Period Length") RSIvalue = input( 45 ,title="RSI Value Range") RSIoverSold = 0 + RSIvalue RSIoverBought = 100 - RSIvalue price = close vrsi = rsi(price, RSIlength) ///////////// Bollinger Bands BBlength = input(20, minval=1,title="Bollinger Bands SMA Period Length") BBmult = 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) 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) ? red : RSIoverSold and (price[1] < BBlower and price > BBlower) ? 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="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, stop=BBupper, comment="RSI_BB_S") else strategy.cancel(id="RSI_BB_S") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)