Estratégia de fuga do canal Donchian


Data de criação: 2024-03-22 16:13:58 última modificação: 2024-03-22 16:13:58
cópia: 0 Cliques: 856
1
focar em
1617
Seguidores

Estratégia de fuga do canal Donchian

Visão geral da estratégia

A estratégia de ruptura do canal de Dongguan é uma estratégia de negociação quantitativa de seguimento de tendências. A estratégia utiliza o canal de Dongguan para capturar a tendência do mercado e, ao mesmo tempo, usa o stop loss móvel do ATRSL para controlar o risco.

Princípio da estratégia

  1. Calculando o canal de Dongxian: baseado nas informações fornecidas pelo usuáriodonLengthOs parâmetros foram calculados.donLengthOs preços mais altos e mais baixos de um ciclo, respectivamente, como subida do canal de DongjiandonUpperE o caminho de terra.donLowerA linha do meio do canal.donBasisÉ a média de ascensão e descensão.
  2. Cálculo da perda móvel ATRSL: baseado na entrada do usuárioAP2 e AF2Parâmetros para calcular o valor do ATRSL2Então, baseado no preço de fechamento atual,SCE o último é o Stop Loss Moving.Trail2[1]A correlação entre a correlação e a correlação dinâmica do preço de parada móvelTrail2
  3. Condições para abrir uma posição: quando o preço de fechamento atual atravessa o canal de Dongjian, abrir uma posição é mais.
  4. Condições de posição plana: Quando a ATRSL atravessa a linha de parada móvel abaixo do preço de fechamento atual, a posição plana.

Vantagens estratégicas

  1. Seguimento de tendências: para determinar a direção das tendências através do canal de Dongjian, é possível capturar de forma eficaz as tendências do mercado.
  2. Paradas dinâmicas: com o uso de paradas móveis ATRSL, você pode ajustar dinamicamente as posições de parada de acordo com as flutuações do mercado, controlando o risco.
  3. Parâmetros flexíveis: os usuários podem ajustar os parâmetros de acordo com suas necessidades.donLengthAP2 e AF2Parâmetros para otimizar o desempenho da estratégia.

Risco estratégico

  1. Risco de parâmetros: Diferentes configurações de parâmetros podem causar grandes diferenças no desempenho da estratégia, necessitando de um bom feedback e otimização de parâmetros.
  2. Risco de mercado: a estratégia pode ser reversível quando o mercado se agita ou a tendência se inverte.
  3. Pontos de deslizamento e custos de transação: transações frequentes podem levar a pontos de deslizamento e custos de transação mais elevados, afetando a rentabilidade da estratégia.

Direção de otimização

  1. Adição de filtro de tendência: em condições de abertura de posição, você pode adicionar indicadores como o ADX para determinar a intensidade da tendência, abrindo posições apenas quando a tendência é evidente, aumentando a qualidade da abertura de posição.
  2. Optimizar o stop loss: pode-se tentar usar outros métodos de stop loss, como stop loss percentual, stop loss ATR, etc., ou combinar vários métodos de stop loss para aumentar a flexibilidade de stop loss.
  3. Adere ao gerenciamento de posições: ajuste dinâmico do tamanho das posições de acordo com a volatilidade do mercado e o risco da conta, controle da exposição ao risco.

Resumir

A estratégia de ruptura do canal de Dongguan é uma estratégia clássica de acompanhamento de tendências, que capta as tendências através do canal de Dongguan e usa o risco de controle de perda móvel ATRSL. A estratégia tem como vantagem a lógica simples e clara, fácil de implementar e otimizar; a desvantagem é o fraco desempenho em mercados de turbulência e reversão de tendências, e a configuração de parâmetros tem um grande impacto na performance da estratégia.

Código-fonte da estratégia
/*backtest
start: 2023-03-16 00:00:00
end: 2024-03-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Stock Trend USE THIS", overlay = true)
donLength = input(100, minval=1)

//Donchian Long
donLower = lowest(donLength)
donUpper = highest(donLength)
donBasis = avg(donUpper,donLower)

// ATRSL
SC = close

// Slow Trail //
AP2 = input(10, title="Slow ATR period")  // ATR Period
AF2 = input(3, title="Slow ATR multiplier")  // ATR Factor
SL2 = AF2 * atr(AP2)  // Stop Loss
Trail2 = 0.0
iff_3 = SC > nz(Trail2[1], 0) ? SC - SL2 : SC + SL2
iff_4 = SC < nz(Trail2[1], 0) and SC[1] < nz(Trail2[1], 0) ? min(nz(Trail2[1], 0), SC + SL2) : iff_3
Trail2 := SC > nz(Trail2[1], 0) and SC[1] > nz(Trail2[1], 0) ? max(nz(Trail2[1], 0), SC - SL2) : iff_4



// Long and Short Conditions
longCondition = (crossover(close,donUpper[1])) 

// Close Conditions
closeLongCondition = crossunder(close,Trail2)

// Strategy logic
if (longCondition) 
    strategy.entry("Long", strategy.long)
    alert("Open Long position")

if (closeLongCondition)
    strategy.close("Long")
    alert("Close Long position")

// Plot Donchian
l = plot(donLower, color=color.blue)
u = plot(donUpper, color=color.blue)
plot(donBasis, color=color.orange)
fill(u, l, color=color.blue)
plot(Trail2, color=color.blue, title="ATRSL Trail")