Estratégia de filtro de intervalo de confirmação dupla combinada com posição dinâmica ATR e sistema de stop loss móvel

Range Filter ATR SMA Trailing Stop POSITION SIZING
Data de criação: 2025-05-26 14:22:36 última modificação: 2025-05-26 14:22:36
cópia: 0 Cliques: 311
2
focar em
319
Seguidores

Estratégia de filtro de intervalo de confirmação dupla combinada com posição dinâmica ATR e sistema de stop loss móvel Estratégia de filtro de intervalo de confirmação dupla combinada com posição dinâmica ATR e sistema de stop loss móvel

Visão geral

Esta estratégia é um sistema de negociação de baixa retração quantitativa que combina um filtro de alcance (Range Filter) e um amplitude de onda real média (ATR). Identifica a direção da tendência através do filtro de alcance, enquanto usa o ATR para ajustar dinamicamente o tamanho da posição e definir o stop loss para controlar o risco. A estratégia requer que o preço atravesse dois períodos consecutivos de um filtro de alcance para confirmar a tendência. Este mecanismo de dupla confirmação reduz efetivamente a falsa ruptura.

Princípio da estratégia

O princípio central da estratégia é a combinação da identificação de tendências do filtro de alcance com o sistema de gerenciamento de risco ATR:

  1. Cálculo do filtro de alcance:

    • Primeiro, calcule a média móvel simples (SMA) do preço como linha central.
    • Em seguida, calcula-se a média móvel do valor absoluto do preço em relação a esse desvio da linha central, como uma faixa de flutuação
    • Trajectória superior = linha central + amplitude de oscilação
    • Baixa rotação = linha central - amplitude de flutuação
  2. Condições de confirmação de tendência:

    • Tendência ascendente: preços terminaram acima dos trilhos em dois ciclos consecutivos
    • Tendência de queda: preços fecharam abaixo do limite em dois ciclos consecutivos
    • Este mecanismo de dupla confirmação reduz os sinais falsos.
  3. ATR posições dinâmicas:

    • ATR para medir a volatilidade do mercado atual
    • Fórmula de cálculo da posição: (capital da conta * percentual de risco) / (ATR * valor do ponto)
    • Quanto maior a volatilidade do mercado, menor a posição; quanto menor a volatilidade, maior a posição
  4. Cessação da tração ATR:

    • O Stop Loss Multihead é definido como: Preço atual - (ATR * múltiplo)
    • O Stop Loss em um balão é definido como: preço atual + (ATR * multiplicado por)
    • Quando o preço se move na direção de um ganho, a linha de parada também se move, bloqueando o lucro.

