A estratégia de ruptura do canal de Donchian é uma estratégia de negociação quantitativa de tendência. Ele utiliza os canais de Donchian para capturar tendências de mercado enquanto usa uma parada de tração ATRSL para gerenciar o risco. Quando o preço quebra acima da banda superior do canal de Donchian, a estratégia entra em uma posição longa; quando o preço cai abaixo da linha de parada de tração ATRSL, a estratégia fecha a posição.
donLength
Parâmetro, calcular o máximo máximo e o mínimo mínimo do passadodonLength
períodos como a faixa superiordonUpper
e banda inferiordonLower
A linha do meio do canal de Donchian, respectivamente.donBasis
é a média das faixas superior e inferior.AP2
eAF2
Parâmetros, calcular o valor ATRSL2
. Em seguida, ajuste dinamicamente o preço de parada de trailTrail2
De acordo com a relação entre o preço de fechamento atualSC
e o preço de parada de trailing anteriorTrail2[1]
.donLength
, AP2
, eAF2
A Comissão considera que a aplicação de uma estratégia de desenvolvimento sustentável deve ser feita em conformidade com as suas necessidades para otimizar o desempenho da estratégia.A estratégia de ruptura do canal de Donchian é uma estratégia clássica de seguimento de tendências que capta tendências usando os canais de Donchian e gerencia o risco com uma parada de rastreamento ATRSL. As vantagens da estratégia incluem sua lógica simples e clara, facilidade de implementação e potencial de otimização. No entanto, suas desvantagens incluem baixo desempenho durante mercados agitados e inversões de tendência e impacto significativo das configurações de parâmetros no desempenho da estratégia. Na aplicação prática, a estratégia pode ser aprimorada adicionando filtros de tendência, otimizando o stop loss e incorporando módulos de dimensionamento de posição para melhorar a estabilidade e a lucratividade. Ao mesmo tempo, é importante controlar a frequência e os custos da estratégia de negociação e ajustar de forma flexível os parâmetros com base em características do mercado e preferências pessoais de risco.
/*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")