Esta é uma estratégia de tendência baseada em Bandas de Bollinger. Ele usa Bandas de Bollinger para calcular canais de preços e combina padrões de velas para determinar a direção da tendência. As posições longas / curtas serão abertas quando o preço sair das Bandas de Bollinger. Esta estratégia funciona bem para ações com tendências óbvias e visa capturar lucros de tendência de médio prazo.
Esta estratégia usa a faixa superior, a faixa média e a faixa inferior das Bandas de Bollinger para determinar os intervalos de preços. As bandas superior e inferior envolvem os movimentos dos preços, enquanto a faixa média é a média móvel. A largura da faixa muda com base na volatilidade dos preços.
Após determinar a direção da tendência com a ruptura das Bandas de Bollinger, a estratégia também a confirma com padrões de velas. Se o corpo da vela se alinhar com a tendência, como a vela de alta em uma tendência de alta, uma posição será aberta. Se o corpo da vela mostrar padrão inverso, como a vela de baixa em uma tendência de alta, o sinal será ignorado. Este design visa evitar riscos falsos de ruptura.
As regras pormenorizadas relativas aos sinais de negociação são:
Calcular a faixa superior, a faixa média e a faixa inferior das bandas de Bollinger para determinar a faixa de preços
Quando o preço ultrapassa a faixa superior, sinaliza uma tendência ascendente/longa
Se o candelabro estiver em alta, confirme a tendência e vá longo
Quando o preço quebra abaixo da faixa inferior, sinaliza uma tendência de queda/curto
Se o candelabro for de baixa, confirme a tendência e vá curto
Estabelecer o stop loss e o take profit com base na percentagem
Ao entrar em breakouts de Bollinger Bands e confirmar com velas, esta estratégia pode identificar efetivamente a direção da tendência e obter boas entradas durante as fases iniciais da tendência.
Trata-se de uma tendência típica que segue uma estratégia com os seguintes pontos fortes:
As bandas de Bollinger são adaptáveis e podem ajustar os intervalos para ações com volatilidade diferente
A confirmação do candelabro filtra falhas
A detenção a médio prazo diminui a frequência de negociação e reduz os custos/deslizamento
A captação das tendências a médio prazo evita o ruído a curto prazo e proporciona uma boa relação risco-recompensa
Os resultados dos backtests são fortes e as negociações reais são estáveis devido à sistematização
A lógica estratégica é clara e fácil de entender, com espaço para melhorias
Determinando a tendência com Bollinger Bands e entrando em confirmação de candelabro, esta estratégia captura efetivamente o impulso de médio prazo impulsionado pelo volume.
Há também alguns riscos a considerar para esta estratégia:
O risco de ruptura fracassada.
Risco de reversão: as tendências a médio prazo também podem reverter-se, deverão ser estabelecidos limites razoáveis
Os parâmetros e paradas de Bollinger Bands precisam ser ajustados para diferentes ações
Risco de sobreajuste: a otimização excessiva dos parâmetros provoca ajuste da curva
Risco de execução: existe uma divergência entre backtest e negociação real
Para combater estes riscos, podem ser introduzidas as seguintes melhorias:
Otimizar os parâmetros e largura das bandas de Bollinger para melhor ajuste
Adicione mais fatores como volume para confirmar a tendência
Usar paradas dinâmicas para evitar grandes perdas em reversões
Aplicar a análise de caminhada para frente para evitar o sobreajuste
Melhorar a execução de ordens para melhorar a eficiência real das negociações
Esta estratégia pode ser reforçada nos seguintes aspectos:
Adicionar mais indicadores como KDJ, MACD para confirmar sinais e melhorar a precisão
Usar aprendizado de máquina para otimizar dinamicamente parâmetros em vez de valores fixos
Estabelecer zonas de preços em torno de pontos de ruptura para gerar sinais mais precisos
Otimizar as saídas com paradas de atraso ou tomada parcial de lucro
Introduzir o dimensionamento das posições para uma melhor gestão dos riscos
Utilize tipos de ordem avançados para melhorar os resultados de execução
Adicionar filtros de regime de mercado para desligar a estratégia em determinados ambientes
Ao introduzir mais técnicas e otimizações, a estabilidade e a rentabilidade desta estratégia podem ser melhoradas para obter melhores resultados de backtest e negociação real.
Esta é uma estratégia típica de tendência que usa Bandas de Bollinger como intervalos dinâmicos para determinar a direção da tendência.
As vantagens desta estratégia incluem o uso de Bandas de Bollinger para tendência, candelabro para confirmação de entrada, baixa frequência de negociação e fácil sistematização.
No geral, como uma tendência típica de seguir a estratégia, tem uma lógica clara e é fácil de implementar com forte viabilidade.
/*backtest start: 2022-11-09 00:00:00 end: 2023-11-15 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Noro's Bands Scalper Strategy v1.2", shorttitle = "Scalper str 1.2", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %") needct = input(false, defval = false, title = "Counter-trend entry") len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period") needbb = input(true, defval = true, title = "Show Bands") needbg = input(true, defval = true, title = "Show Background") src = close //PriceChannel 1 lasthigh = highest(src, len) lastlow = lowest(src, len) center = (lasthigh + lastlow) / 2 //Distance dist = abs(src - center) distsma = sma(dist, len) hd = center + distsma ld = center - distsma hd1 = center + distsma / 2 ld1 = center - distsma / 2 //Trend trend = close < ld and high < center ? -1 : close > hd and low > center ? 1 : trend[1] //Lines colo = needbb == false ? na : black plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band") plot(center, color = colo, linewidth = 1, transp = 0, title = "center") plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band") //Background col = needbg == false ? na : trend == 1 ? lime : red bgcolor(col, transp = 80) //Body body = abs(close - open) smabody = sma(body, 100) //Signals bar = close > open ? 1 : close < open ? -1 : 0 up7 = trend == 1 and ((bar == -1 and bar[1] == -1) or (body > smabody and close < open)) ? 1 : 0 dn7 = trend == 1 and bar == 1 and bar[1] == 1 and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0 up8 = trend == -1 and bar == -1 and bar[1] == -1 and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0 dn8 = trend == -1 and ((bar == 1 and bar[1] == 1) or (body > smabody and close > open)) ? 1 : 0 if up7 == 1 or up8 == 1 strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na) if dn7 == 1 or dn8 == 1 strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na)