A estratégia de ruptura da banda de Bollinger é uma estratégia de busca de impulso de longo prazo.

Autora:ChaoZhang, Data: 2024-01-29 11:05:29
Tags:

img

Resumo

A estratégia de breakout de Bollinger Band é uma estratégia de busca de impulso de longo prazo. Ela usa as bandas superior e inferior das Bandas de Bollinger para julgar o impulso do preço e fica longa quando o preço rompe acima da banda superior e fecha a posição quando o preço quebra a banda inferior ou a média móvel.

Estratégia lógica

A estratégia primeiro calcula a média móvel de N dias como a linha de base, em seguida, adiciona e subtrai K vezes o desvio padrão acima e abaixo da linha de base para construir bandas superiores e inferiores, formando Bandas de Bollinger. Quando o preço quebra acima da banda superior, ele sinaliza uma quebra ascendente, que é um sinal de cruz de ouro. A estratégia abrirá uma posição longa neste sinal. Quando o preço quebra a banda inferior ou a média móvel, ele sinaliza uma reversão descendente, que é um sinal de cruz de morte. A estratégia fechará as posições neste sinal.

Uma vez que as bandas superior e inferior das Bandas de Bollinger podem conter dinamicamente a maior parte da distribuição dos dados de preços, elas representam a faixa de flutuação razoável dos preços atuais do mercado.

Análise das vantagens

A estratégia apresenta as seguintes vantagens:

  1. Pode captar eficazmente as tendências dos preços e perseguir a dinâmica do mercado em tempo útil
  2. Usa Bandas de Bollinger para julgar breakouts anormais, evitando breakouts falsos
  3. Regras claras, fáceis de implementar e automatizar
  4. Os parâmetros podem ser otimizados de acordo com a volatilidade do mercado para melhorar a estratégia

Análise de riscos

A estratégia apresenta também alguns riscos:

  1. As bandas de Bollinger podem falhar quando ocorre volatilidade extrema
  2. Não pode determinar a tendência real do mercado, pode comprar alto e vender baixo
  3. Tem algum atraso.
  4. Ignora os custos de negociação, o desempenho real será descontado

Para controlar esses riscos, podemos incorporar indicadores de tendência como o MACD, ou ajustar adequadamente os parâmetros para estreitar as Bandas de Bollinger para reduzir os maus sinais.

Orientações de otimização

A estratégia pode também ser otimizada a partir dos seguintes aspectos:

  1. Incorporar o volume de negociação para avaliar os breakouts reais
  2. Usar bandas de Bollinger adaptativas para otimizar dinamicamente os parâmetros
  3. Adicionar mecanismos de stop loss para controlar perdas individuais
  4. Aumentar a gestão de posições para ajustar dinamicamente as posições com base nas condições de mercado

Através das otimizações acima, podemos melhorar ainda mais a estabilidade da estratégia e reduzir os riscos comerciais.

Conclusão

Em resumo, a estratégia de ruptura da banda de Bollinger é uma estratégia clássica de busca de tendências. Ela tem uma lógica clara e uma automação fácil. Mas ainda há algumas falhas, exigindo mais otimizações para se adaptar a ambientes de mercado complexos e em mudança. Se combinado adequadamente com outros indicadores e mecanismos, os resultados podem ser muito melhorados.


/*backtest
start: 2023-01-22 00:00:00
end: 2024-01-28 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/
// © 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)


Mais.