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

A estratégia quantitativa de bandas de Bollinger de alta frequência combinada com o sistema de ruptura de alta e baixa frequência

Autora:ChaoZhang, Data: 2024-12-04 15:15:50
Tags:BBSMAS.D.RRHHLL

img

Resumo

Esta estratégia é um sistema de negociação de alta frequência que combina indicadores de Bollinger Bands com sinais de ruptura de preço. A estratégia monitora a relação entre o preço e as Bandas de Bollinger, combinada com sinais de ruptura de pontos altos e baixos anteriores, para executar negociações de reversão durante condições de sobrecompra e sobrevenda no mercado. O sistema implementa uma relação risco-recompensação de 1: 1 para metas de lucro e perda e visualiza os principais níveis de preço para ajudar os comerciantes a entender intuitivamente as tendências do mercado.

Princípios de estratégia

A lógica central da estratégia baseia-se em duas condições principais: um sinal de compra é acionado quando o preço ultrapassa o máximo anterior e esse alto está abaixo da faixa de Bollinger inferior; um sinal de venda é acionado quando o preço ultrapassa o mínimo anterior e esse baixo está acima da faixa de Bollinger superior. Os parâmetros de Bollinger Bands usam uma média móvel de 20 períodos com 2 desvios padrão para determinar a faixa de volatilidade do mercado e as áreas de sobrecompra / sobrevenda. Após a ação dos sinais de negociação, o sistema define automaticamente os níveis de stop-loss e alvo correspondentes, visualizando-os através de diferentes estilos de linha.

Vantagens da estratégia

  1. Combina as abordagens de negociação de ruptura de tendência e de reversão média, mantendo a estabilidade em diferentes condições de mercado
  2. Utiliza um rácio de risco/retorno fixo para a gestão de posições, benéfico para uma negociação rentável a longo prazo
  3. Visualiza os níveis de entrada, stop-loss e alvo, melhorando a operabilidade da estratégia
  4. Utiliza Bandas de Bollinger para identificar as condições de sobrecompra/supervenda do mercado, melhorando a precisão da negociação
  5. Lógica de estratégia simples e clara, fácil de entender e executar

Riscos estratégicos

  1. A negociação de alta frequência pode enfrentar custos de transacção mais elevados, que exigem a consideração dos impactos das comissões
  2. Pode gerar sinais de ruptura falsos frequentes em mercados variados
  3. O rácio risco/retorno fixo pode não captar plenamente os fortes movimentos da tendência
  4. Os parâmetros de Bollinger Bands fixos podem não se adaptar a todas as condições de mercado
  5. Requer monitorização do mercado em tempo real para garantir a execução atempada do sinal

Orientações para a otimização da estratégia

  1. Incorporar indicadores de volume para confirmação de sinal, melhorando a confiabilidade da fuga
  2. Ajustar dinamicamente os parâmetros das bandas de Bollinger com base na volatilidade do mercado
  3. Adicionar filtros de tendência para evitar negociações frequentes em mercados variados
  4. Considere adicionar filtros de tempo para evitar negociação durante períodos inativos
  5. Desenvolver mecanismos adaptativos de fixação do rácio risco/recompensa

Resumo

Este é um sistema de negociação abrangente que integra vários conceitos de análise técnica. Através da combinação de indicadores de Bollinger Bands e breakouts de preços, a estratégia pode capturar oportunidades de reversão em áreas de sobrecompra e sobrevenda do mercado.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-03 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Band Scalping", overlay=true)

// Input for Bollinger Bands length and standard deviation
bbLength = input(20, title="Bollinger Bands Length")
stdDev = input(2.0, title="Bollinger Bands Std Dev")

// Calculate and plot the Bollinger Bands
basis = ta.sma(close, bbLength)
deviation = stdDev * ta.stdev(close, bbLength)
upperBB = basis + deviation
lowerBB = basis - deviation

// Get previous candle's values
prevHigh = high[1]   // Previous candle high
prevLow = low[1]     // Previous candle low

// Buy Signal Condition: Current high crossed above previous high and previous high is below the lower Bollinger Band
buyCondition = ta.crossover(high, prevHigh) and (prevHigh < lowerBB[1])

// Sell Signal Condition: Current low crossed below previous low and previous low is above the upper Bollinger Band
sellCondition = ta.crossunder(low, prevLow) and (prevLow > upperBB[1])

// Entry and exit for Buy signals
if (buyCondition)
    strategy.entry("Buy", strategy.long)
    // Calculate target and stop loss
    stopLossPrice = prevLow
    targetPrice = prevHigh + (prevHigh - stopLossPrice)  // 1:1 RR target

    // Set stop loss and target orders
    strategy.exit("Sell", "Buy", limit=targetPrice, stop=stopLossPrice)

    // // Plot entry line
    // line.new(x1=bar_index, y1=prevHigh, x2=bar_index + 12, y2=prevHigh, color=color.green, width=2, style=line.style_solid)
    // // Plot stop loss line
    // line.new(x1=bar_index, y1=stopLossPrice, x2=bar_index + 12, y2=stopLossPrice, color=color.red, width=1, style=line.style_dashed)
    // // Plot target line
    // line.new(x1=bar_index, y1=targetPrice, x2=bar_index + 12, y2=targetPrice, color=color.blue, width=2, style=line.style_solid)

// Entry and exit for Sell signals
if (sellCondition)
    strategy.entry("Sell", strategy.short)
    // Calculate target and stop loss
    stopLossPriceSell = prevHigh
    targetPriceSell = prevLow - (stopLossPriceSell - prevLow)  // 1:1 RR target

    // Set stop loss and target orders
    strategy.exit("Cover", "Sell", limit=targetPriceSell, stop=stopLossPriceSell)

    // // Plot entry line
    // line.new(x1=bar_index, y1=prevLow, x2=bar_index + 12, y2=prevLow, color=color.red, width=2, style=line.style_solid)
    // // Plot stop loss line
    // line.new(x1=bar_index, y1=stopLossPriceSell, x2=bar_index + 12, y2=stopLossPriceSell, color=color.green, width=1, style=line.style_dashed)
    // // Plot target line
    // line.new(x1=bar_index, y1=targetPriceSell, x2=bar_index + 12, y2=targetPriceSell, color=color.blue, width=2, style=line.style_solid)

// Plotting Bollinger Bands with 70% transparency
plot(upperBB, color=color.red, title="Upper Bollinger Band", transp=70)
plot(lowerBB, color=color.green, title="Lower Bollinger Band", transp=70)
plot(basis, color=color.blue, title="Middle Band", transp=70)


Relacionados

Mais.