Estratégia de negociação quantitativa baseada na quebra da média dinâmica da Banda de Bollinger

BB MA SMA EMA SMMA WMA VWMA stdev
Data de criação: 2025-02-20 13:44:57 última modificação: 2025-02-20 14:51:24
cópia: 1 Cliques: 385
2
focar em
319
Seguidores

Estratégia de negociação quantitativa baseada na quebra da média dinâmica da Banda de Bollinger Estratégia de negociação quantitativa baseada na quebra da média dinâmica da Banda de Bollinger

Visão geral

A estratégia é um sistema de negociação quantitativa baseado em Bollinger Bands. Combina vários tipos de médias móveis, incluindo SMA, EMA, SMMA, WMA e VWMA, para construir Bollinger Bands e tomar decisões de negociação através da relação entre o preço e o Bollinger Bands. A idéia central da estratégia é capturar a tendência ascendente quando o preço quebra o Bollinger Bands e parar os prejuízos quando o preço entra em declínio.

Princípio da estratégia

O princípio de funcionamento da estratégia inclui principalmente os seguintes elementos-chave:

  1. A trajetória média da faixa de Bryn é calculada através de um tipo de média móvel selecionável (SMA, EMA, etc.).
  2. Utilizando a diferença padrão multiplicada (o padrão é 2.0) para calcular a faixa ascendente e descendente.
  3. Quando o preço de fechamento entra em alta, abre uma posição multi-cabeça.
  4. Quando o preço de fechamento cai para baixo, o equilíbrio termina a negociação. A estratégia também inclui mecanismos de gerenciamento de risco, como filtragem de intervalos de data e controle de ponto de deslizamento, para aumentar a estabilidade e a confiabilidade das transações.

Vantagens estratégicas

  1. Adaptabilidade: Suporta vários tipos de médias móveis, permitindo escolher a média ideal de acordo com diferentes características do mercado.
  2. Controle de risco perfeito: Adaptação dinâmica da faixa de Brin para mudanças na volatilidade do mercado.
  3. Flexibilidade de parâmetros: permite ajustar o comprimento da faixa de Bryn, o múltiplo da diferença padrão e outros parâmetros para adaptar-se a diferentes condições de mercado.
  4. Consideração de custos de transação: comissão interna e configuração de ponto de deslizamento, mais em consonância com a transação real.
  5. Gestão racional de posições: controle de posições usando a porcentagem de valor líquido da conta para gerenciar os riscos de forma eficaz.

Risco estratégico

  1. Risco de Falso Breakout: Falso breakout pode ocorrer com frequência em momentos de turbulência. Solução: adicionar indicadores auxiliares para confirmar a eficácia da descoberta.
  2. Risco de reversão de tendência: pode haver atraso na reação em caso de uma forte reversão de tendência. Solução: Considere aumentar os indicadores de confirmação de tendências.
  3. Risco de transação excessiva: sinais de transação frequentes podem levar a custos de transação excessivos. Solução: aumento do mecanismo de filtragem de sinais e limite de tempo de detenção.

Direção de otimização da estratégia

  1. Mecanismo de confirmação do sinal:
  • Adicionar indicador de confirmação de volume
  • Adicionar filtro de direção de tendência
  • Introdução de critérios auxiliares do indicador de dinâmica
  1. Otimização da gestão de riscos:
  • Implementando um mecanismo de stop loss dinâmico
  • Adição de controle de retração máxima
  • Algoritmos de gestão de posições
  1. Parâmetros adaptáveis:
  • Implementação de ajustes dinâmicos para parâmetros da faixa de Bryn
  • Ajuste de depreciação de transações de acordo com a volatilidade do mercado

Resumir

Trata-se de um sistema de negociação completo baseado em Brinbelt, com boa adaptabilidade e escalabilidade. É capaz de se adaptar a diferentes ambientes de mercado através da escolha de vários tipos de médias móveis e configuração flexível de parâmetros. O mecanismo de gerenciamento de risco da estratégia é relativamente perfeito, mas ainda há espaço para otimização.

Código-fonte da estratégia
/*backtest
start: 2024-06-30 00:00:00
end: 2025-02-18 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/

//@version=6
strategy(shorttitle="BB Demo", title="Demo GPT - Bollinger Bands", overlay=true, commission_type=strategy.commission.percent, commission_value=0.1, slippage=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Inputs
length = input.int(20, minval=1, title="Length")
maType = input.string("SMA", "Basis MA Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input.source(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
offset = input.int(0, "Offset", minval=-500, maxval=500)


// MA Calculation Function
ma(source, length, _type) =>
    switch _type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

// Indicator Calculations
basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// Visual Plots
plot(basis, "Basis", color=color.new(#2962FF, 0), offset=offset)
p1 = plot(upper, "Upper", color=color.new(#F23645, 0), offset=offset)
p2 = plot(lower, "Lower", color=color.new(#089981, 0), offset=offset)
fill(p1, p2, color=color.rgb(33, 150, 243, 95), title="Background")

// Strategy Logic
longCondition = close > upper 
exitCondition = close < lower 

if longCondition
    strategy.entry("Long", strategy.long)

if exitCondition
    strategy.close("Long")