Sistema de estratégia dupla de acompanhamento de tendências adaptáveis ​​e negociação de intervalo

ADX SMA BB RSI MACD ATR
Data de criação: 2025-02-21 10:14:04 última modificação: 2025-02-27 17:17:45
cópia: 1 Cliques: 419
2
focar em
319
Seguidores

Sistema de estratégia dupla de acompanhamento de tendências adaptáveis ​​e negociação de intervalo Sistema de estratégia dupla de acompanhamento de tendências adaptáveis ​​e negociação de intervalo

Visão geral

A estratégia é um sistema de negociação auto-adaptável que combina o acompanhamento de tendências e negociação em intervalos. O sistema identifica o estado do mercado dinamicamente através do indicador ADX, e adota diferentes estratégias de negociação em mercados de tendência e de turbulência. Em mercados de tendência, a estratégia usa o sinal de cruzamento de média móvel combinado com a confirmação RSI e MACD; em mercados de turbulência, a estratégia utiliza o sistema de negociação de ruptura de borla combinado com o sinal de superacompra e superavenda RSI.

Princípio da estratégia

O núcleo da estratégia é o mecanismo de identificação do estado do mercado. A estratégia de acompanhamento de tendências é ativada quando o ADX é maior que 25 e é considerado um mercado de tendência:

  1. Condição multi-cabeça: 50 dias na linha média atravessa a linha média de 200 dias, enquanto o RSI é maior que 50 e a linha MACD está acima da linha de sinal
  2. Condição de cabeça vazia: 50 dias abaixo da linha média atravessa a linha média de 200 dias, enquanto o RSI é menor que 50 e a linha MACD está abaixo da linha de sinal

Quando o ADX for menor ou igual a 25 e for considerado um mercado de choque, utilize a estratégia de negociação intermitente:

  1. Condição de múltiplos cabeçalhos: preço sobe através da faixa de Brin para baixo e RSI menor que 40
  2. Condição de cabeça vazia: preço abaixo do traçado da faixa de Brin e RSI maior que 60

A configuração do stop loss utiliza o método de multiplicação dinâmica do ATR, com stop loss de 1,5 vezes o ATR e stop loss de 3 vezes o ATR.

Vantagens estratégicas

  1. Adaptabilidade de mercado: capacidade de alternar estratégias de negociação automaticamente de acordo com a situação do mercado
  2. Confirmação de múltiplos sinais: redução de falsos sinais através da combinação de vários indicadores técnicos
  3. Controle de risco perfeito: mecanismo de parada de prejuízos dinâmico para se adaptar às flutuações do mercado
  4. Lógicas de estratégia claras: critérios de julgamento de tendências e intervalos claros, facilitando o ajuste de otimização
  5. A visualização é boa: o estado do mercado é intuitivo, distinguido pela cor do fundo

Risco estratégico

  1. Sinalização de atraso: indicadores como a média móvel têm um certo atraso, podendo perder o melhor ponto de entrada
  2. Risco de Falso Breakout: Brin pode trazer um falso sinal de breakout em um mercado em turbulência
  3. Sensibilidade de parâmetros: configurações de parâmetros, como o ADX, o ATR e outros, podem afetar o desempenho da estratégia
  4. Risco de troca de mercado: pode produzir sinais errados durante a transição entre tendências e turbulências
  5. Risco de stop loss: o stop loss ATR de um multiplicador fixo pode ser excessivo em períodos de alta volatilidade

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

  1. Introdução de análise de volume de transação: adicionar um fator de volume de transação na confirmação do sinal, aumentando a confiabilidade do sinal
  2. Optimizar o julgamento do estado do mercado: considerar a mudança do ADX para depreciação dinâmica ou a combinação com outros indicadores
  3. Melhoria do mecanismo de stop loss: introdução de stop loss de rastreamento ou ajuste do ATR em função da variação da taxa de flutuação
  4. Aumentar o filtro de tempo: adicionar restrições de período de negociação, evitando períodos de baixa liquidez
  5. Melhoria do mecanismo de confirmação de sinais: análise de configuração de preços pode ser considerada para melhorar a qualidade do sinal

