A estratégia de negociação dupla SuperTrend com combinação MACD incorpora dois indicadores de tendência (SuperTrend 1 e SuperTrend 2) com um oscilador de momento (MACD) para proporcionar uma abordagem sistemática da negociação sem tomada de decisão discricionária.
Principais vantagens desta estratégia:
Validação dupla da SuperTendência - O uso de dois indicadores de SuperTendência com períodos e fatores ATR diferentes para confirmar a direção da tendência minimiza os falsos sinais.
Confirmação de momento - O histograma MACD atua como um filtro de momento para validar entradas e saídas.
Objectivo Regras de entrada e saída - A estratégia gera sinais claros de compra e venda com base na combinação de tendência e impulso.
Gerenciamento automatizado de negociações - Configurações embutidas para comissão, deslizamento e capital inicial automatizam o processo de execução de negociações.
Personalização - Todos os parâmetros podem ser facilmente personalizados para atender às necessidades específicas de negociação e às condições de mercado em mudança.
A estratégia opera com base num conjunto de regras definidas, concentrando-se principalmente na direcção da tendência confirmada pelo Dual SuperTrend e no ímpeto indicado pelo histograma MACD.
Entrada longa: ambos os SuperTrends em alta e o histograma MACD acima de zero.
Entrada curta: Tanto o histograma de baixa do SuperTrends quanto o MACD estão abaixo de zero.
Exit Long: Ou a SuperTendência vira de baixa ou o histograma MACD cai abaixo de zero.
Saída curta: ou a SuperTrend se torna alta ou o histograma MACD sobe acima de zero.
Taxa de comissão fixa e configurações de deslizamento.
Gestão de riscos automáticos para evitar a sobreexposição.
A estratégia permite negociar em mercados de alta e baixa. Os usuários podem escolher a direção (longa, curta ou ambas) alinhada com sua visão de mercado.
É melhor aplicá-lo em períodos de tempo em que a tendência é evidente.
Os usuários podem personalizar os parâmetros SuperTrend e MACD.
SuperTrend 1 ATR Período: 10
SuperTrend 1 Fator: 3,0
SuperTrend 2 ATR Período: 20
SuperTrend 2 Fator: 5,0
MACD Fast Length: 12
MACD Longo Lento: 26
Balanço do sinal MACD: 9
Comissão: 0,1%
Deslizamento: 1 ponto
Direção: Ambos
Os parâmetros por defeito oferecem uma abordagem equilibrada, mas podem ser personalizados.
As principais vantagens desta estratégia:
A utilização de dois indicadores SuperTrend reduz significativamente os sinais falsos em comparação com as estratégias de indicador único.
O histograma MACD filtra sinais de negociação menos ideais, melhorando a precisão de entrada.
A combinação de indicadores de tendência duplos permite saídas rápidas quando a tendência muda, ajudando a controlar os drawdowns.
As regras de entrada e saída bem definidas eliminam interpretações subjetivas e erros humanos.
Os parâmetros ajustáveis tornam esta estratégia robusta para diferentes instrumentos e preferências de negociação.
Os riscos potenciais incluem:
As inversões de tendência frequentes podem ser desafiadoras para a configuração do indicador de tendência dual.
O stop loss pode atrasar-se em movimentos de tendência fortes, levando a drawdowns maiores.
Não pode adaptar-se rapidamente aos acontecimentos do cisne negro, aumentando os riscos de retirada.
Oportunidades de otimização:
Parâmetros de afinação fina para diferentes instrumentos.
Adicionar mecanismos de stop loss como trailing stops para controlar ainda mais os drawdowns.
Incorporar outros indicadores para identificar eventos súbitos e reduzir os saques.
Em resumo, a estratégia de combinação Dual SuperTrend e MACD combina os pontos fortes do seguimento de tendências e análise de momento. Com regras claras e um alto grau de automação, ele pode efetivamente filtrar o ruído e fornecer uma forte utilidade prática.
/*backtest start: 2023-09-18 00:00:00 end: 2023-09-25 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © PresentTrading //@version=5 // Define the strategy settings // strategy("Dual-Supertrend with MACD - Strategy [presentTrading]", overlay=true, precision=3, default_qty_type=strategy.cash, // commission_value= 0.1, commission_type=strategy.commission.percent, slippage= 1, // currency=currency.USD, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, initial_capital= 10000) // Trading Direction Dropdown tradeDirection = input.string("both", "Trading Direction", options=["long", "short", "both"]) // MACD Inputs fast_length = input(12, "Fast Length") slow_length = input(26, "Slow Length") signal_length = input(9, "Signal Smoothing") sma_source = input.string("EMA", "Oscillator MA Type", options=["SMA", "EMA"]) sma_signal = input.string("EMA", "Signal Line MA Type", options=["SMA", "EMA"]) // MACD Calculation fast_ma = sma_source == "SMA" ? ta.sma(close, fast_length) : ta.ema(close, fast_length) slow_ma = sma_source == "SMA" ? ta.sma(close, slow_length) : ta.ema(close, slow_length) macd = fast_ma - slow_ma signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length) hist = macd - signal // Input Parameters for Supertrend 1 atrPeriod1 = input(10, "ATR Length for Supertrend 1") factor1 = input.float(3.0, "Factor for Supertrend 1", step=0.01) // Supertrend Calculation for 1 [supertrend1, direction1] = ta.supertrend(factor1, atrPeriod1) // Input Parameters for Supertrend 2 atrPeriod2 = input(20, "ATR Length for Supertrend 2") factor2 = input.float(5.0, "Factor for Supertrend 2", step=0.01) // Supertrend Calculation for 2 [supertrend2, direction2] = ta.supertrend(factor2, atrPeriod2) // Combined Conditions isBullish = direction1 < 0 and direction2 < 0 and hist > 0 isBearish = direction1 > 0 and direction2 > 0 and hist < 0 exitLong = direction1 > 0 or direction2 > 0 or hist < 0 exitShort = direction1 < 0 or direction2 < 0 or hist > 0 // Strategy Entry and Exit based on Trading Direction if (tradeDirection == "both" or tradeDirection == "long") strategy.entry("Buy", strategy.long, when=isBullish) strategy.close("Buy", when=exitLong) if (tradeDirection == "both" or tradeDirection == "short") strategy.entry("Sell", strategy.short, when=isBearish) strategy.close("Sell", when=exitShort) bodyMiddle1 = plot((open + close) / 2, display=display.none) upTrend1 = plot(direction1 < 0 ? supertrend1 : na, "Up Trend", color = color.green, style=plot.style_linebr) downTrend1 = plot(direction1 < 0? na : supertrend1, "Down Trend", color = color.red, style=plot.style_linebr) fill(bodyMiddle1, upTrend1, color.new(color.green, 90), fillgaps=false) fill(bodyMiddle1, downTrend1, color.new(color.red, 90), fillgaps=false) bodyMiddle2 = plot((open + close) / 2, display=display.none) upTrend2 = plot(direction2 < 0 ? supertrend2 : na, "Up Trend", color = color.green, style=plot.style_linebr) downTrend2 = plot(direction2 < 0? na : supertrend2, "Down Trend", color = color.red, style=plot.style_linebr) fill(bodyMiddle2, upTrend2, color.new(color.green, 90), fillgaps=false) fill(bodyMiddle2, downTrend2, color.new(color.red, 90), fillgaps=false)