A estratégia de ruptura de bandas de Bollinger é uma estratégia quantitativa de negociação que combina o indicador de bandas de Bollinger e o indicador de média móvel para fazer operações de ruptura sob certas condições de momento.
A estratégia baseia-se principalmente no indicador Bollinger Bands e no indicador da média móvel MA. Bollinger Bands e médias móveis pertencem a indicadores de tendência. Bollinger Bands usam o conceito de desvio padrão para descrever a faixa de flutuação alta e baixa dos preços. A média móvel suaviza os dados de preços e julga a direção da tendência de preços.
A lógica central da estratégia é a seguinte:
Iniciar os parâmetros das bandas de Bollinger e calcular o trilho médio, o trilho superior e o trilho inferior.
Iniciar os parâmetros da média móvel.
Signo de compra: quando o preço atravessa o trilho inferior das Bandas de Bollinger de baixo para cima e a média móvel está abaixo do trilho inferior, vá longo.
Signo de venda: quando o preço atravessa o trilho superior das Bandas de Bollinger de cima para baixo e a média móvel está acima do trilho superior, vá curto.
sinal de saída: quando o preço voltar a entrar no intervalo das Bandas de Bollinger, feche a posição.
A estratégia combina a utilização de bandas de Bollinger e indicadores de média móvel para gerar sinais de negociação em determinadas condições de ímpeto, que é uma estratégia típica de tendência.
Usando Bandas de Bollinger para avaliar claramente a faixa de flutuação dos preços e a média móvel para determinar a direção da tendência dos preços, os sinais de negociação formados pela combinação de filtragem de indicadores duplos têm uma confiabilidade relativamente elevada.
Além do preço quebrar o limite das Bandas de Bollinger, também requer a média móvel para quebrar, o que garante suporte de impulso suficiente para evitar falhas.
Os parâmetros da estratégia são definidos de forma razoável e flexível, o que permite ajustar os parâmetros das bandas de Bollinger e dos ciclos da média móvel para se adaptarem às diferentes variedades e condições de mercado.
A ideia estratégica é clara e fácil de compreender, fácil de implementar e verificar.
O próprio indicador de volatilidade Bollinger Bands tem um potencial de atraso nas tendências em rápida mudança, o que pode gerar sinais de negociação inválidos.
Quando usado como um indicador de filtragem, a configuração dos seus parâmetros afeta diretamente a frequência da estratégia.
Confiando tanto no indicador Bollinger Bands quanto no indicador da média móvel para formar sinais eficazes, uma vez que um deles falha, toda a estratégia será afetada.
Quando os preços recuam para testar o limite das Bandas de Bollinger, eles são propensos a ficarem presos.
Otimizar os parâmetros das Bandas de Bollinger para adaptá-los a variedades com diferentes ciclos e volatilidade, como a modificação dos parâmetros do multiplicador do período e do desvio padrão das Bandas de Bollinger.
Otimizar os parâmetros do ciclo da média móvel para equilibrar a frequência e o efeito de filtragem.
Aumentar a estratégia de stop loss para controlar a perda máxima por negociação.
Combinar com outros indicadores, como o RSI e o MACD, para formar indicadores compostos e enriquecer os sinais de negociação para a estratégia.
Combinar modelos de aprendizagem de máquina para ajudar a julgar a direção da tendência de preços e a taxa de sucesso da ruptura.
Esta estratégia integra o indicador de Bandas de Bollinger com o indicador de média móvel para gerar sinais de entrada e saída após garantir um certo impulso de ruptura de preço. A ideia da estratégia é clara e fácil de implementar e pode rastrear efetivamente os mercados em tendência. Mas, ao mesmo tempo, também há certos riscos de retração.
/*backtest start: 2022-12-28 00:00:00 end: 2024-01-03 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // strategy("Advanced Bollinger Bands Strategy", overlay=true) //BB Values wall1= input(defval=true,title="===BB Values===",type=input.bool) source = input(defval=close,title="BB Source",type=input.source) length = input(20,title="BB Length", minval=1) mult = input(2.0,title="BB Multiplier",minval=0.001, maxval=50) basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev offset = input(0, " BB Offset", type = input.integer, minval = -500, maxval = 500) plot(basis, "Basis", color=#872323, offset = offset) p1 = plot(upper, "Upper", color=color.teal, offset = offset) p2 = plot(lower, "Lower", color=color.teal, offset = offset) fill(p1, p2, title = "Background", color=#198787, transp=95) //Moving Average Values wall2= input(defval=true,title="===MA Values===",type=input.bool) nfl= input(defval=14,title="Moving Average Period",type=input.integer,minval=1,maxval=100) source1= input(defval=close,title="Moving Average Source",type=input.source) noisefilter= sma(source1,nfl) plot(noisefilter,style=plot.style_line,linewidth=2,color=color.yellow,title=" Moving Average Filter") bgcolor(noisefilter<lower?color.green:noisefilter>upper?color.red:na,title="Moving Average Filter") //Strategy Conditions wall3= input(defval=true,title="===Strategy Conditions===",type=input.bool) bl= input(defval=false,title="Exit at Basis Line?",type=input.bool) nflb= input(defval=false,title="Use Moving Average Filter?",type=input.bool) //Strategy Condition buyEntry = crossover(source, lower) sellEntry = crossunder(source, upper) if (nflb?(crossover(source,lower) and noisefilter<lower): crossover(source, lower)) strategy.entry("BBandLE", strategy.long, oca_name="BollingerBands", comment="BBandLE") else strategy.cancel(id="BBandLE") if (nflb?(crossunder(source,lower) and noisefilter>upper): crossunder(source, lower)) strategy.entry("BBandSE", strategy.short, oca_name="BollingerBands", comment="BBandSE") else strategy.cancel(id="BBandSE") strategy.close_all(when=bl?crossover(source,basis) or crossunder(source,basis):crossover(source,upper) or crossunder(source,lower))