
A estratégia é um sistema de negociação de intervalos dinâmicos que combina as Bollinger Bands e o índice relativamente forte RSI. Capta os pontos de inflexão do mercado monitorando a interseção dos preços com as Bollinger Bands e os níveis de sobrevenda e sobrevenda do RSI. A ideia central da estratégia é encontrar oportunidades de rebote quando o mercado está sobrevendido e parar quando o mercado está sobrevendido.
A estratégia utiliza a faixa de Brin de 20 ciclos e o indicador RSI de 14 ciclos como indicadores técnicos centrais. A faixa de Brin é composta por três linhas: a média ((20 ciclos de média móvel simples), a alta ((mediana + 2 vezes a diferença padrão) e a baixa ((mediana - 2 vezes a diferença padrão). O sinal de compra é acionado quando duas condições são simultaneamente satisfeitas: o preço quebra a faixa de Brin de baixo para cima e o RSI é inferior a 45 ((1,5 vezes o normal 30). O sinal de venda é acionado quando o preço se move para baixo e o RSI é superior a 70.
Risco de mercado em choque: Falso sinal de ruptura pode ocorrer com frequência em mercados em choque lateral. Sugestão: Adicione filtros de tendência e abra apenas quando a tendência é clara.
Risco de atraso: o atraso causado pelo cálculo da média móvel pode afetar a pontualidade do sinal. Sugestão: Considere o uso de indicadores com períodos mais curtos como confirmação auxiliar.
Risco de otimização excessiva: a otimização de parâmetros pode levar a uma correspondência excessiva de dados históricos. Recomenda-se: testes completos em diferentes períodos de tempo e condições de mercado.
Adição de filtros de tendência: pode-se introduzir o ADX ou a média móvel de longo prazo para avaliar a força da tendência e negociar apenas quando a tendência é clara.
Optimizar a configuração de stop loss: pode ser baseado na configuração dinâmica do ATR para a posição de stop loss, aumentando a flexibilidade do controle de risco.
Introdução de confirmação de volume de transação: Adição de análise de volume de transação, que requer confirmação de volume em caso de ruptura, aumentando a confiabilidade do sinal.
Melhorar a gestão de posições: ajustar automaticamente o tamanho das posições de acordo com a volatilidade do mercado e o risco da conta.
Esta é uma estratégia madura que combina indicadores clássicos de análise técnica, com o uso combinado de Brin e RSI, para capturar grandes tendências e controlar os riscos. A estratégia é concebida com clareza, a implementação é simples e tem uma boa praticidade. Embora existam alguns riscos inerentes, é possível construir um sistema de negociação robusto com a configuração razoável de parâmetros e medidas de gerenciamento de risco.
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-19 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/
//@version=5
strategy("Bollinger Bands + RSI Strategy", overlay=true)
// Bollinger Bands Parameters
length = input.int(20, title="Bollinger Length")
src = close
mult = input.float(2.0, title="Bollinger Multiplier")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// RSI Parameters
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Level", minval=50)
rsiOversold = input.int(30, title="RSI Oversold Level", maxval=50)
rsiValue = ta.rsi(src, rsiLength)
// Buy and Sell Conditions
buyCondition = ta.crossover(src, lower) and rsiValue < 1.5 * rsiOversold
sellCondition = ta.crossunder(src, upper) and rsiValue > rsiOverbought
// Plot Bollinger Bands
plot(basis, color=color.blue, title="Basis")
p1 = plot(upper, color=color.red, title="Upper Band")
p2 = plot(lower, color=color.green, title="Lower Band")
fill(p1, p2, color=color.gray, transp=90)
// Plot RSI
//hline(rsiOverbought, "Overbought", color=color.red)
//hline(rsiOversold, "Oversold", color=color.green)
// Execute Orders
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.close("Buy")
// Display signals on the chart
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")