Esta estratégia combina três indicadores de Supertrend com uma média móvel exponencial (EMA) para seguir a tendência. Ele usa três linhas de Supertrend com diferentes sensibilidades e uma linha EMA para capturar tendências de mercado através de confirmação multidimensional. A estratégia utiliza ATR (Average True Range) para calcular níveis dinâmicos de suporte / resistência e determina a direção da tendência e sinais de negociação com base nas posições de preço em relação a essas linhas.
A estratégia consiste nos seguintes elementos essenciais:
Pode gerar trocas frequentes em mercados variados, aumentando os custos de transação. Solução: adicionar filtros de sinal ou estender os períodos de média móvel.
O atraso potencial durante o início da inversão da tendência. Solução: Incorporar indicadores de impulso para assistência.
Requisitos de confirmação múltiplos podem perder algumas oportunidades lucrativas. Solução: ajustar as condições de confirmação com base nas características do mercado.
Esta é uma estratégia de seguimento de tendências logicamente rigorosa e estável. Através da combinação de múltiplos indicadores técnicos, garante a confiabilidade do sinal, mantendo boas capacidades de controle de risco. Os parâmetros da estratégia são altamente ajustáveis e podem ser otimizados para diferentes condições de mercado.
/*backtest start: 2024-12-19 00:00:00 end: 2024-12-26 00:00:00 period: 45m basePeriod: 45m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend EMA Strategy", overlay=true) // Input Parameters ema_length = input(50, title="EMA Length") supertrend_atr_period = input(10, title="ATR Period") supertrend_multiplier1 = input.float(3.0, title="Supertrend Multiplier 1") supertrend_multiplier2 = input.float(2.0, title="Supertrend Multiplier 2") supertrend_multiplier3 = input.float(1.0, title="Supertrend Multiplier 3") // Calculations emaValue = ta.ema(close, ema_length) [supertrend1, SupertrendDirection1] = ta.supertrend(supertrend_multiplier1, supertrend_atr_period) [supertrend2, SupertrendDirection2] = ta.supertrend(supertrend_multiplier2, supertrend_atr_period) [supertrend3, SupertrendDirection3] = ta.supertrend(supertrend_multiplier3, supertrend_atr_period) // Plot Indicators plot(emaValue, title="EMA", color=color.blue, linewidth=2) plot(supertrend1, title="Supertrend 1 (10,3)", color=(SupertrendDirection1 == -1 ? color.green : color.red), linewidth=1, style=plot.style_line) plot(supertrend2, title="Supertrend 2 (10,2)", color=(SupertrendDirection2 == -1 ? color.green : color.red), linewidth=1, style=plot.style_line) plot(supertrend3, title="Supertrend 3 (10,1)", color=(SupertrendDirection3 == -1 ? color.green : color.red), linewidth=1, style=plot.style_line) // Entry Conditions long_condition = (SupertrendDirection1 == -1 and SupertrendDirection2 == -1 and SupertrendDirection3 == -1 and close > emaValue) short_condition = (SupertrendDirection1 == 1 and SupertrendDirection2 == 1 and SupertrendDirection3 == 1 and close < emaValue) // Exit Conditions long_exit = (SupertrendDirection3 == 1) short_exit = (SupertrendDirection3 == -1) // Execute Strategy if (long_condition) strategy.entry("Long", strategy.long) if (short_condition) strategy.entry("Short", strategy.short) if (long_exit) strategy.close("Long") if (short_exit) strategy.close("Short")