O recurso está a ser carregado... Carregamento...

Estratégia de ruptura das bandas de Bollinger

Autora:ChaoZhang, Data: 2024-01-18 12:18:34
Tags:

img

Resumo

Esta estratégia é uma estratégia de breakout baseada em Bollinger Bands. Ela vai longa quando o preço quebra abaixo da faixa inferior e vai curta quando o preço quebra acima da faixa superior. A estratégia utiliza a capacidade de Bollinger Bands para descrever claramente os intervalos de flutuação de preços para gerar sinais de negociação capturando breakouts de preços.

Princípio da estratégia

A estratégia primeiro calcula uma média móvel simples de 20 dias como a linha de referência média, em seguida, calcula a distância de dois desvios padrão acima e abaixo da linha de referência como os trilhos superior e inferior das Bandas de Bollinger.

Análise das vantagens

A estratégia apresenta as seguintes vantagens:

  1. Utilize Bollinger Bands característica de descrever os intervalos de flutuação de preços, tende a gerar sinais de negociação durante flutuações consideráveis.

  2. Fazer longs em breakouts inferiores pode capturar oportunamente oportunidades de recuperação.

  3. O curto-circuito nas rupturas de alta velocidade pode capturar oportunamente as oportunidades de desaceleração.

  4. A ideia estratégica é simples e clara, fácil de compreender e implementar.

  5. Pode ser aplicado em vários mercados.

Análise de riscos

A estratégia apresenta também alguns riscos:

  1. Tendência a gerar falsos sinais quando o mercado está calmo.

  2. Incapaz de determinar em que direção a ação de preços pós-breakout continuará a se desenvolver.

  3. Incapaz de determinar o momento de inversão provocado pelos sinais de fuga.

  4. As definições inadequadas dos parâmetros das bandas de Bollinger também podem afetar o desempenho da estratégia.

  5. Precisa de controlar adequadamente o dimensionamento da posição.

Estes riscos podem ser controlados através da otimização dos parâmetros, do controlo rigoroso das posições e da definição de stop losses.

Orientações de otimização

A estratégia pode também ser otimizada nos seguintes aspectos:

  1. Otimizar os parâmetros das bandas de Bollinger para encontrar a combinação ideal de parâmetros.

  2. Utilize outros indicadores para filtragem para evitar sinais falsos, tais como indicadores de momento, médias móveis, etc.

  3. Configurar parada de perda dinâmica ou de atraso.

  4. Ajustar as condições longas e curtas de acordo com as condições do mercado.

  5. Realizar backtesting e negociação de papel para avaliar a eficácia da estratégia.

Conclusão

No geral, esta é uma estratégia de ruptura relativamente clássica e comumente usada. Ele usa o indicador Bollinger Bands para descrever os intervalos de flutuação de preços e captura seus sinais de ruptura para encontrar oportunidades de negociação. A ideia da estratégia é simples e fácil de implementar, amplamente usada na prática. Através de testes e otimização contínuos, sua eficácia pode ser melhorada e os riscos reduzidos.


/*backtest
start: 2023-12-18 00:00:00
end: 2024-01-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands Strategy", shorttitle="BB Strategy", overlay=true)

// Input parameters
length = input(20, title="Bollinger Bands Length")
mult = input(2, title="Multiplier")

// Calculate Bollinger Bands
basis = ta.sma(close, length)
bb_upper = basis + mult * ta.stdev(close, length)
bb_lower = basis - mult * ta.stdev(close, length)

// Buy and sell conditions
buy_condition = close < bb_lower
sell_condition = close > bb_upper

// Execute trades
strategy.entry("Buy", strategy.long, when=buy_condition)
strategy.entry("Sell", strategy.short, when=sell_condition)

// Plotting Bollinger Bands on the chart
plot(bb_upper, color=color.red, title="Upper Band")
plot(bb_lower, color=color.green, title="Lower Band")
plot(basis, color=color.blue, title="Basis")

// Highlighting buy and sell signals on the chart
bgcolor(buy_condition ? color.new(color.green, 90) : na)
bgcolor(sell_condition ? color.new(color.red, 90) : na)


Mais.