A estratégia de ruptura de Bollinger Band é uma estratégia de seguir tendências. Ela usa intervalos de volatilidade para determinar pontos de entrada e saída. Especificamente, usa as bandas superior e inferior das Bandas de Bollinger para julgar se os preços estão quebrando.
A estratégia baseia-se no indicador Bollinger Bands.
Aqui, k é geralmente definido em 1,5 ou 2. Quando os preços quebram acima da faixa superior, isso indica que o estoque está entrando em uma zona forte e, portanto, vai longo.
Esta estratégia usa uma linha média de 20 períodos e 1,5 desvios padrão para construir as Bandas de Bollinger.
A opção 1 funciona melhor para ações altamente voláteis.
As principais vantagens desta estratégia são:
Esta estratégia tem também alguns riscos:
Estes riscos podem ser reduzidos através da otimização dos parâmetros, da incorporação de outros indicadores, etc.
Esta estratégia pode ser otimizada em vários aspectos:
A estratégia de ruptura da banda de Bollinger é, em geral, uma estratégia de tendência clássica. Ela pode ser melhorada através da otimização de parâmetros e regras para se adequar melhor a diferentes ambientes de mercado.
/*backtest start: 2023-12-03 00:00:00 end: 2024-01-02 00:00:00 period: 1h 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/ // © Senthaamizh //@version=4 strategy(title="Bollinger Band Breakout", shorttitle = "BB-BO", overlay=true) source = close length = input(20, minval=1, title = "Period") //Length of the Bollinger Band mult = input(1.5, minval=0.001, maxval=50, title = "Standard Deviation") // Use 1.5 SD for 20 period MA; Use 2 SD for 10 period MA exit = input(1, minval=1, maxval=2,title = "Exit Option") // Use Option 1 to exit using lower band; Use Option 2 to exit using moving average basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev if (crossover(source, upper)) strategy.entry("Long", strategy.long, qty=1) if(exit==1) if (crossunder(source, lower)) strategy.close("Long") if(exit==2) //basis is good for N50 but lower is good for BN (High volatility) if (crossunder(source, basis)) strategy.close("Long") plot(basis, color=color.red,title= "SMA") p1 = plot(upper, color=color.blue,title= "UB") p2 = plot(lower, color=color.blue,title= "LB") fill(p1, p2)