Estratégia de canal de captura de impulso

Autora:ChaoZhang, Data: 2023-12-20 15:46:40
Tags:

img

Resumo

A estratégia do canal de captura de momento é uma variação da estratégia de negociação do canal de Donchian. Consiste de uma banda mais alta, uma banda mais baixa e uma linha de base que média as bandas mais altas e mais baixas. Esta estratégia funciona muito bem em instrumentos de tendência em quadros de tempo semanais e diários. Esta é a implementação usada no aplicativo QuantCT.

Pode definir o modo de operação em longo/curto ou apenas longo.

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

Estratégia lógica

A lógica central desta estratégia baseia-se no indicador do canal de Donchian. O canal de Donchian consiste na média de preços mais alta, mais baixa e mais baixa dos últimos 20 dias.

Esta estratégia é uma variação do Canal de Donchian. Consiste de uma banda mais alta, uma banda mais baixa e uma linha de base que média as bandas mais altas e mais baixas.

  1. Calcular o mais alto alto e o mais baixo baixo durante um determinado período como as faixas superior e inferior do canal
  2. Calcular a média das faixas superior e inferior como linha de base
  3. Vai longo quando o preço quebra acima da faixa superior
  4. Fechar posição longa quando o preço ultrapassar a linha de base
  5. Caso o preço esteja abaixo da faixa inferior (se o curto-circuito for permitido)
  6. Fechar posição curta quando o preço recuperar a linha de base

A vantagem desta estratégia é que pode capturar efetivamente o impulso das tendências de preços.

Análise das vantagens

  1. Capta a dinâmica da tendência de preços para o crescimento dos lucros
  2. Evitar perdas desnecessárias de serem presos por fuga falsos
  3. Ajuste flexível dos parâmetros torna-o adequado para diferentes produtos
  4. Pode escolher apenas a longo prazo ou totalmente negociado para atender a diferentes necessidades
  5. O mecanismo integrado de stop-loss controla efetivamente as perdas por transação

Análise de riscos

  1. Apesar de capturar tendências, as rupturas fracassadas também amplificam perdas
  2. O set stop-loss demasiado amplo pode levar a um aumento da perda por transacção
  3. Configurações incorretas dos parâmetros podem conduzir a excesso de negociação e a um aumento dos custos de transacção
  4. O julgamento do sinal de ruptura tem algum atraso, pode perder os melhores pontos de entrada.

Soluções:

  1. Escolha percentual stop-loss cuidadosamente para controlar a perda ainda dar a tendência espaço suficiente
  2. Aumentar os valores do período do parâmetro para reduzir a frequência de negociação
  3. Incorporar outros indicadores para julgar a fiabilidade do sinal, selecionar um melhor momento de entrada

Orientações de otimização

  1. Incorporar outros indicadores para determinar o calendário de entrada
  2. Ajuste dinâmico da colocação de stop-loss
  3. Otimizar as definições dos parâmetros com base nas características do instrumento
  4. Incorporar aprendizado de máquina para julgar a taxa de sucesso da fuga
  5. Adicionar lógica de dimensionamento de posição

Conclusão

A estratégia do Momentum Capture Channel oferece oportunidades consideráveis de lucro capturando tendências de preços. Ao mesmo tempo, também tem certos riscos que precisam ser controlados ajustando adequadamente os parâmetros. Ao otimizar continuamente a seleção de tempo de entrada e a lógica de stop-loss, esta estratégia pode se tornar um excelente sistema de seguimento de tendências. Suas regras de negociação simples e o julgamento claro do sinal tornam fácil de entender e implementar, altamente adequado para traders novatos.


/*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)








Mais.