Estratégia de rompimento do canal Double Donchian


Data de criação: 2024-02-21 11:38:48 última modificação: 2024-02-21 11:38:48
cópia: 0 Cliques: 971
1
focar em
1617
Seguidores

Estratégia de rompimento do canal Double Donchian

Visão geral

A estratégia de ruptura do canal Donchian duplo é uma estratégia de ruptura baseada no canal Donchian. Utiliza os dois canais Donchian, rápido e lento, para construir sinais de negociação de ativos e ativos.

Princípio da estratégia

A estratégia de ruptura do canal Donchian duplo baseia-se em dois parâmetros:Ciclo do canal Donchian lentoeCiclo do canal Donchian rápidoA estratégia começa por calcular os trilhos superiores e inferiores dos dois canais Donchian.

  • O ciclo do canal Donchian lento assume 50 linhas K, refletindo uma tendência de longo prazo.
  • O ciclo rápido do canal Donchian assume 30 linhas K, refletindo mudanças de tendência de curto prazo.

O sinal de entrada é:Preços se aceleramE tambémMaior volatilidade do que a baixaO sinal de entrada em voo livre é:Preços despencamE tambémMaior volatilidade do que a baixa

O sinal de parada de liquidação multi-cabeça é o retorno do preçoA quebra da rota.O sinal de parada de liquidação em branco é o retorno do preço.Abertura da via.

A estratégia foi definida ao mesmo tempo- Não, não.Condições de saída. A configuração padrão é até 2% de desconto, ou seja, quando a mudança de preço atinge 2%, a metade da posição é cancelada.

Análise de vantagens

A estratégia de invasão do canal Donchian duplo tem as seguintes vantagens:

  1. O uso de um design de canal duplo permite capturar sinais de tendência de linhas mais longas e mais curtas, permitindo uma entrada mais precisa.

  2. As condições de volatilidade evitam a frequência de transações no mercado horizontal.

  3. A configuração de stop-loss e stop-loss é abrangente e pode bloquear parte dos lucros e reduzir os prejuízos.

  4. A lógica da estratégia é simples, clara, fácil de entender e de implementar.

  5. Parâmetros personalizáveis para diferentes variedades e preferências comerciais.

Análise de Riscos

A estratégia de quebrar o canal duplo de Donchian também tem riscos:

  1. O design de dois canais é mais sensível e propenso a erros de sinalização. O alcance do canal pode ser expandido adequadamente ou os parâmetros de taxa de flutuação podem ser ajustados para reduzir erros de sinalização.

  2. A suspensão de perda pode ser desencadeada com muita frequência. Pode-se definir um limite máximo de negociação ou ampliar o limite de perda.

  3. A paralisação de proporção fixa não pode maximizar o lucro. Pode-se considerar o rastreamento dinâmico da paralisação ou a intervenção manual para determinar o preço da paralisação.

  4. A situação do disco real fora da detecção pode não corresponder às expectativas, deve ser verificada com antecedência e, se necessário, ajustar os parâmetros.

Direção de otimização

A estratégia de ruptura do canal Donchian duplo pode ser otimizada de várias maneiras:

  1. Teste mais combinações de parâmetros de ciclo para encontrar o melhor parâmetro.

  2. Tente diferentes métodos de cálculo da taxa de flutuação, como o ATR, para encontrar o parâmetro mais estável.

  3. O limite de posições abertas é definido para evitar que a reversão no final da tendência cause perdas.

  4. Tente rastrear o stop loss de forma dinâmica para obter lucros mais elevados.

  5. Combinação de outros indicadores para filtrar os sinais de entrada, aumentando a precisão da decisão. Por exemplo, combinação de indicadores de tráfego.

  6. Otimizar estratégias de gestão de fundos, como a quota fixa, a fórmula de Kelly, etc., para controlar melhor a relação risco-receita.

Resumir

A estratégia de ruptura do canal Donchian duplo é, em geral, uma excelente estratégia de acompanhamento de tendências. Ela possui a capacidade de identificar tendências e a capacidade de defesa contra reversões.

Código-fonte da estratégia
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © omererkan

//@version=5
strategy(title="Double Donchian Channel Breakout", overlay=true, initial_capital = 1000, commission_value = 0.05, default_qty_value = 100, default_qty_type = strategy.percent_of_equity)

// Donchian Channels
slowLen = input.int(50, title="Slow Donchian", group = "Conditions")
fastLen = input.int(30, title="Fast Donchian", group = "Conditions")

// Volatility Calculated as a percentage
volatility = input.int(3, title="Volatility (%)", group = "Conditions")

// Long positions
long = input.bool(true, "Long Position On/Off", group = "Strategy")
longProfitPerc = input.float(2, title="Long TP1 (%)", group = "Strategy", minval=0.0, step=0.1) * 0.01

// Short positions
short = input.bool(true, "Short Position On/Off", group = "Strategy")
shortProfitPerc = input.float(2, title="Short TP1 (%)", group = "Strategy", minval=0.0, step=0.1) * 0.01

// First take profit point for positions
TP1Yuzde =input.int(50, title = "TP1 Position Amount (%)", group = "Strategy")

// Slow Donchian Calculated
ubSlow = ta.highest(high, slowLen)[1]
lbSlow = ta.lowest(low, slowLen)[1]

// Fast Donchian Calculated
ubFast = ta.highest(high, fastLen)[1]
lbFast = ta.lowest(low, fastLen)[1]

// Plot Donchian Channel for entries
plot(ubSlow, color=color.green, linewidth=2, title="Slow DoCh - Upperband")
plot(lbSlow, color=color.green, linewidth=2, title="Slow DoCh - Lowerband")
plot(ubFast, color=color.blue, linewidth=2, title="Fast DoCh - Upperband")
plot(lbFast, color=color.blue, linewidth=2, title="Fast DoCh - Lowerband")

// This calculation, the strategy does not open position in the horizontal market.
fark = (ubSlow - lbSlow) / lbSlow * 100

// Take profit levels
longExitPrice  = strategy.position_avg_price * (1 + longProfitPerc)
shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)

// Code long trading conditions
longCondition = ta.crossover(close, ubSlow) and fark > volatility
if longCondition and long == true
    strategy.entry("Long", strategy.long)

// Code short trading conditions
shortCondition = ta.crossunder(close, lbSlow) and fark > volatility
if shortCondition and short == true
    strategy.entry("Short", strategy.short)

// Determine long trading conditions
if strategy.position_size > 0 and ta.crossunder(close, lbFast) 
    strategy.close_all("Close All")

// Determine short trading conditions
if strategy.position_size < 0 and ta.crossover(close, ubFast)
    strategy.close_all("Close All")

// Take Profit Long
if strategy.position_size > 0
    strategy.exit("TP1", "Long", qty_percent = TP1Yuzde, limit = longExitPrice)

// Take Profit Short
if strategy.position_size < 0
    strategy.exit("TP1", "Short", qty_percent = TP1Yuzde, limit = shortExitPrice)