Estratégia de ajuste de posição dinâmica adaptável do tipo de identificação de tendências de séries temporais múltiplas

DEMA ATR supertrend
Data de criação: 2025-02-24 09:48:55 última modificação: 2025-02-27 16:49:07
cópia: 5 Cliques: 433
2
focar em
319
Seguidores

Estratégia de ajuste de posição dinâmica adaptável do tipo de identificação de tendências de séries temporais múltiplas Estratégia de ajuste de posição dinâmica adaptável do tipo de identificação de tendências de séries temporais múltiplas

Visão geral

A estratégia é um sistema de negociação de acompanhamento de tendências baseado no Supertrend e no DEMA. A estratégia constrói um quadro de decisão de negociação confiável através da combinação da capacidade de identificação de direção de tendência do indicador Supertrend e da função de confirmação de tendência do DEMA.

Princípio da estratégia

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

  1. Indicador de Supertrend: Utiliza o ATR com um ciclo de 10, um fator de 3,0, para capturar a tendência de preços em um ponto de inflexão.
  2. Indicador DEMA: utiliza uma média móvel de índice duplo de 100 ciclos para filtrar o ruído do mercado e confirmar a confiabilidade da tendência.
  3. Mecanismos de geração de sinais de negociação:
    • Multi-Head Signal: Acionado quando o preço atravessa a Supertrend e o preço de fechamento está acima da DEMA
    • Sinal de cabeça vazia: Acionado quando o preço atravessa a Supertrend e o preço de fechamento está abaixo da DEMA
  4. Gerenciamento de posição: o sistema suporta ajustes de posição flexíveis, incluindo abertura de posição direta, operação de posição de retorno e paz.

Vantagens estratégicas

  1. Mecanismo de confirmação múltipla: aumenta significativamente a confiabilidade dos sinais de negociação através da combinação dos dois indicadores Supertrend e DEMA.
  2. Gerenciamento de posições flexível: suporte a negociação bidirecional multi-vocal, com a possibilidade de ajustar a direção da posição de acordo com a dinâmica da situação do mercado.
  3. Controle de risco perfeito: mecanismos de resposta rápida em pontos de mudança de tendência, para parar o risco em tempo hábil e aproveitar as oportunidades de novas tendências.
  4. Os parâmetros são altamente ajustáveis: os parâmetros-chave como o ciclo ATR, o fator Supertrend e o ciclo DEMA podem ser otimizados de acordo com diferentes características do mercado.

Risco estratégico

  1. Mercado horizontal com fraco desempenho: pode haver frequentes falsos sinais de ruptura em um mercado sem uma tendência óbvia.
  2. Risco de atraso: o uso do DEMA como filtro pode causar um pequeno atraso no tempo de entrada, afetando parte do espaço de ganho.
  3. Sensibilidade de parâmetros: os efeitos da estratégia são sensíveis à configuração de parâmetros, e diferentes combinações de parâmetros podem ser necessárias em diferentes ambientes de mercado.

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

  1. Introdução de um mecanismo de adaptação à volatilidade:
    • Ajustamento do fator Supertrend para a dinâmica da volatilidade do mercado
    • Aumento da válvula de filtragem durante os altos e relaxamento apropriado durante os baixos
  2. Adição de módulo de identificação do cenário de mercado:
    • Adição de indicadores de intensidade de tendência para reduzir a frequência de negociação no mercado horizontal
    • Introdução de indicadores de volume de transação para auxiliar na confirmação da eficácia da ruptura
  3. Melhore o mecanismo de stop loss:
    • Implementação de stop loss dinâmico baseado em ATR
    • Adição de Stop Loss móvel para proteger o lucro

Resumir

A estratégia, através de uma combinação inteligente de indicadores Supertrend e DEMA, constrói um sistema de acompanhamento de tendências estável. Sua vantagem é a alta confiabilidade do sinal, o controle de risco é perfeito, mas ainda requer que os comerciantes otimizem os parâmetros de acordo com as características específicas do mercado.

Código-fonte da estratégia
/*backtest
start: 2025-02-16 00:00:00
end: 2025-02-23 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/

//@version=6
strategy("Supertrend with DEMA Strategy (Reversal Enabled)", overlay=true)

// ===== Parameters for Supertrend =====
atrPeriod = input.int(10, "ATR Length", minval=1)
factor    = input.float(3.0, "Factor", minval=0.01, step=0.01)

// ===== Parameters for Allowing Trade Directions =====
allowLong  = input.bool(true,  "Allow LONG")
allowShort = input.bool(true,  "Allow SHORT")

// Supertrend Calculation
[supertrend, direction] = ta.supertrend(factor, atrPeriod)
// Set the value to na for the first bar to avoid false signals
supertrend := barstate.isfirst ? na : supertrend

// Plot Supertrend Lines
plot(direction < 0 ? supertrend : na, "Up Trend",   color=color.green, style=plot.style_linebr)
plot(direction < 0 ? na : supertrend, "Down Trend", color=color.red,   style=plot.style_linebr)

// ===== Parameters and Calculation for DEMA =====
demaLength = input.int(100, "DEMA Length", minval=1)
e1 = ta.ema(close, demaLength)
e2 = ta.ema(e1, demaLength)
dema = 2 * e1 - e2

// Plot DEMA
plot(dema, "DEMA", color=#43A047)

// ===== Signal Definitions =====
// Basic Supertrend Trend Change Signals
trendUp   = ta.crossover(close, supertrend)
trendDown = ta.crossunder(close, supertrend)

// Entry Signals considering DEMA
longSignal  = trendUp and (close > dema)
shortSignal = trendDown and (close < dema)

// ===== Entry/Exit Logic =====

// LONG Signal
if (longSignal)
    // If there is an open SHORT position – reverse it to LONG if allowed
    if (strategy.position_size < 0)
        if (allowLong)
            strategy.close("Short")
            strategy.entry("Long", strategy.long)
        else
            // If reversal to LONG is not allowed – just close SHORT
            strategy.close("Short")
    // If there is no position – open LONG if allowed
    else if (strategy.position_size == 0)
        if (allowLong)
            strategy.entry("Long", strategy.long)

// SHORT Signal
if (shortSignal)
    // If there is an open LONG position – reverse it to SHORT if allowed
    if (strategy.position_size > 0)
        if (allowShort)
            strategy.close("Long")
            strategy.entry("Short", strategy.short)
        else
            // If reversal to SHORT is not allowed – just close LONG
            strategy.close("Long")
    // If there is no position – open SHORT if allowed
    else if (strategy.position_size == 0)
        if (allowShort)
            strategy.entry("Short", strategy.short)

// ===== Additional Position Closure on Trend Change without Entry =====
// If Supertrend crosses (trend change) but DEMA conditions are not met,
// close the opposite position if open.
if (trendUp and not longSignal and strategy.position_size < 0)
    strategy.close("Short")

if (trendDown and not shortSignal and strategy.position_size > 0)
    strategy.close("Long")