Estratégia de acompanhamento de tendência de banda de Bollinger de média móvel dupla


Data de criação: 2023-12-22 14:54:20 última modificação: 2023-12-22 14:54:20
cópia: 1 Cliques: 619
1
focar em
1621
Seguidores

Estratégia de acompanhamento de tendência de banda de Bollinger de média móvel dupla

Visão geral

A estratégia é uma estratégia de negociação quantitativa que utiliza uma combinação de bandas de Brin e linhas médias para julgar tendências e entrar. Combina a capacidade de reconhecimento de tendências das bandas de Brin e o efeito de onda da média móvel para identificar efetivamente a direção da tendência do mercado e entrar na tendência.

Princípio da estratégia

  1. Utilizando o cálculo de preços máximos e mínimos para determinar a direção das tendências do mercado

    • Os canais de cálculo de preços mais altos e mais baixos estão em andamento
    • O eixo central do canal é a média dos preços mais altos e mais baixos
    • A posição do preço no canal determina a direção da tendência
  2. Cálculo do tamanho da entidade solar para determinar sinais de parada e reversão

    • O valor absoluto do preço de fechamento menos o preço de abertura de uma entidade de linha de sol
    • Calcular o valor médio da entidade solar em N ciclos, comparando-o com o tamanho da entidade solar atual, para julgar o stop loss e a reversão
  3. A entrada é feita na direção do corredor após a confirmação da direção da tendência

    • A tendência ascendente se infiltra na linha inferior.
    • A cauda em baixa perto da linha de topo
  4. Filtragem de ondas usando médias móveis para evitar falsos sinais

    • Calcule a média móvel do preço de fechamento para N ciclos
    • Os sinais de negociação só são emitidos quando o preço ultrapassa a média

Vantagens estratégicas

  1. Combinação de tendências de julgamento de canais de correlação e médias móveis, forte sistematização

A correia de Brin pode determinar com clareza o canal de preços e a direção da tendência, a média móvel pode filtrar as ondas, e a combinação de ambos pode identificar de forma eficaz as tendências, evitar o impacto de surpresas no mercado e garantir a estabilidade do sistema.

  1. Usar o tamanho da entidade solar para parar os prejuízos e controlar os riscos

Ao calcular o valor médio do tamanho da entidade solar em um determinado período e compará-lo com o tamanho da entidade do ciclo atual, é possível determinar claramente a reversão da tendência e reduzir a posição de stop loss, de modo a controlar efetivamente o risco da estratégia.

  1. A entrada quantitativa e as regras de stop loss são claras.

A estratégia de entrada em condições de combinação com a média móvel e a direção do canal, e o uso da regra de tamanho da entidade de linha de sol para a parada de perda, fazendo com que a entrada e a regra de parada do sistema inteiro sejam muito claras e sistematizadas.

Análise de Riscos

  1. Risco de perdas em situações de turbulência

Em situações de turbulência, o preço pode tocar várias vezes no trilho para baixo e causar pequenos perdas repetidos. Neste momento, o tamanho da posição deve ser reduzido para reduzir os perdas individuais.

  1. Perda de risco de um ponto de paragem muito próximo do ponto de paragem, causando um impacto de um movimento muito grande

Em uma forte tendência, uma reversão de curto prazo de preços pode desencadear a eliminação da regra de stop loss, quando a amplitude de stop loss deve ser apropriadamente relaxada para acompanhar a tendência.

  1. Parâmetros errados podem causar um sinal de erro

A configuração incorreta dos parâmetros das médias móveis e das faixas de Brin pode causar erros de identificação do sinal. Os parâmetros devem ser apropriadamente otimizados para que o sinal seja estável e confiável.

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

  1. Otimização de parâmetros de média móvel

Ajustar os parâmetros das médias móveis, reduzindo a suavidade, permite detectar mudanças de tendência mais rapidamente.

  1. Testar o efeito de diferentes regras de parada

Tente diferentes regras de stop loss, como stop tracking, stop ATR, etc., e escolha a melhor forma de parar.

  1. Adição de auxiliares de modelos de aprendizagem de máquina

Modelos de treinamento com base em uma grande quantidade de dados históricos para auxiliar na determinação de tendências e emissão de sinais de negociação.

Resumir

A estratégia considera o julgamento de tendências e o controle de risco, usando o canal de banda de Bryn e a média móvel para identificar tendências, enquanto o tamanho da entidade do solstício de verão é usado para travar os prejuízos. A estratégia é sistemática, as regras quantitativas são claras e podem efetivamente controlar o risco para obter ganhos excedentes. A estratégia é mais estável e confiável com o aprimoramento contínuo de parâmetros e a combinação de aprendizado de máquina.

Código-fonte da estratégia
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=2
strategy("Noro's Bands Scalper Strategy v1.3", shorttitle = "Scalper str 1.3", 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 = ema(body, 30)
candle = high - low

//Engulfing
min = min(open, close)
max = max(open, close)
bar = close > open ? 1 : close < open ? -1 : 0
upeng = bar == 1 and bar[1] == -1 and min >= min[1] and max <= max[1] ? 1 : 0
dneng = bar == -1 and bar[1] == 1 and min >= min[1] and max <= max[1] ? 1 : 0

//Signals
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)