Estratégia de canal de captura de momentum


Data de criação: 2023-12-20 15:46:40 última modificação: 2023-12-20 15:46:40
cópia: 0 Cliques: 597
1
focar em
1621
Seguidores

Estratégia de canal de captura de momentum

Visão geral

A estratégia de canal de captura de momentum é uma variante baseada no canal de Donchian. É composto por uma faixa de preço mais alta, uma faixa de preço mais baixa e uma linha de base que serve como média entre a faixa de preço mais alta e a faixa de preço mais baixa. Esta estratégia é muito útil em períodos de tempo de linha de circunferência e de linha de sol de variedades de tendência. Esta é a implementação usada na aplicação QuantCT.

Você pode definir o modo de operação como multi-vazio ou apenas multi-cabeça.

Você também pode definir um stop loss fixo ou ignorá-lo para que a estratégia opere apenas com base nos sinais de entrada e saída.

Princípio da estratégia

A lógica central desta estratégia é baseada no indicador de canais Donchian. O canal Donchian é composto por uma média de preços máximos, mínimos e finais de 20 dias. A direção da tendência e a possível reversão são julgadas com base nos altos e baixos dos preços que atravessam o canal.

Esta estratégia é uma variante do canal de Donchian. Consiste de uma faixa de preço mais alta, uma faixa de preço mais baixa e uma linha de base que serve como a média entre a faixa de preço mais alta e a faixa de preço mais baixa. A lógica específica é a seguinte:

  1. Calculação de preços máximos e mínimos em um determinado período como um caminho de subida e descida
  2. Calcular a média de ascensão e descensão como base
  3. Faça mais quando o preço sobe
  4. Quando os preços caem abaixo da linha de base, os investidores abrem posições.
  5. Quando o preço cai para baixo, faça um curto-circuito (se for permitido)
  6. Quando o preço retoma a linha de base, a posição é vazia.

A vantagem da estratégia é que é capaz de capturar eficazmente a dinâmica da tendência de preços. Ao esperar que o preço se rompa para baixo para julgar o início da verdadeira tendência, pode-se evitar perdas desnecessárias causadas pela conversação.

Análise de vantagens

  1. Capturar a dinâmica dos preços e gerar lucro
  2. Evitar a invasão de celas e reduzir perdas desnecessárias
  3. Parâmetros flexíveis para variedades diferentes
  4. Opção de operação de apenas mais ou de todo o estoque, para atender a diferentes necessidades
  5. Mecanismos integrados de suspensão de prejuízos para controlar os prejuízos individuais

Análise de Riscos

  1. Capturar uma tendência, mas também aumentar os prejuízos de uma falha
  2. A configuração de stop-loss é muito flexível e pode aumentar a perda individual.
  3. A configuração inadequada dos parâmetros pode levar a transações frequentes e aumentar os custos de transação
  4. A decisão do sinal de ruptura está um pouco atrasada e pode ter perdido o melhor ponto de entrada

Solução:

  1. Selecione a proporção de stop loss com cautela, para controlar as perdas e dar espaço suficiente para a tendência
  2. Aumentar o valor do ciclo do parâmetro e reduzir a frequência de negociação
  3. Combinação de outros indicadores para avaliar a confiabilidade dos sinais de tendência e escolher o melhor momento de entrada

Direção de otimização

  1. A integração de outros indicadores para determinar o tempo de entrada
  2. Ajuste dinâmico da posição de parada
  3. Configuração de parâmetros de otimização de acordo com as características da variedade
  4. A combinação de aprendizagem de máquina com a avaliação de sucesso das inovações
  5. Adição de lógica de gerenciamento de posição

Resumir

A estratégia de captura de movimento de canal oferece uma oportunidade de lucro considerável através da captura de tendências de preços. Ao mesmo tempo, ele também tem um certo risco, que precisa de ajustes adequados de parâmetros para o controle de risco. A estratégia pode ser um excelente sistema de acompanhamento de tendências, através da otimização contínua da seleção de entrada e da lógica de stop loss.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © QuantCT

//@version=4
strategy("Donchian Channel Strategy Idea",
         shorttitle="Donchian", 
         overlay=true,
         pyramiding=0,     
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=100, 
         initial_capital=1000,           
         commission_type=strategy.commission.percent, 
         commission_value=0.075)

// ____ Inputs

high_period = input(title="High Period", defval=10) 
low_period = input(title="Low Period", defval=10)
long_only = input(title="Long Only", defval=false)
slp = input(title="Stop-loss (%)", minval=1.0, maxval=25.0, defval=5.0)
use_sl = input(title="Use Stop-Loss", defval=false)

// ____ Logic

highest_high = highest(high, high_period)
lowest_low = lowest(low, low_period)
base_line = (highest_high + lowest_low) / 2
    
enter_long = (close > highest_high[1])
exit_long = (close < base_line)
enter_short = (close < lowest_low[1])
exit_short = (close > base_line)

strategy.entry("Long", strategy.long, when=enter_long)
strategy.close("Long", when=exit_long) 
if (not long_only)
    strategy.entry("Short", strategy.short, when=enter_short)
    strategy.close("Short", when=exit_short) 
   
// ____ SL

sl_long = strategy.position_avg_price * (1- (slp/100))
sl_short = strategy.position_avg_price * (1 + (slp/100))
if (use_sl)
    strategy.exit(id="SL", from_entry="Long", stop=sl_long)
    strategy.exit(id="SL", from_entry="Short", stop=sl_short)
    
// ____ Plots

colors = 
 strategy.position_size > 0 ? #27D600 :
 strategy.position_size < 0 ? #E30202 :
 color.orange

highest_high_plot = plot(highest_high, color=colors)
lowest_low_plot = plot(lowest_low, color=colors)
plot(base_line, color=color.silver)
fill(highest_high_plot, lowest_low_plot, color=colors, transp=90)