Estratégia de duplo impulso

Autora:ChaoZhang, Data: 2023-10-09 15:03:30
Tags:

Resumo

A estratégia de impulso duplo visa comprar baixo e vender alto, identificando padrões de candelabro ascendentes ou descendentes nos preços das ações.

Estratégia lógica

A estratégia baseia-se em duas métricas:Número de barras ascendenteseNúmero de barras que caem.

  • Vai longo quando o fechamento sobe acima das barras LongEnterAfter, feche longo quando o fechamento cai abaixo das barras LongExitAfter.

  • Vai curto quando o fechamento cai abaixo das barras ShortEnterAfter, feche curto quando o fechamento sobe acima das barras ShortExitAfter.

As regras exatas de negociação são determinadas por sintonização de LongEnterAfter, LongExitAfter, ShortEnterAfter e ShortExitAfter.

A estratégia capta as mudanças de momento nos preços das ações monitorando os preços de fechamento diários.

Em resumo, o núcleo da estratégia de impulso duplo é identificar tendências de alta e baixa de preços de curto prazo para determinar a direção e o momento do comércio.

Análise das vantagens

A estratégia de dupla dinâmica tem as seguintes vantagens:

  • Lógica simples e direta que é fácil de entender e implementar.

  • Parâmetros configuráveis para ajustar a agressividade estratégica.

  • Captura o impulso a curto prazo que ajuda a capitalizar as tendências das ações.

  • O stop loss pode controlar os riscos de forma eficaz.

  • Funciona bem para ações sensíveis a flutuações de preços, especialmente ações de pequena capitalização.

Em geral, a estratégia de impulso duplo é adequada para investidores que são sensíveis às mudanças de preços e buscam uma alta frequência de negociação.

Análise de riscos

A estratégia de duplo ímpeto apresenta igualmente os seguintes riscos:

  • Muito dependente das definições dos parâmetros, o que leva a uma grande diferença de desempenho.

  • Ignora os movimentos de longo prazo concentrando-se apenas nas tendências de curto prazo.

  • A alta frequência de negociação aumenta os custos e os riscos de deslizamento.

  • A configuração inadequada de stop loss pode conduzir a perdas inaceitáveis.

  • Não é adequado para ações de curto prazo ou de longo prazo.

  • Riscos de sermos enganados pelo dinheiro inteligente quando o volume se esgote.

Os riscos podem ser mitigados por:

  • Ajuste dos parâmetros para reduzir a frequência de negociação e os riscos de otimização excessiva.

  • Permitir que períodos de detenção mais longos tenham em conta as tendências a médio e longo prazo.

  • Configuração de stop loss para controlar estritamente a perda de uma única transação.

  • Escolher ações com grande impulso e evitar ações agitadas.

  • Aumentar a importância do volume para evitar riscos quando o volume diminui.

Oportunidades de melhoria

A estratégia pode ser reforçada de várias formas:

  • Adicione indicadores de tendência como MACD e KDJ para evitar negociações contra a tendência principal.

  • Adicionar condição de volume para evitar entradas quando o volume diminui.

  • Adicionar stop loss móvel para bloquear os lucros, por exemplo, xN ATR trailing stop.

  • Otimizar os parâmetros através de backtesting para melhorar a estabilidade.

  • Incorporar modelos de negociação algorítmicos para uma melhor gestão das ordens.

  • Aplicar aprendizado de máquina para descobrir sinais mais eficazes.

Em geral, o foco principal é melhorar a estabilidade, controlar os riscos e descobrir novos fatores alfa.

Resumo

A estratégia de impulso duplo multiplica o mercado através de métricas de barra ascendente/abaixada consecutivas simples. É fácil de implementar e a agressividade é ajustável. É adequado para comerciantes de curto prazo, especialmente para ações de pequena capitalização.


/*backtest
start: 2022-10-02 00:00:00
end: 2023-10-08 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// strategy(title="simple momentum", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// ====================================
// STUDY AND STRATEGY

// Inputs
LongEnterAfter = input(title="enter long after X rising blocks",  defval=2)
LongExitAfter = input(title="exit long after X falling blocks",  defval=1)
ShortEnterAfter = input(title="enter short after X falling blocks",  defval=2)
ShortExitAfter = input(title="exit short after X rising blocks",  defval=1)

// Criteria
Valid = change(time)
LongEnter = Valid and rising(close, LongEnterAfter)
LongExit = Valid and falling(close, LongExitAfter)
ShortEnter = Valid and falling(close, ShortEnterAfter)
ShortExit = Valid and rising(close, ShortExitAfter)

// ====================================
// STRATEGY

TradeSinceYear = input(title="trade since year",  defval=2017)
TradeSinceMonth = input(title="trade since month",  defval=1)

if year > TradeSinceYear or (year == TradeSinceYear and month >= TradeSinceMonth)
    strategy.entry("long", strategy.long, when = LongEnter)
    strategy.close("long", when = LongExit)

    strategy.entry("short", strategy.short, when = ShortEnter)
    strategy.close("short", when = ShortExit)


Mais.