Estratégia de negociação quantitativa de rompimento de nível de suporte com base em stop loss dinâmico de ATR

ATR SMA SUPPORT BREAKOUT TRAILING STOP VOLUME CONFIRMATION SIDEWAYS DETECTION
Data de criação: 2025-05-26 11:28:36 última modificação: 2025-05-26 11:28:36
cópia: 0 Cliques: 260
2
focar em
319
Seguidores

Estratégia de negociação quantitativa de rompimento de nível de suporte com base em stop loss dinâmico de ATR Estratégia de negociação quantitativa de rompimento de nível de suporte com base em stop loss dinâmico de ATR

Visão geral

A estratégia é um sistema de negociação de quantificação de ruptura de suporte para negociações aéreas, para capturar tendências de queda de preços através da identificação de rupturas efetivas de suporte crítico. A estratégia combina a teoria da resistência de suporte na análise técnica, o princípio de confirmação de volume de transação e o mecanismo de gerenciamento de risco dinâmico ATR. O sistema possui uma função de filtragem de mercado transversal, capaz de evitar efetivamente a produção de falsos sinais em situações de turbulência e focar em oportunidades de ruptura de tendência.

Princípio da estratégia

O princípio central da estratégia é baseado na teoria da ruptura do nível de suporte na análise técnica. Primeiro, o sistema determina o nível de suporte crítico, que representa uma importante área de defesa da força múltipla, calculando o preço mínimo nos últimos 20 ciclos. Quando o preço cai acima deste nível de suporte e atende às condições de amortecimento da ruptura, indica que a linha de defesa múltipla foi rompida e a força aérea assume a posição dominante.

Vantagens estratégicas

A função de filtragem de mercado horizontal é uma das principais vantagens da estratégia, sendo capaz de identificar os movimentos de choque e suspender a negociação para evitar perdas contínuas em um ambiente de mercado desfavorável. A gestão de risco dinâmico é a principal vantagem da estratégia. O mecanismo de parada de perda baseado no ATR é capaz de se ajustar automaticamente à volatilidade do mercado, oferecendo um espaço de parada mais flexível em períodos de alta volatilidade e de controlar o risco de aquisição em períodos de baixa volatilidade.

Risco estratégico

Apesar das múltiplas vantagens da estratégia, existem alguns riscos potenciais a serem observados. Primeiro, o risco de reversão de tendência, quando o mercado está em uma forte tendência ascendente, a ruptura do nível de suporte pode ser apenas uma reversão de curta duração, e não uma verdadeira reversão de tendência, o que pode levar a posições em aberto a enfrentarem perdas rápidas no mercado. O risco de flutuação extrema é outra consideração importante, em caso de choque de notícias significativas ou de pânico no mercado, o preço pode surgir com uma lacuna de salto, fazendo com que o mecanismo de parada de perdas baseado no ATR seja ineficaz.

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

Existem várias direções de otimização da estratégia para melhorar o desempenho geral. Em primeiro lugar, pode-se introduzir a análise de múltiplos períodos de tempo para filtrar os sinais de negociação, combinando a direção da tendência com períodos de tempo mais elevados. Por exemplo, o sinal de ruptura do gráfico horário é executado apenas quando o diagrama mostra uma tendência de queda. Isso pode aumentar significativamente a taxa de sucesso do sinal, evitando a operação de reversão.

Resumir

A estratégia é um sistema de negociação de quantificação de ponta de suporte bem projetado, que atinge uma maior qualidade de sinal e controle de risco através da combinação de vários indicadores técnicos. O principal benefício da estratégia é o seu mecanismo de filtragem de sinal completo e o sistema de gerenciamento de risco dinâmico baseado em ATR. A confirmação de volume de transação e a filtragem de mercado horizontal aumentam efetivamente a confiabilidade do sinal de negociação, enquanto o mecanismo de rastreamento de perda é um bom equilíbrio entre controle de risco e maximização de lucro.

Código-fonte da estratégia
/*backtest
start: 2024-05-26 00:00:00
end: 2024-08-13 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/

//@version=5
strategy("Breakout Strategy Pro [Dubic] - Short Only", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// === INPUTS === //
srRange         = input.int(20, "Support Lookback", minval=5)
volMaLength     = input.int(20, "Volume MA Length", minval=1)
atrLength       = input.int(14, "ATR Period", minval=5)
trailMultiplier = input.float(1.5, "Trailing Stop Multiplier", minval=1.0)
stopMultiplier  = input.float(1.0, "Initial Stop-Loss ATR Multiplier", minval=0.5)
breakoutBuffer  = input.float(1.005, "Breakout Buffer", step=0.001)
rangeLength     = input.int(20, "Range Detector Lookback", minval=5)
rangeThreshold  = input.float(1.5, "Sideways Threshold (x ATR)", minval=0.5, step=0.1)

// === CALCULATIONS === //
lowLevel         = ta.lowest(low, srRange)[1]
volMA            = ta.sma(volume, volMaLength)
atr              = ta.atr(atrLength)
trailOffsetTicks = math.max(int(math.round((atr * trailMultiplier) / syminfo.mintick)), 1)
stopLossTicks    = math.max(int(math.round((atr * stopMultiplier) / syminfo.mintick)), 1)

// === SIDEWAYS DETECTION === //
highRange = ta.highest(high, rangeLength)
lowRange = ta.lowest(low, rangeLength)
priceRange = highRange - lowRange
isSideways = priceRange <= atr * rangeThreshold

// === ENTRY LOGIC === //
shortCondition = close <= lowLevel * breakoutBuffer and volume >= volMA and not isSideways

// === ENTRY & EXIT === //
if shortCondition and strategy.position_size >= 0
    strategy.entry("Short", strategy.short)
    strategy.exit("Exit Short", "Short", trail_price=close, trail_offset=trailOffsetTicks, stop=close + stopLossTicks * syminfo.mintick)
    alert("Short Entry Signal - Breakout Strategy Pro [Dubic]", alert.freq_once_per_bar)

// === VISUALS === //
plot(lowLevel, "Support", color=color.new(color.green, 30))
plot(volMA, "Volume MA", color=color.gray)
plotshape(shortCondition, location=location.abovebar, style=shape.triangledown, color=color.red, size=size.small, title="Sell Signal")
bgcolor(isSideways ? color.new(color.orange, 85) : na, title="Sideways Market")