Resumir

A estratégia é adaptada a diferentes ambientes de mercado através da identificação dinâmica do estado do mercado e da correspondente mudança de estratégia. A estratégia tem uma boa praticidade através da combinação de múltiplos indicadores técnicos e mecanismo de controle de risco dinâmico.

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

//@version=6
strategy("Trend vs Range Trading - Fully Fixed for v6", overlay=true)

// 🔹 Moving Averages (SMA 50 & 200)
sma50 = ta.sma(close, 50)
sma200 = ta.sma(close, 200)

// 🔹 Proper ADX Calculation (With Corrected ta.dmi() Parameters)
dmiLength = 14
adxSmoothing = 14
[dmiPlus, dmiMinus, adx] = ta.dmi(dmiLength, adxSmoothing)

// 🔹 Bollinger Bands Calculation (Fixed for v6)
bb_length = 20
bb_mult = 2.0
bb_basis = ta.sma(close, bb_length)
bb_dev = ta.stdev(close, bb_length)
bb_upper = bb_basis + (bb_mult * bb_dev)
bb_lower = bb_basis - (bb_mult * bb_dev)

// 🔹 Additional Indicators (RSI & MACD)
rsi = ta.rsi(close, 14)
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)

// 🔹 ATR for Stop Loss & Take Profit
atr = ta.atr(14)
stop_loss_mult = 1.5  // Stop Loss Multiplier
take_profit_mult = 3.0  // Take Profit Multiplier

// 🔹 Trend vs Range Market Detection
is_trending = adx > 25

// 🔹 Trend Following Strategy (SMA Cross & Confirmation)
long_condition_trend = is_trending and ta.crossover(sma50, sma200) and rsi > 50 and macdLine > signalLine
short_condition_trend = is_trending and ta.crossunder(sma50, sma200) and rsi < 50 and macdLine < signalLine

// 🔹 Range Trading Strategy (Bollinger Bands & RSI Confirmation)
long_condition_range = not is_trending and ta.crossover(close, bb_lower) and rsi < 40
short_condition_range = not is_trending and ta.crossunder(close, bb_upper) and rsi > 60

// 🔹 Stop Loss & Take Profit Calculations
long_stop_loss = close - (atr * stop_loss_mult)
long_take_profit = close + (atr * take_profit_mult)
short_stop_loss = close + (atr * stop_loss_mult)
short_take_profit = close - (atr * take_profit_mult)

// 🔹 Execute Trades (With Stop Loss & Take Profit)
if long_condition_trend
    strategy.entry("Long_Trend", strategy.long)
    strategy.exit("Exit_Long_Trend", from_entry="Long_Trend", stop=long_stop_loss, limit=long_take_profit)

if short_condition_trend
    strategy.entry("Short_Trend", strategy.short)
    strategy.exit("Exit_Short_Trend", from_entry="Short_Trend", stop=short_stop_loss, limit=short_take_profit)

if long_condition_range
    strategy.entry("Long_Range", strategy.long)
    strategy.exit("Exit_Long_Range", from_entry="Long_Range", stop=long_stop_loss, limit=long_take_profit)

if short_condition_range
    strategy.entry("Short_Range", strategy.short)
    strategy.exit("Exit_Short_Range", from_entry="Short_Range", stop=short_stop_loss, limit=short_take_profit)

// 🔹 Visual Indicators & Background Color (Trend vs Range)
bgcolor(is_trending ? color.green : color.blue)

// 🔹 Plot Moving Averages & Bollinger Bands
plot(sma50, color=color.blue, title="SMA 50")
plot(sma200, color=color.red, title="SMA 200")
plot(bb_upper, color=color.green, title="BB Upper")
plot(bb_lower, color=color.orange, title="BB Lower")