Estratégia dinâmica de ruptura de Bollinger

Autora:ChaoZhang, Data: 2024-01-26 14:52:59
Tags:

img

Resumo

Esta estratégia é uma estratégia de negociação de ruptura baseada no indicador Bollinger Bands. Ela calcula os trilhos superior e inferior das Bandas de Bollinger e os combina com limiares de compra e venda dinamicamente ajustáveis para automatizar a negociação de BTCUSDT no Binance.

Estratégia lógica

O indicador central desta estratégia é as Bandas de Bollinger. As Bandas de Bollinger consistem em uma média móvel de N dias e bandas superiores e inferiores traçadas em um nível de desvio padrão acima e abaixo dela. As Bandas de Bollinger nesta estratégia têm uma duração de 20 dias e um multiplicador de desvio padrão de 2. Quando o preço se aproxima ou toca o trilho inferior das Bandas de Bollinger, é considerado sobrevendido e a estratégia abrirá uma posição longa. Quando o preço se aproxima ou toca o trilho superior, é considerado sobrecomprado e a estratégia fechará posições longas.

Além do indicador Bollinger Bands, esta estratégia também introduz dois parâmetros ajustáveis: limite de compra e limite de venda. O limite de compra é definido em 58 pontos abaixo da faixa inferior e serve como condição de entrada para abrir posições longas. O limite de venda é definido em 470 pontos acima da faixa inferior e serve como condição de saída para fechar posições. Esses limites podem ser ajustados dinamicamente com base nas condições reais do mercado e nos resultados de backtest para tornar a estratégia mais flexível.

Quando a condição de compra é atendida, a estratégia abrirá uma posição longa usando 10% do capital da conta. Após a abertura da posição longa, se o preço subir para atingir o nível de stop loss (-125%), as posições serão fechadas por ordens de stop loss. Quando o preço subir para acionar o limiar de venda, a estratégia optará por fechar todas as posições para coletar lucros.

Análise das vantagens

As principais vantagens desta estratégia incluem:

  1. Usando Bandas de Bollinger pode capturar oportunidades quando os preços desviam anormalmente de bandas e lucrar com reversões
  2. A introdução de limiares de compra e venda ajustáveis otimiza os pontos de entrada e saída
  3. O risco é controlado através da tomada de posições de tamanho parcial
  4. A definição da condição de stop loss evita perdas adicionais
  5. O backtesting com intervalos de 5 minutos pode capturar oportunidades de negociação de curto prazo em tempo útil

Análise de riscos

Há também alguns riscos com esta estratégia:

  1. Bollinger Bands em si não é 100% confiável, os preços podem oscilar mais baixo por um longo tempo antes de cair novamente
  2. Ajustes de limiar incorretos podem causar a falta dos melhores pontos de entrada ou saída
  3. A definição de stop loss demasiado frouxa pode não conseguir parar a perda a tempo, ou demasiado apertada pode causar stop loss demasiado sensível
  4. A selecção inadequada do período de backtesting pode levar alguns lucros ocasionais como rendimento estável

Contramedidas:

  1. Combinar mais indicadores para julgar as condições do mercado e evitar falsos sinais de Bandas de Bollinger
  2. Teste e otimize os parâmetros de limiar para encontrar a combinação ideal
  3. Teste e otimize as condições de stop loss para encontrar um equilíbrio
  4. Adotar um período de backtesting mais longo para examinar a estabilidade da estratégia

Orientações de otimização

A estratégia pode ser ainda melhorada nos seguintes aspectos:

  1. Tente combinar outros indicadores como KD, RSI para definir regras de entrada mais rigorosas, evitar entrar muito cedo ou muito tarde
  2. Teste diferentes combinações de parâmetros de Bollinger Bands para otimizar o comprimento da banda e o multiplicador de desvio padrão
  3. Otimizar os limiares de compra e venda para melhorar a taxa de lucro
  4. Tente adotar uma taxa de stop loss dinâmica baseada no ATR para corresponder à volatilidade do mercado
  5. Otimizar o dimensionamento das posições, por exemplo, classificar as posições em forma de pirâmide adequada quando estão em lucro para controlar o risco de perda única

Resumo

Em resumo, esta é uma estratégia de breakout geral simples e prática. Adota Bandas de Bollinger para identificar oportunidades de reversão e estabelecer limiares dinâmicos para entrada e saída. Enquanto isso, o dimensionamento razoável da posição e as condições de stop loss são utilizadas para controlar os riscos. Após a otimização de vários parâmetros-chave, esta estratégia pode produzir retornos relativamente estáveis. É adequada para negociação algorítmica e também pode servir como uma ferramenta auxiliar para escolher ações ou medir o sentimento do mercado.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SuperDS_BTC

//@version=5
strategy("布林通道策略多5min", overlay=true) 

// 布林通道计算
length = input(20, title="布林通道周期")
mult = input(2.0, title="标准差倍数")
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev

// 计算买入数量:每次检查仓位的大小 
// 每次买入使用总资金的10%
position_size = strategy.equity * 10 / close 

// 定義可調整的閾值
buy_threshold = input(58, title="買入閾值")
exit_threshold = input(470, title="賣出閾值")

// 买入条件:当现价低于布林通道的下限减去 buy_threshold
buy_condition = close < lower - buy_threshold

// 卖出条件和结清仓位条件
exit_condition = close > lower + exit_threshold

// 买入逻辑
if buy_condition
    strategy.entry("BuyLong", strategy.long, qty=position_size, comment="LongBTC")

// 卖出逻辑
if exit_condition
    strategy.close("BuyLong")

// 止损逻辑
stop_loss_percent = -1.25 //止损百分比为-125%
if strategy.position_size > 0
    position_profit_percent = (strategy.position_avg_price - close) / strategy.position_avg_price * 100
    if position_profit_percent <= stop_loss_percent
        strategy.close("BuyLong")

Mais.