Estratégia de avanço do canal Donchian


Data de criação: 2023-12-04 14:16:33 última modificação: 2023-12-04 14:16:33
cópia: 0 Cliques: 641
1
focar em
1619
Seguidores

Estratégia de avanço do canal Donchian

Visão geral

A estratégia de ruptura do túnel de Tangxian é uma estratégia de negociação de ruptura baseada no comportamento e na tendência dos preços. Ela usa o trajeto ascendente e descendente do túnel de Tangxian para identificar potenciais pontos de ruptura e abrir posições de overhead ou de balcão quando o preço atravessa o canal.

Princípio da estratégia

A lógica central da estratégia é:

  1. Utilizando as funções Ta.highest e Ta.lowest, calcule o preço máximo e mínimo de um determinado período (como 60 linhas K) para construir a linha superior e a linha inferior do corredor de Tangjian.

  2. Quando o preço quebra o caminho, acredita-se que o mercado pode entrar em uma tendência de várias cabeças, então faça mais quando o caminho ultrapassa a próxima abertura da linha K; Quando o preço quebra o caminho, acredita-se que o mercado pode entrar em uma tendência de cabeça vazia, então faça um vazio quando o caminho ultrapassa a próxima abertura da linha K.

  3. Uma vez que o preço volta a cair para cima ou volta a cair para baixo, a tendência é considerada uma reversão, e a posição atual é liquidada.

  4. Para controlar o risco, o ponto de parada após o shorting é definido como o preço de abertura menos ou mais um salto mínimo.

Esta estratégia baseada em breakouts de canal é simples e direta, leva em conta o comportamento dos preços e combina características de tendência, é fácil de operar e estável.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. A lógica da estratégia é clara, concisa, fácil de entender e implementar, e prática.

  2. Usando o canal de Dongjian para determinar a direção da tendência, pode-se filtrar eficazmente o ruído e identificar sinais de ruptura confiáveis.

  3. A configuração de stop-loss após o mais de um curto prazo é razoável e pode controlar muito bem a perda individual.

  4. A estratégia pode ser executada de forma gradual, independentemente do estado do mercado, para capturar tendências potenciais, desde que haja uma ruptura efetiva no preço.

  5. Os parâmetros de estratégia são menos, não é fácil de ajustar, o espaço de otimização de parâmetros é grande e a plasticidade é forte.

Análise de Riscos

A estratégia também apresenta alguns riscos:

  1. A estratégia de seguir a tendência, que não consegue capturar a reversão.

  2. O ponto de parada pode ser interrompido por uma curta linha de preço.

  3. A configuração inadequada do comprimento do corredor aumenta a probabilidade de uma falsa brecha.

Para responder a esses riscos, podem ser tomadas as seguintes medidas:

  1. Combinado com outros indicadores, identifique sinais de potencial reversão e evite o seguimento forçado.

  2. Estabelecer um stop-loss de seguimento razoável para bloquear o lucro, em vez de um stop-loss inicial.

  3. Teste os diferentes parâmetros para encontrar a melhor combinação de parâmetros.

Direção de otimização

A estratégia também tem espaço para uma maior otimização:

  1. Tente uma estratégia de ruptura de dois canais, um para determinar o ponto de entrada e outro para determinar o ponto de parada ou parada.

  2. A partir daí, a tendência é de que os mercados de ações abram novos postos de negociação para filtrar os falsos avanços.

  3. Adicionar filtros de volume de transação ou de volatilidade para evitar transações erradas em situações de alta volatilidade.

  4. Tente diferentes estratégias de posicionamento, como estratégias de seguimento de tendências ou estratégias de reversão, e várias combinações podem obter melhores resultados.

  5. Adição de módulos de gestão de risco, controle de perda máxima diária, retirada máxima e muito mais.

Resumir

A estratégia de ruptura do canal de Tōkyō é, em geral, uma estratégia de acompanhamento de tendências de curto prazo muito prática. Ela julga o comportamento dos preços, identifica mudanças em tendências potenciais e usa a ruptura do canal para abrir posições. A lógica da estratégia é simples, fácil de operar e pode obter bons resultados em vários mercados.

Código-fonte da estratégia
/*backtest
start: 2023-11-03 00:00:00
end: 2023-12-03 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// Step 1. Define strategy settings
strategy(title="Price action and breakout Channel Forexrn", overlay=true,
     pyramiding=0, initial_capital=100000,
     commission_type=strategy.commission.cash_per_order,
     commission_value=4, slippage=2)

dochLen = input.int(60, title="Price action and breackout Channel Forexrn")

// Position sizing inputs
usePosSize    = input.bool(true, title="Use Position Sizing?")
atrLen        = input.int(10, title="ATR Length")
atrRiskOffset = input.float(4, title="ATR Risk Offset Multiple", step=0.25)

maxRisk = input.float(2, title="Max Position Risk %", step=.25, 
     minval=0.25, maxval=15)
maxExposure = input.float(10, title="Max Position Exposure %", step=1, 
     minval=1, maxval=100)
marginPerc = input.int(10, title="Margin %", minval=1, maxval=100)

// Step 2. Calculate strategy values
upperband = ta.highest(high, dochLen)[1]
lowerband = ta.lowest(low, dochLen)[1]

// Calculate position size
riskEquity = (maxRisk * 0.01) * strategy.equity
riskTrade  = (ta.atr(atrLen) * atrRiskOffset) * syminfo.pointvalue

maxPos = ((maxExposure * 0.01) * strategy.equity) /
     ((marginPerc * 0.01) * (close * syminfo.pointvalue))

posSize = usePosSize ? math.min(math.floor(riskEquity / riskTrade), maxPos) : 1

// Step 3. Output strategy data
plot(upperband, color=color.green, linewidth=2, title="DoCh Upperband")
plot(lowerband, color=color.red, linewidth=2, title="DoCh Lowerband")

// Step 4. Determine trading conditions
tradeWindow  = true

tradeAllowed = tradeWindow and bar_index > dochLen

// Step 5. Submit entry orders
if tradeAllowed
    if strategy.position_size < 1
        strategy.entry("EL", strategy.long, qty=posSize,
             stop=upperband + syminfo.mintick)

    if strategy.position_size > -1
        strategy.entry("ES", strategy.short, qty=posSize,
             stop=lowerband - syminfo.mintick)

// Step 6. Submit exit orders
if not tradeWindow
    strategy.close_all()