Estratégia de rompimento do canal Double Donchian


Data de criação: 2024-02-04 09:42:14 última modificação: 2024-02-04 09:42:14
cópia: 0 Cliques: 990
1
focar em
1617
Seguidores

Estratégia de rompimento do canal Double Donchian

Visão geral

A estratégia de ruptura de dois canais de tangjian é uma estratégia de negociação quantitativa baseada no canal de tangjian. A estratégia usa uma combinação de canais de tangjian rápido e lento para realizar uma ruptura de negociação de alto rendimento com baixo risco.

Princípio da estratégia

A estratégia baseia-se principalmente em dois canais de tangjian, incluindo um canal de tangjian lento e de longo ciclo e um canal de tangjian rápido e de curto ciclo.

O ciclo do canal de Dongjian é mais longo e efetivamente elimina o ruído do mercado, e seu sinal de ruptura tem uma maior confiabilidade. Quando o preço quebra o canal de alta velocidade, faça mais entrada; Quando o preço despenca do canal de baixa velocidade, faça entrada em branco.

O ciclo do corredor rápido de Tangjian é curto e pode responder rapidamente a mudanças de preços de curto prazo. Quando o preço reabsorve esse corredor, indica que a tendência está se revertendo e precisa parar ou parar imediatamente.

Além disso, o filtro de entrada para a estratégia de condições de taxa de flutuação é configurado. A entrada é acionada somente quando a flutuação do preço excede a porcentagem de limiar pré-definida. Isso evita a entrada frequente na composição horizontal.

Análise de vantagens

  • A utilização de duas linhas de defesa para controlar o risco
  • A utilização de canais rápidos e lentos para a captura de tendências de forma eficiente
  • Os mecanismos de filtragem de volatilidade podem reduzir a ineficácia das transações
  • Com vantagens de rastrear tendências e evitar a redução de categorias
  • Regras claras, simples e fáceis de entender

Análise de Riscos

  • Quando a situação é violenta, o ponto de parada pode ser ultrapassado, causando grandes perdas
  • Configurações de parâmetros inadequadas (como o comprimento do ciclo do canal) podem reduzir o efeito da política
  • As taxas de transação também têm um impacto nos lucros.
  • O que precisa ser observado é a queda de preços causada por eventos importantes.

Os riscos podem ser reduzidos por meio de medidas como otimização de parâmetros, definição racional de pontos de parada e atenção a eventos significativos.

Direção de otimização

  • Teste de diferentes combinações de parâmetros de ciclo do canal de Dongxian
  • Optimizar os parâmetros de volatilidade para encontrar o melhor momento de entrada
  • Adição de indicadores de tendência para evitar negociações adversas
  • Combinado com ações baseadas em opções
  • Adaptação do mecanismo de suspensão de prejuízos para evitar a expansão dos prejuízos

Resumir

A estratégia de ruptura do canal de duplo tangente é, em geral, uma estratégia de rastreamento de tendências relativamente estável e confiável. Ela combina os benefícios da captura de tendências e do controle de risco e é um módulo básico adequado para várias estratégias de negociação de ações.

Código-fonte da estratégia
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
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)


slowLen = input.int(50, title="Slow Donchian")
fastLen = input.int(30, title="Fast Donchian")
volatility = input.int(3, title="Volatility (%)")
longProfitPerc = input.float(2, title="Long TP1 (%)", minval=0.0, step=0.1) * 0.01
shortProfitPerc = input.float(2, title="Short TP1 (%)", minval=0.0, step=0.1) * 0.01
TP1Yuzde =input.int(50, title = "TP1 Position Amount (%)")

ubSlow = ta.highest(close, slowLen)[1]
lbSlow = ta.lowest(close, slowLen)[1]

ubFast = ta.highest(close, fastLen)[1]
lbFast = ta.lowest(close, fastLen)[1]

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")

fark = (ubSlow - lbSlow) / lbSlow * 100

longExitPrice  = strategy.position_avg_price * (1 + longProfitPerc)
shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)

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

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

if strategy.position_size > 0 and ta.crossunder(close, lbFast) 
    strategy.close("Long", "Close All")

if strategy.position_size < 0 and ta.crossover(close, ubFast)
    strategy.close("Short", "Close All")

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

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