Vantagens estratégicas

  1. Forte adaptação:

    • O filtro de alcance adapta-se automaticamente às características de flutuação de diferentes ciclos de mercado
    • O mecanismo de ajuste de posição do ATR permite que a estratégia se adapte automaticamente a diferentes ambientes de flutuação
  2. Excelente controlo de riscos:

    • Percentagem de risco fixo por transação (default 1%)
    • Dimensão da posição de acordo com a dinâmica de flutuação do mercado
    • O mecanismo de parada de seguimento bloqueia os lucros e limita os prejuízos
  3. Qualidade de sinal:

    • Mecanismo de dupla confirmação ((dois ciclos consecutivos de ruptura) reduz o sinal falso
    • Os filtros de alcance são eficazes para filtrar o ruído do mercado e identificar as verdadeiras tendências
  4. Propriedades de baixa retração:

    • O trailing stop limitou a perda máxima de uma única transação
    • A configuração de parâmetros de risco conservadora (risco de 1%) reduziu a retirada geral
    • Posições dinâmicas diminuem automaticamente durante a alta volatilidade, reduzindo o risco
  5. Transparente e personalizável:

    • Parâmetros de estratégia claros e lógica clara
    • Parâmetros ajustáveis a diferentes mercados e preferências de risco individuais

Risco estratégico

  1. Mercado horizontal não está indo bem:

    • Em mercados de liquidação sem tendência, pode haver frequentes falsos sinais de ruptura
    • Solução: adicionar filtros de tendência adicionais ou aumentar o número de confirmações
  2. Risco de uma rápida reversão:

    • A paralisação de cola pode não ser executada em tempo hábil quando a tendência de força se reverte de repente.
    • Solução: pode ser combinado com o aumento da taxa de flutuação do indicador ou reduzir a distância de parada de cauda
  3. Sensibilidade do parâmetro:

    • O ciclo do filtro de alcance e a escolha do múltiplo ATR têm maior impacto na performance da estratégia
    • Solução: Fazer um histórico completo para encontrar uma combinação robusta de parâmetros
  4. Risco de perdas contínuas:

    • Mesmo com o risco de cada transação bem controlado, uma sequência de transações perdedoras pode levar a um retorno maior
    • Solução: definir um limite de perda máxima contínua ou adicionar um filtro de mercado
  5. Ponto de deslizamento e efeitos da taxa:

    • Nas negociações em disco, os pontos de deslizamento e as comissões podem afetar significativamente o desempenho da estratégia
    • Solução: Incluir taxas razoáveis e estimativas de deslizamento no feedback, mantendo espaço para lucro

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

  1. Adição de filtros de mercado:

    • Pode-se introduzir indicadores de volatilidade (como a banda de Bollinger) para identificar o estado do mercado
    • Suspensão de negociação ou ajuste de parâmetros em mercados de baixa volatilidade ou de liquidação
    • Isso pode reduzir os sinais falsos nos mercados horizontais e aumentar a taxa de vitória geral.
  2. Ciclo de filtro de alcance otimizado:

    • Considere usar um ciclo adaptativo em vez de um ciclo fixo
    • Ciclo de filtro de alcance que pode ser ajustado automaticamente com base na volatilidade do mercado
    • Isso permitirá que a estratégia se adapte melhor às diferentes fases do mercado.
  3. Introdução de confirmação de múltiplos quadros temporais:

    • Aumento da condição de confirmação de tendência em um período de tempo mais longo
    • Negociar apenas na direção da tendência principal, evitando negociação contracorrente
    • Isso aumentará significativamente a qualidade do sinal e a taxa de vitórias.
  4. Ajuste dinâmico do múltiplo ATR:

    • ATR multiplicado por um stop loss ajustado de forma dinâmica com base na volatilidade do mercado
    • Usar múltiplos menores em mercados de baixa volatilidade e maiores em mercados de alta volatilidade
    • Isso aumentará a eficácia e a flexibilidade da parada de danos.
  5. Adição de um mecanismo de saída baseado em tempo:

    • Configurar um limite máximo de tempo de posse
    • Se o preço não se desenvolve na direção esperada durante um período de tempo, forçar uma posição de liquidação
    • Isso evita que o dinheiro fique preso em transações inválidas por muito tempo.

Resumir

A estratégia de filtro de dupla confirmação de escopo combinada com o sistema de posições ATR dinâmicas e trailing stop é uma estratégia de negociação quantitativa com foco no controle de risco. Identifica a direção da tendência através do filtro de escopo, requer dois ciclos consecutivos de ruptura para confirmar o sinal, usa o ATR para ajustar dinamicamente o tamanho da posição e definir o trailing stop, controlando efetivamente o risco de cada transação dentro de uma porcentagem predefinida. A principal vantagem da estratégia reside na forte adaptabilidade e na excelente capacidade de controle de risco, especialmente adequada para mercados com grande volatilidade, mas com tendências evidentes.

Código-fonte da estratégia
/*backtest
start: 2025-02-01 00:00:00
end: 2025-05-25 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/

//@version=5
strategy("Range Filter + ATR Strategy (Low Drawdown)", overlay=true, 
     pyramiding=0, default_qty_type=strategy.percent_of_equity, 
     default_qty_value=100, commission_type=strategy.commission.percent, 
     commission_value=0.1, initial_capital=10000)

// Input parameters
rangePeriod = input.int(14, title="Range Filter Period")
atrPeriod = input.int(14, title="ATR Period")
riskPercent = input.float(1.0, title="Risk % per Trade", minval=0.1, maxval=5)
useATRSizing = input(true, title="Use ATR Position Sizing")
trailATR = input(1.5, title="Trailing Stop ATR Multiple")

// Calculate Range Filter
src = close
smooth = ta.sma(src, rangePeriod)
filter = ta.sma(math.abs(src - smooth), rangePeriod)
upper = smooth + filter
lower = smooth - filter

// Calculate ATR
atr = ta.atr(atrPeriod)

// Trend direction
upTrend = src > upper and src[1] > upper[1]
downTrend = src < lower and src[1] < lower[1]

// Position sizing based on ATR
atrPositionSize = (strategy.equity * riskPercent/100) / (atr * syminfo.pointvalue)

// Strategy logic
if (upTrend)
    strategy.entry("Long", strategy.long, qty=useATRSizing ? atrPositionSize : na)
    
if (downTrend)
    strategy.entry("Short", strategy.short, qty=useATRSizing ? atrPositionSize : na)

// Corrected trailing stop using trail_offset instead of trail_points
if (strategy.position_size > 0)
    strategy.exit("Long Exit", "Long", trail_price=na, trail_offset=trailATR * atr)
    
if (strategy.position_size < 0)
    strategy.exit("Short Exit", "Short", trail_price=na, trail_offset=trailATR * atr)

// Plotting
plot(upper, color=color.green, title="Upper Range")
plot(lower, color=color.red, title="Lower Range")
plot(smooth, color=color.blue, title="Smooth Line")