Estratégia de tendência da onda de impulso Bollinger Bands

Autora:ChaoZhang, Data: 2024-01-17 17:33:37
Tags:

img

Resumo

Esta é uma estratégia de tendência baseada em Bandas de Bollinger. Ela usa as bandas superior e inferior das Bandas de Bollinger para determinar as tendências de preços e gerar sinais de compra e venda. Especificamente, ela vai longa quando o preço de fechamento quebra acima da banda superior e vai curta quando o preço de fechamento quebra abaixo da banda inferior.

Estratégia lógica

A estratégia usa as bandas superior e inferior das Bandas de Bollinger para determinar tendências. A banda média das Bandas de Bollinger é a média móvel simples dos preços de fechamento em n períodos. A largura das bandas é k vezes o desvio padrão dos preços de fechamento em n períodos. As fórmulas são:

Banda Média: SMA ((Close, n) Banda superior: Banda média + k * STDEV ((Close, n)) Faixa inferior: Faixa média - k * STDEV(Close, n)

Quando o preço ultrapassa a faixa superior, significa que o preço excedeu a faixa de flutuação normal em torno da faixa média, indicando uma tendência de alta.

Com base nisto, a estratégia determina:

  1. Ir longo quando o preço de fechamento ultrapassa a faixa superior
  2. Ir curto quando o preço de fechamento quebra abaixo da faixa inferior

Usar Bandas de Bollinger para determinar tendências funciona bem para tendências de médio a longo prazo.

Análise das vantagens

As principais vantagens desta estratégia são:

  1. Usar Bandas de Bollinger para determinar tendências é confiável. As Bandas de Bollinger consideram a volatilidade e podem determinar bem pontos de virada.

  2. As regras da estratégia são simples e claras, fáceis de compreender e de aplicar.

  3. Não há necessidade de prever preços, basta seguir a relação entre o preço e as Bandas de Bollinger.

  4. Os sinais são gerados em intervalos de banda, capturando mudanças de tendência em tempo hábil sem perder oportunidades.

Análise de riscos

A estratégia apresenta também alguns riscos:

  1. As bandas de Bollinger não podem prever completamente os movimentos dos preços.

  2. O preço pode oscilar perto de faixas, causando várias pequenas perdas.

  3. A configuração de parâmetros inadequada também pode levar a sinais ruins. Um n que é muito pequeno pode causar alterações e sinais de bandas muito frequentes. Um k muito grande pode levar a sinais atrasados.

  4. As tendências do mercado podem afectar as existências individuais e conduzir a riscos sistémicos.

Medidas de controlo de riscos correspondentes:

  1. Ajustar n e k adequadamente para equilibrar a sensibilidade.
  2. Usar paradas para controlar perdas em transações individuais.
  3. Adicionar filtros com outros indicadores aos sinais de filtragem.

Orientações de otimização

A estratégia pode ser otimizada de várias maneiras:

  1. Optimize n e teste diferentes configurações.

  2. Adicionar filtros usando outros indicadores como MACD e KDJ para filtrar sinais de compra/venda e reduzir sinais falsos.

  3. Adicionar mecanismos de stop loss como paradas baseadas em preço ou volatilidade para controlar as perdas.

  4. Use a largura de banda de Bollinger para determinar a volatilidade dos preços e ajustar os tamanhos das posições.

  5. Combinar com indicadores de tendência e utilizar faixas para sinais de entrada em tendências estabelecidas.

Resumo

Em geral, esta é uma estratégia de tendência confiável. Ele usa Bandas de Bollinger para determinar tendências e é simples de operar. As principais vantagens são sinais oportunos que capturam mudanças na tendência. Mas existem algumas dificuldades de otimização de parâmetros. Métodos como otimização de parâmetros, adição de filtros podem controlar riscos e melhorar a estabilidade.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Bollinger Bands Trend Strategy", shorttitle="BB Trend", overlay=true)
source = close
length = input(8, minval=1)
mult = input(1.00, minval=0.001, maxval=50)

basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

buyEntry = crossover(source, upper)
sellEntry = crossunder(source, lower)

if (crossover(source, upper))
    strategy.entry("BBandLE", strategy.long, stop=upper, oca_name="BollingerBands",  comment="BBandLE")
else
    strategy.cancel(id="BBandLE")

if (crossunder(source, lower))
    strategy.entry("BBandSE", strategy.short, stop=lower, oca_name="BollingerBands", comment="BBandSE")
else
    strategy.cancel(id="BBandSE")

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)


Mais.