Estratégia de rastreamento de tendência multiindicador de momentum: canal Donchian + super tendência + sistema de construção de posição de filtro de volume

DC ST MA VOL BO
Data de criação: 2025-02-21 11:47:17 última modificação: 2025-02-21 11:47:17
cópia: 0 Cliques: 565
2
focar em
319
Seguidores

Estratégia de rastreamento de tendência multiindicador de momentum: canal Donchian + super tendência + sistema de construção de posição de filtro de volume Estratégia de rastreamento de tendência multiindicador de momentum: canal Donchian + super tendência + sistema de construção de posição de filtro de volume

Visão geral

A estratégia é um sistema de negociação de rastreamento de tendências baseado em uma ruptura do Canal Donchian, combinando um indicador de supertrend (SuperTrend) e um filtro de volume de transação para aumentar a confiabilidade do sinal de negociação. A estratégia identifica oportunidades de negociação potencialmente múltiplas capturando preços que ultrapassam os picos históricos, enquanto usa a confirmação de volume de transação e indicadores de rastreamento de tendências para filtrar falsos sinais de ruptura.

Princípio da estratégia

A lógica central da estratégia é baseada nos seguintes componentes principais:

  1. Corredor de Tangjian: calcula o preço máximo e mínimo dentro do ciclo definido pelo usuário, formando o trajeto superior, inferior e médio. Quando o preço quebra o trajeto superior, aciona um sinal de entrada múltipla.
  2. Filtro de volume de transação: Compara o volume de transação atual com a média móvel de 20 ciclos, garantindo a entrada apenas quando o volume de transação aumenta, aumentando a confiabilidade da quebra.
  3. Indicador de tendência super: como ferramenta de confirmação de tendência, mostra verde quando a tendência é multi-cabeça, e vermelho quando a tendência é vazia.
  4. Mecanismo de parada flexível: oferece quatro opções de parada diferentes, incluindo parada de sub-carril, parada de meio-carril, parada de super-tendência e parada de percentual de seguimento.

Vantagens estratégicas

  1. Confirmação de múltiplos sinais: Combinação de ruptura de preços, confirmação de volume de transação e indicadores de tendência, reduzindo significativamente o risco de falsa ruptura.
  2. Adaptabilidade: adaptação a diferentes ambientes de mercado e ciclos de negociação através de ajustes de parâmetros.
  3. Gestão de riscos: oferece várias opções de parada de perdas, que podem ser escolhidas de acordo com as características do mercado.
  4. Visualização clara: a interface de estratégia mostra os indicadores de forma intuitiva, facilitando o entendimento do estado do mercado.
  5. Flexibilidade de retorno: Permite a personalização do intervalo de tempo de retorno, facilitando a otimização da estratégia.

Risco estratégico

  1. Risco de mercado de turbulência: Falso sinal de ruptura pode ocorrer com frequência em situações de turbulência intermitente.
  2. Risco de deslizamento: em mercados com pouca liquidez, o sinal de ruptura pode levar ao desvio do preço de entrada devido ao deslizamento.
  3. Risco de excesso de filtragem: Ativar a filtragem de volume de transação pode fazer com que você perca algumas oportunidades de negociação válidas.
  4. Sensibilidade dos parâmetros: O efeito da estratégia é sensível às configurações dos parâmetros e requer otimização cuidadosa.

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

  1. Aumentar o filtro de intensidade da tendência: pode ser adicionado um indicador de intensidade da tendência, como o ADX, apenas quando a tendência é forte.
  2. Otimização do volume de transações: pode-se considerar o uso de volume de transações relativo ou de um indicador de ruptura de volume de transações em vez de uma média móvel simples.
  3. Adição de filtro de tempo: adicionar a configuração da janela de tempo de negociação para evitar os períodos de maior volatilidade do mercado.
  4. Otimização de parâmetros dinâmicos: ajuste automático de ciclos de canal e parâmetros de super tendência de acordo com a volatilidade do mercado.
  5. Introdução ao aprendizado de máquina: otimizar a seleção de parâmetros e a filtragem de sinais com algoritmos de aprendizado de máquina.

