A estratégia do sistema de Bandas de Bollinger de média móvel dupla é uma estratégia de negociação de toque típica.
Esta estratégia baseia-se principalmente no indicador Bollinger Bands. Bollinger Bands consiste de uma linha média móvel e largura de banda. A estratégia primeiro calcula a média móvel dos preços de fechamento em n períodos como a banda média, com a largura de banda sendo m vezes o desvio padrão da banda média. A banda superior e a banda inferior são então traçadas como m desvios padrão acima e abaixo da banda média. Quando o preço toca a banda superior, uma posição curta é aberta. Quando o preço toca a banda inferior, uma posição longa é aberta.
Em especial, a estratégia aplica as seguintes etapas:
Parâmetros de entrada: comprimento médio móvel definido n e multiplicador do desvio-padrão m
Calcular a faixa média: média móvel simples dos preços de fechamento de n períodos
Calcular a faixa superior: faixa média + desvio padrão de m * n períodos dos preços de fechamento
Calcular a faixa inferior: faixa média - desvio padrão de m * n períodos dos preços de fechamento
Traçar as faixas média, superior e inferior
Quando o preço de fechamento cruza acima da faixa média, vá longo
Quando o preço de fechamento cruzar abaixo da faixa média, vá curto
Estabelecer pontos de stop profit e stop loss para as posições de saída
A entrada em posições em transações de duas linhas, juntamente com mecanismos de stop profit e stop loss, pode controlar eficazmente os riscos e gerar lucros constantes.
As vantagens desta estratégia incluem:
Regras simples e claras, fáceis de implementar.
Baseado no indicador Bollinger Bands com justificativa científica.
Toques de duas linhas filtram falhas em mercados variados.
Contiverá o "stop profit" e o "stop loss", a gestão dos riscos.
Os dados de backtesting suficientes garantem a fiabilidade.
Grande espaço de ajuste de parâmetros para otimização.
Há alguns riscos a considerar:
As bandas de Bollinger são sensíveis a parâmetros que podem conduzir a resultados variados.
A entrada de duas linhas pode perder oportunidades de negociação devido à baixa frequência.
As configurações inadequadas de stop profit e stop loss podem conduzir a stop loss prematura ou a lucros insuficientes.
Podem ocorrer grandes perdas quando a tendência do mercado muda.
Um prazo de ensaio retrospectivo mais curto pode conduzir a riscos de sobreajuste.
Possíveis soluções:
Otimize os parâmetros para encontrar a melhor combinação.
Banda estreita para aumentar a frequência.
Ajustar paradas com base em diferentes mercados.
Adicionar um filtro de tendência para evitar transações contra-tendência.
Aumentar o prazo de backtest para garantir a robustez.
Algumas formas de melhorar a estratégia:
Otimizar parâmetros para melhores entradas.
Adicione a detecção de tendências. Filtros de tendências impedem a negociação contra a tendência.
Otimizar as saídas. Paradas dinâmicas ou atrasadas podem melhorar a gestão de lucros.
Adicione filtros com outros indicadores. MACD, KDJ etc. pode ajudar a filtrar falhas.
Incorporar modelos de aprendizagem de máquina como LSTM para otimizar ainda mais.
Combinar com outras estratégias básicas ou avançadas de gestão de carteiras.
O sistema de Bandas de Bollinger de média móvel dupla demonstra resultados positivos em geral, com vantagens como indicadores científicos, regras claras e parâmetros flexíveis.
/*backtest start: 2023-09-17 00:00:00 end: 2023-10-17 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("BB돌파", overlay=true) length = input.int(20, minval=1) src = input(close, title="Source") mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev") basis = ta.sma(src, length) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev offset = input.int(0, "Offset", minval = -500, maxval = 500) plot(basis, "Basis", color=#FF6D00, offset = offset) p1 = plot(upper, "Upper", color=#2962FF, offset = offset) p2 = plot(lower, "Lower", color=#2962FF, offset = offset) fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95)) long = ta.crossover(close,basis) short = ta.crossunder(close,basis) strategy.entry("long", strategy.long, when =long) strategy.entry("short", strategy.short, when =short)