Estratégia de tendência baseada em intervalo médio real otimizado v6 (captura de tendência fixa)

ATR EMA SMMA RSI TSL
Data de criação: 2025-03-31 16:50:30 última modificação: 2025-03-31 16:50:41
cópia: 0 Cliques: 418
2
focar em
319
Seguidores

Estratégia de tendência baseada em intervalo médio real otimizado v6 (captura de tendência fixa) Estratégia de tendência baseada em intervalo médio real otimizado v6 (captura de tendência fixa)

Visão geral

Esta é uma estratégia de acompanhamento de tendências baseada no real-time range (ATR) médio, destinada a capturar transações de alta probabilidade através da combinação de vários indicadores técnicos. A estratégia combina filtros ATR, indicadores de tendências super, indicadores de movimentação de média (EMA) e média móvel simples (SMMA), bandas de tendência, confirmação de índices relativamente fracos (RSI) e sistema de stop loss dinâmico, com o objetivo de fornecer uma abordagem de negociação abrangente e flexível.

Princípio da estratégia

A estratégia baseia-se na interação de vários indicadores tecnológicos:

  1. Identificação de tendências: Use o indicador de tendências super: ((parâmetro: fator 2, duração 5) e 50 dias de EMA e 8 dias de SMMA para definir a direção da tendência do mercado. Tendências codificadas por cores:

    • Verde: tendência de queda
    • Vermelho: tendência de queda
    • Cinza: fase neutra
  2. Filtragem inteligente de ATR: Detecte a expansão de volatilidade através de um ATR de 14 ciclos e uma média móvel simples de 50 ciclos, apenas negocie quando o ATR sobe ou está acima de 101% de sua SMA, garantindo entrada apenas em uma tendência forte.

  3. Condições de entrada:

    • Multi-entrada: Preço acima da EMA de 50 dias, tendência super positiva, RSI > 45, ATR confirma a força da tendência
    • Início de fechamento: preço abaixo da EMA de 50 dias, super tendência de baixa, RSI < 45, ATR confirma a força da tendência
  4. A perda de velocidade e a paralisação:

    • Paragem: Paragem adaptativa baseada em 5x ATR
    • Stop loss: Stop loss de rastreamento de 3,5 vezes o ATR
    • Segurança de perda: acionada após o movimento de preço de 2x ATR
    • Stop-loss fixo: gerenciamento de risco com o ATR multiplicado por 0,8

Vantagens estratégicas

  1. Filtrar eficazmente os mercados de volatilidade e evitar a negociação em zonas de baixa volatilidade
  2. Prevenção da sobrevenda e prevenção de reentrada prematura através de bloqueios de bloqueio
  3. Capturar uma forte tendência, acompanhar um stop loss permite que os lucros continuem
  4. Redução de retrações, paralisação básica do ATR e prevenção de grandes perdas
  5. Parâmetros ajustáveis, com filtros ATR, stop loss, stop loss e RSI ajustáveis para diferentes mercados

Risco estratégico

  1. Excesso de dependência de indicadores técnicos pode levar a falsos sinais
  2. O mercado pode ficar fraco em momentos de turbulência
  3. Configuração inadequada de parâmetros pode aumentar os custos de transação
  4. RSI confirma que pode ter perdido mudanças rápidas de tendência

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

  1. Introdução de algoritmos de aprendizagem de máquina, parâmetros de ajuste dinâmico
  2. Adição de filtros adicionais, como confirmação de volume
  3. Explorar o melhor conjunto de parâmetros para diferentes mercados e prazos
  4. Desenvolvimento de mecanismos de verificação de múltiplos quadros temporais

Resumir

É uma estratégia avançada de acompanhamento de tendências, que oferece aos traders uma ferramenta de negociação flexível e poderosa por meio da sinergia de múltiplos indicadores e do gerenciamento dinâmico de risco. A resposta e otimização contínuas são a chave para a aplicação bem-sucedida desta estratégia.

Código-fonte da estratégia
/*backtest
start: 2024-03-31 00:00:00
end: 2025-03-29 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy("Optimized ATR-Based Trend Strategy v6 (Fixed Trend Capture)", overlay=true)

// 🔹 Input parameters
lengthSMMA = input(8, title="SMMA Length")
lengthEMA = input(50, title="EMA Length")
supertrendFactor = input(2.0, title="Supertrend Factor")
supertrendLength = input(5, title="Supertrend Length")
atrLength = input(14, title="ATR Length")  
atrSmoothing = input(50, title="ATR Moving Average Length")  
atrMultiplierTP = input.float(5.0, title="ATR Multiplier for Take-Profit", minval=1.0, step=0.5)  
atrMultiplierTSL = input.float(3.5, title="ATR Multiplier for Trailing Stop-Loss", minval=1.0, step=0.5)  // 🔹 Increased to ride trends
atrStopMultiplier = input.float(0.8, title="ATR Stop Multiplier", minval=0.5, step=0.1)  
breakEvenMultiplier = input.float(2.0, title="Break-Even Trigger ATR Multiplier", minval=1.0, step=0.1)
rsiLength = input(14, title="RSI Length")  

// 🔹 Indicator calculations
smma8 = ta.sma(ta.sma(close, lengthSMMA), lengthSMMA)  
ema50 = ta.ema(close, lengthEMA)  

// 🔹 Supertrend Calculation
[superTrend, _] = ta.supertrend(supertrendFactor, supertrendLength)

// 🔹 Supertrend Conditions
isBullishSupertrend = close > superTrend
isBearishSupertrend = close < superTrend

// 🔹 ATR Calculation for Smarter Filtering
atrValue = ta.atr(atrLength)
atrMA = ta.sma(atrValue, atrSmoothing)
atrRising = ta.rising(atrValue, 3)  // 🔹 More sensitive ATR detection
isTrending = atrValue > atrMA * 1.01 or atrRising  // 🔹 Loosened ATR filter

// 🔹 RSI Calculation
rsi = ta.rsi(close, rsiLength)

// 🔹 RSI Conditions (More Flexible)
isRSIBullish = rsi > 45  // 🔹 Lowered to capture early trends
isRSIBearish = rsi < 45  

// 🔹 TP Lock Mechanism
var bool tpHit = false  
if strategy.position_size == 0 and strategy.closedtrades > 0
    tpHit := true  

// 🔹 Supertrend Flip Detection (Resumes Trading After Trend Change)
trendFlip = (isBullishSupertrend and not isBullishSupertrend[1]) or (isBearishSupertrend and not isBearishSupertrend[1])
if trendFlip
    tpHit := false  

// 🔹 Entry Conditions
bullishEntry = close > ema50 and isBullishSupertrend and isRSIBullish and isTrending and not tpHit
bearishEntry = close < ema50 and isBearishSupertrend and isRSIBearish and isTrending and not tpHit

// 🔹 Dynamic Take-Profit, Stop-Loss, and Break-Even Stop
longTakeProfit = close + (atrValue * atrMultiplierTP)  
shortTakeProfit = close - (atrValue * atrMultiplierTP)  
longTrailStop = atrValue * atrMultiplierTSL  
shortTrailStop = atrValue * atrMultiplierTSL  

// ✅ Adjusted SL to Reduce Drawdown
longStopLoss = close - (atrValue * atrMultiplierTSL * atrStopMultiplier)
shortStopLoss = close + (atrValue * atrMultiplierTSL * atrStopMultiplier)

// ✅ Break-Even Stop Trigger (More Room for Trends)
longBreakEven = strategy.position_avg_price + (atrValue * breakEvenMultiplier)
shortBreakEven = strategy.position_avg_price - (atrValue * breakEvenMultiplier)

// 🔹 Strategy Execution (Fixed Take-Profit & Stop-Loss)
if (bullishEntry)
    strategy.entry("Buy", strategy.long)
    strategy.exit("TSL/TP", from_entry="Buy", stop=longStopLoss, trail_offset=longTrailStop, limit=longTakeProfit)
    strategy.exit("BreakEven", from_entry="Buy", stop=longBreakEven)

if (bearishEntry)
    strategy.entry("Sell", strategy.short)
    strategy.exit("TSL/TP", from_entry="Sell", stop=shortStopLoss, trail_offset=shortTrailStop, limit=shortTakeProfit)
    strategy.exit("BreakEven", from_entry="Sell", stop=shortBreakEven)

// 🔹 Trend Band
trendColor = isBullishSupertrend and smma8 > ema50 and close > ema50 ? color.green :
             isBearishSupertrend and smma8 < ema50 and close < ema50 ? color.red : color.gray
fill(plot(smma8, color=color.new(trendColor, 60), title="8 SMMA Band"),
     plot(ema50, color=color.new(trendColor, 60), title="50 EMA Band"),
     color=color.new(trendColor, 80), title="Trend Band")

// 🔹 Supertrend Line
plot(superTrend, color=color.gray, title="Supertrend", style=plot.style_line)