Resumir

A estratégia, através da aplicação integrada de vários indicadores técnicos, construiu um sistema de negociação de acompanhamento de tendências relativamente perfeito. A vantagem da estratégia é a alta confiabilidade do sinal, a flexibilidade de gerenciamento de risco, mas ainda requer que o comerciante otimize os parâmetros de acordo com as características específicas do mercado.

Código-fonte da estratégia
/*backtest
start: 2024-10-01 00:00:00
end: 2025-02-19 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

// Breakout trading system based on Donchain channel strategy that works best on a weekly chart and daily charts. Weekly is preferred. 

//@version=5

strategy('Donchian BO with Volume Filter and Supertrend', shorttitle='DBO+Vol+ST', default_qty_type=strategy.percent_of_equity, default_qty_value=2, overlay=true)

// Input options to configure backtest date range
startDate = input.int(title='Start Date', defval=1, minval=1, maxval=31)
startMonth = input.int(title='Start Month', defval=1, minval=1, maxval=12)
startYear = input.int(title='Start Year', defval=2016, minval=1800, maxval=2100)
avgVol = input.int(title="Avg Volume length", defval=20)
srcInput = input.source(close, "Source")

// Volume filter toggle
useVolumeFilter = input.bool(true, title='Enable Volume Filter')

endDate = input.int(title='End Date', defval=1, minval=1, maxval=31)
endMonth = input.int(title='End Month', defval=7, minval=1, maxval=12)
endYear = input.int(title='End Year', defval=2030, minval=1800, maxval=2100)

multiplier = input.int(title='SuperTrend Mult', defval=2, minval=1, maxval=12)
stlen = input.int(title='SuperTrend Length', defval=10, minval=1, maxval=12)

length = input.int(21, minval=1)
exit = input.int(3, minval=1, maxval=4, title='Exit Option')  // Use Option 1 to exit using lower band; Use Option 2 to exit using basis line

lower = ta.lowest(length)
upper = ta.highest(length)
basis = math.avg(upper, lower)

// Plotting the Donchian channel
l = plot(lower, color=color.new(color.blue, 0))
u = plot(upper, color=color.new(color.blue, 0))
plot(basis, color=color.new(color.orange, 0))
fill(u, l, color=color.new(color.blue, 90))

// Check if the current bar is in the date range
inDateRange = time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0) and time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0)

// Long trailing stop-loss percentage
longTrailPerc = input.float(title='Trail Long Loss (%)', minval=0.0, step=0.1, defval=3) * 0.01
longStopPrice = 0.0

longStopPrice := if strategy.position_size > 0
    stopValue = close * (1 - longTrailPerc)
    math.max(stopValue, longStopPrice[1])
else
    0

// Volume filter: 20-period moving average
volumeMA = ta.sma(volume, avgVol)

// Long entry condition: Donchian breakout + volume filter
longCondition = ta.crossover(srcInput, upper[1]) and (not useVolumeFilter or volume > volumeMA)
longsma = ta.sma(close, 200)

if inDateRange and longCondition
    strategy.entry('Long', strategy.long)

// Exit conditions
if inDateRange and exit == 1
    if ta.crossunder(close, lower[1])
        strategy.close('Long')

if inDateRange and exit == 2
    if ta.crossunder(close, basis[1])
        strategy.close('Long')

[superTrend, dir] = ta.supertrend(multiplier, stlen)
if inDateRange and exit == 3
    if ta.crossunder(close, superTrend)
        strategy.close('Long')

if inDateRange and exit == 4
    if strategy.position_size > 0
        strategy.exit(id='XL TRL STP', stop=longStopPrice)

// Short conditions (commented out for now)
shortCondition = ta.crossunder(close, lower[1])

// Exit all positions when date range ends
if not inDateRange
    strategy.close_all()

// --- Add Supertrend Indicator ---
stColor = dir == 1 ? color.red : color.green
plot(superTrend, color=stColor, title="SuperTrend", linewidth=2)