Bollinger Bands Volume Confirmação Estratégia de negociação quantitativa

Autora:ChaoZhang, Data: 2024-01-02 11:04:35
Tags:

img

Resumo

Esta estratégia é chamada de Bollinger Bands Volume Confirmation Strategy. Sua ideia central é combinar o indicador Bollinger Bands e o indicador de volume para obter uma confirmação dupla do movimento de preços e do volume de negociação, gerando assim sinais de compra e venda mais confiáveis.

Princípio da estratégia

A estratégia inclui principalmente duas partes:

  1. Esta parte calcula a média móvel simples dos preços de fechamento durante um determinado período (como 20 dias) e calcula o desvio padrão desses preços de fechamento em relação à sua média móvel. Em seguida, de acordo com o valor do desvio padrão, duas bandas são calculadas em um intervalo de desvio padrão acima e abaixo da média móvel, que é chamado de Bandas de Bollinger. A área de banda das Bandas de Bollinger pode mostrar claramente se o preço atual está em um estado anormal.

  2. Parte do volume. Esta parte calcula o valor médio móvel do volume de negociação durante o mesmo período (por exemplo, 20 dias) e, em seguida, usa um multiplicador (por exemplo, 2,0) para definir um limiar de volume de negociação.

Quando o preço atravessa a faixa superior das Bandas de Bollinger e o volume de negociação excede o limiar de volume de negociação, é gerado um sinal de compra; quando o preço atravessa a faixa inferior das Bandas de Bollinger e o volume de negociação excede o limiar de volume de negociação, é gerado um sinal de venda.

Por meio da dupla confirmação do preço e do volume de negociação, alguns sinais falsos podem ser filtrados, tornando a estratégia de negociação mais confiável.

Vantagens da estratégia

  1. Mecanismo de confirmação dupla para evitar falhas e ruído de filtro. Combinando indicadores de preço e volume, os sinais são gerados apenas quando ambos confirmam ao mesmo tempo, o que pode evitar efetivamente alguns sinais errôneos causados por falhas de preço vazias.

  2. Parâmetros ajustáveis: os utilizadores podem definir os parâmetros do período das bandas de Bollinger e os parâmetros do multiplicador do limiar do volume de negociação de forma independente para se adaptarem aos diferentes ambientes de mercado.

  3. Os indicadores Bollinger Bands superior e inferior, volume de negociação e limiar de volume de negociação permitem sinais de estratégia mais intuitivos e claros.

Riscos e otimização

  1. As Bandas de Bollinger não podem identificar perfeitamente os pontos de reversão da tendência. As Bandas de Bollinger só podem mostrar claramente o "estado anormal" dos preços, mas não podem prever reversões de preços. Portanto, ainda precisa ser combinado com outros indicadores para julgamento.

  2. Quando há uma rápida ruptura das Bandas de Bollinger superiores e inferiores, a reação do volume de negociação pode atrasar, resultando em um atraso na geração de sinal e na incapacidade de capturar perfeitamente os pontos de virada.

  3. Tente combinar outros indicadores. Indicadores como KDJ, MACD, etc., introduzem mais variáveis para estabelecer estratégias de negociação multivariadas mais complexas, melhorando assim a praticidade da estratégia.

Resumo

O método de dupla confirmação e ajuste de parâmetros permite filtrar muito ruído, tornando as decisões de negociação mais confiáveis, mas as limitações das próprias bandas de Bollinger ainda precisam ser evitadas.


/*backtest
start: 2022-12-26 00:00:00
end: 2024-01-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

// Bollinger Bands Parameters
length = input(20, title="BB Length")
src = close
mult = input(2.0, title="Multiplier")
basis = ta.sma(src, length)
upper = basis + mult * ta.stdev(src, length)
lower = basis - mult * ta.stdev(src, length)

// Volume Parameters
volMultiplier = input(2.0, title="Volume Multiplier")
avgVolume = ta.sma(volume, length)

// Strategy Logic
buyCondition = close > upper and volume > volMultiplier * avgVolume
sellCondition = close < lower and volume > volMultiplier * avgVolume

// Plotting
plot(upper, color=color.red, title="Upper Band")
plot(lower, color=color.green, title="Lower Band")
plot(volume, color=color.blue, style=plot.style_columns, title="Volume", transp=85)
plot(avgVolume * volMultiplier, color=color.orange, title="Avg Volume x Multiplier")

// Strategy Execution
strategy.entry("Buy", strategy.long, when=buyCondition)
strategy.close("Buy", when=sellCondition)

bgcolor(buyCondition ? color.new(color.green, 90) : sellCondition ? color.new(color.red, 90) : na)


Mais.