Estratégia de negociação de indicador duplo SuperTrend-Stochastic com Momentum Enhanced

supertrend STOCHASTIC ATR K D SMA ADX
Data de criação: 2025-02-20 13:49:34 última modificação: 2025-02-20 14:51:10
cópia: 2 Cliques: 515
2
focar em
319
Seguidores

Estratégia de negociação de indicador duplo SuperTrend-Stochastic com Momentum Enhanced Estratégia de negociação de indicador duplo SuperTrend-Stochastic com Momentum Enhanced

Visão geral

Trata-se de uma estratégia de negociação complexa que combina o indicador de tendência super (SuperTrend) e o indicador de oscilação aleatória (Stochastic Oscillator). A estratégia usa o indicador de tendência super (SuperTrend) para identificar a direção da tendência do mercado, enquanto o indicador de oscilação aleatória é usado para confirmar a dinâmica dos preços, permitindo uma geração de sinais de negociação mais precisa. A estratégia usa o ATR (true amplitude median) como referência de volatilidade, para acompanhar a tendência, ajustando dinamicamente os pontos de suporte / resistência.

Princípio da estratégia

A lógica central da estratégia baseia-se nos seguintes componentes-chave:

  1. O indicador SuperTrend utiliza o ATR de 10 ciclos e um multiplicador de 3,0 para calcular o canal de resistência de suporte dinâmico
  2. O indicador de oscilação aleatória usa a configuração de parâmetros clássicos ([14,3,3]) para identificar áreas de sobrecompra e sobrevenda
  3. “Não é uma questão de tempo.
    • SuperTrend indica tendência de alta
    • Indicador aleatório %K na linha %D
    • % Valor de K em zona de sobrevenda (< 20)
  4. Requisitos de vaga:
    • SuperTrend indica uma tendência de baixa
    • Indicador aleatório %K atravessa a linha %D
    • %K está na zona de sobrecompra ((mais de 80))

Vantagens estratégicas

  1. Combinação de rastreamento de tendências e confirmação de dinâmica, aumentando significativamente a confiabilidade dos sinais de negociação
  2. Adaptação da largura do canal SuperTrend para melhor adaptar-se às flutuações do mercado com o uso do ATR
  3. Filtração de sobrevenda e sobrecompra de indicadores aleatórios para evitar negociações contractuais em zonas extremas
  4. Condições de sinal são rigorosas, pode filtrar efetivamente a falsa penetração, reduzir o falso sinal
  5. Estratégias com lógica clara e com parâmetros ajustáveis para diferentes cenários de mercado

Risco estratégico

  1. Os sinais de negociação podem ser excessivos em mercados turbulentos, aumentando os custos de negociação.
  2. As condições de sinalização são muito rigorosas e podem ter perdido algumas oportunidades de negociação em potencial.
  3. Indicadores de SuperTrend podem ficar para trás em situações de alta volatilidade
  4. Indicadores aleatórios podem sinalizar uma reversão prematura em mercados de forte tendência Recomenda-se a adoção das seguintes medidas de controlo de riscos:
  • Estabeleça um parâmetro de parada razoável
  • Considere aumentar o filtro de intensidade de tendência (como o ADX)
  • Parâmetros de ajuste à dinâmica do mercado

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

  1. A introdução de indicadores de intensidade de tendência (como o ADX) para otimizar filtros de negociação:
    • Só abrir uma posição quando a tendência é clara
    • A frequência de transações evita o choque do mercado
  2. Parâmetros de otimização de indicadores aleatórios:
    • Considerar um ciclo de adaptação
    • Ajustado à dinâmica da taxa de flutuação
  3. Melhorar o sistema de gestão de fundos:
    • Posição de parada dinâmica baseada em ATR
    • Ajustes dinâmicos para atingir os objetivos de lucro
  4. Adição de filtro de tempo:
    • Evite períodos de baixa mobilidade
    • Suspensão de transações antes da divulgação de dados importantes

Resumir

A estratégia, em combinação com a SuperTrend e o indicador de oscilação aleatória, realiza uma combinação orgânica de acompanhamento de tendências e confirmação de dinâmica. A estratégia é projetada de forma razoável, com boa ajustabilidade e adaptabilidade.

Código-fonte da estratégia
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/

//@version=5
strategy("SuperTrend + Stochastic Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === Vstupy ===
// SuperTrend
atrPeriod = input.int(10, title="ATR Period", minval=1)
multiplier = input.float(3.0, title="SuperTrend Multiplier", step=0.1)

// Stochastic Oscillator
kPeriod = input.int(14, title="%K Period", minval=1)
dPeriod = input.int(3, title="%D Period", minval=1)
smoothK = input.int(3, title="Smooth %K", minval=1)

// === Výpočty Indikátorov ===
// Výpočet ATR
atr = ta.atr(atrPeriod)

// Výpočet SuperTrend
upperBasic = (ta.highest(high, 1) + ta.lowest(low, 1)) / 2 + (multiplier * atr)
lowerBasic = (ta.highest(high, 1) + ta.lowest(low, 1)) / 2 - (multiplier * atr)

var float upperBand = na
var float lowerBand = na
var bool isBullish = true

if (na(upperBand[1]))
    upperBand := upperBasic
    lowerBand := lowerBasic
else
    upperBand := close[1] > upperBand[1] ? math.max(upperBasic, upperBand[1]) : upperBasic
    lowerBand := close[1] < lowerBand[1] ? math.min(lowerBasic, lowerBand[1]) : lowerBasic

isBullish := close > upperBand[1] ? true : close < lowerBand[1] ? false : isBullish[1]

// Výpočet Stochastic Oscillator
stochK = ta.sma(ta.stoch(high, low, close, kPeriod), smoothK)
stochD = ta.sma(stochK, dPeriod)

// === Podmienky Pre Vstupy ===
// Nákupný signál
longCondition = isBullish and ta.crossover(stochK, stochD) and stochK < 20

// Predajný signál
shortCondition = not isBullish and ta.crossunder(stochK, stochD) and stochK > 80

// === Vstupné Signály ===
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// === Výstupné Podmienky ===
// Môžete pridať vlastné podmienky pre uzatvorenie pozícií alebo použitie stop-loss/take-profit

// === Vykreslenie Indikátorov na Grafe ===
// Vykreslenie SuperTrend
plot(isBullish ? upperBand : na, color=color.green, title="SuperTrend Up", linewidth=2)
plot(not isBullish ? lowerBand : na, color=color.red, title="SuperTrend Down", linewidth=2)
fill(plot(isBullish ? upperBand : na, color=color.green), plot(not isBullish ? lowerBand : na, color=color.red), color=isBullish ? color.new(color.green, 90) : color.new(color.red, 90), title="SuperTrend Fill")

// Vykreslenie Stochastic Oscillator na samostatnom okne
hline(80, "Overbought", color=color.red, linestyle=hline.style_dotted)
hline(20, "Oversold", color=color.green, linestyle=hline.style_dotted)
plot(stochK, color=color.blue, title="%K")
plot(stochD, color=color.orange, title="%D")

// Vizualizácia Signálov
plotshape(series=longCondition, title="Long Entry", location=location.belowbar, color=color.green, style=shape.labelup, text="Long")
plotshape(series=shortCondition, title="Short Entry", location=location.abovebar, color=color.red, style=shape.labeldown, text="Short")