Estratégia de negociação combinada Double SuperTend e MACD


Data de criação: 2023-09-26 17:45:03 última modificação: 2023-09-26 17:45:03
cópia: 0 Cliques: 1606
1
focar em
1617
Seguidores

Visão geral

A estratégia de negociação de dupla SuperTrend e MACD combina dois indicadores de acompanhamento de tendência (SuperTrend 1 e SuperTrend 2) com um indicador de choque dinâmico (MACD), com o objetivo de fornecer uma abordagem de negociação de sistema consistente, sem necessidade de julgamento subjetivo.

Os principais benefícios desta estratégia são:

  • Verificação dupla de SuperTrend: usando dois indicadores de SuperTrend, com diferentes períodos e fatores de ATR, a direção da tendência pode ser confirmada. O mecanismo de dupla verificação reduz os sinais errados.

  • Confirmação de potência: A linha MACD serve como um filtro de potência para confirmar entradas e saídas, aumentando o nível de verificação.

  • Entradas e saídas objetivas: a estratégia gera sinais de compra e venda de acordo com a direção da tendência e a combinação de dinâmicas, sem espaço para interpretação subjetiva.

  • Gerenciamento automatizado de transações: comissões embutidas na estratégia, configuração de pontos de deslizamento e capital inicial, execução automatizada de transações.

  • Personalização: Todos os parâmetros podem ser facilmente personalizados para atender às necessidades de diferentes comerciantes e ao ambiente de mercado em mudança.

Princípios

A estratégia funciona com um conjunto de regras claras, focando-se principalmente na direção da tendência confirmada pelo duplo SuperTrend e na dinâmica representada pela linha MACD.

Regras de entrada

  • Entrada multi-cabeça: dois indicadores SuperTrend multi-cabeça e linha MACD maior que 0 .

  • Entrada em branco: dois indicadores de SuperTrend em branco e a linha MACD é menor que 0.

Regras de partida

  • Ponto de Ponto: qualquer um dos dois SuperTrends ou MACD.

  • Posições em aberto: qualquer SuperTrend que tenha uma reviravolta ou uma linha MACD que tenha uma reviravolta.

Gestão de transações

  • A estratégia usa proporções de comissões fixas e parâmetros de ponto de deslizamento.

  • A função de gerenciamento automático de risco é incorporada, evitando a abertura excessiva.

Direção do negócio

A estratégia permite a negociação de muitos balões bidirecionais. O usuário pode escolher a direção de negociação de acordo com a sua visão de mercado: apenas mais, apenas balão ou muito balão.

Instruções de uso

  • O período de tempo mais adequado para a tendência é o período de tempo em que a tendência é mais evidente.

  • Os usuários podem ajustar o ciclo ATR, o fator e os parâmetros MACD do SuperTrend conforme necessário.

Parâmetros padrão

  • SuperTrend 1 ATR ciclo:10

  • SuperTrend 1 Fator:3.0

  • SuperTrend 2 ATR ciclo: 20

  • SuperTrend 2 fator 5.0

  • Período de linha rápida do MACD: 12

  • Período da linha lenta do MACD: 26

  • Ciclo de alinhamento do MACD: 9

  • Taxa de comissão: 0,1%

  • Ponto de deslizamento: 1 ponto

  • Direção de transação: bidirecional

Os parâmetros padrão fornecem um método de negociação equilibrado, mas podem ser personalizados de acordo com as preferências pessoais.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. Verificação de tendências duplas reduz falsos sinais

O uso de dois indicadores SuperTrend para a verificação de tendências reduz significativamente os sinais errados causados por um único indicador. O mecanismo de dupla confirmação aumenta a estabilidade.

  1. MACD filtragem dinâmica aumenta a precisão

A linha MACD serve como critério auxiliar de julgamento, filtrando alguns sinais de negociação indesejáveis e aumentando a precisão da entrada.

  1. A capacidade de retirada é forte.

A combinação de indicadores de tendência dupla, que pode ser rapidamente interrompida quando a tendência se transforma, ajuda a controlar a retração.

  1. O nível de automação é alto, não há necessidade de julgamento subjetivo.

Regras de entrada e saída claras, configurações de gerenciamento de transações embutidas, sem necessidade de julgamento subjetivo, reduzindo o erro humano.

  1. Personalizável e adaptável

Os parâmetros do indicador são ajustáveis e podem ser otimizados para diferentes variedades e preferências de negociação.

Risco e otimização

A estratégia também apresenta os seguintes riscos:

  1. Dificuldade de conversão dinâmica multi-aérea

A combinação de indicadores de tendências duplas, a conversão de espaço múltipla é relativamente difícil e não é adequada para mercados que mudam de direção com frequência.

  1. Capacidade de retirada de controle limitada

Em um cenário de forte tendência, o preço de stop loss pode ficar para trás, retirando o risco de expansão.

  1. Incapacidade para lidar com uma emergência

A falta de uma resposta rápida para o Black Swan aumenta o risco de retirada.

Otimização:

  1. Optimizar os parâmetros do indicador para adaptá-los a diferentes variedades.

  2. Aumentar os mecanismos de parada de prejuízos, como a parada móvel, para controlar ainda mais a retirada.

  3. Em combinação com outros indicadores, identificar incidentes e reduzir a retirada.

Resumir

Em suma, a dupla estratégia de combinação de SuperTrend e MACD combina os benefícios do acompanhamento de tendências e análise de dinâmica, a clareza das regras, o alto grau de automação, a filtragem efetiva de sinais de negociação de ruído e uma prática muito forte. Mas também tenha em conta o controle de retração e a otimização de parâmetros.

Código-fonte da estratégia
/*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)