Estratégia de negociação de média móvel dupla

Autora:ChaoZhang, Data: 2024-01-26 14:45:55
Tags:

img

Resumo

A estratégia de negociação de média móvel dupla é uma estratégia quantitativa de negociação que constrói sinais de negociação usando duas linhas médias móveis com ciclos diferentes.

Princípio da estratégia

A principal técnica desta estratégia é a análise de duas linhas médias móveis. A estratégia define uma linha média móvel de ciclo curto de 5 dias ma0 e uma linha média móvel de ciclo longo de 21 dias ma1. Comparando os valores de diferença osc0 entre o preço e ma0 e osc1 entre ma0 e ma1, a estratégia determina o status da tendência atual.

Quando osc0>0 e osc1>0, significa que a linha média móvel de curto prazo cruzou acima da linha de longo prazo, indicando uma tendência de alta. Quando osc0<0 e osc1<0, significa que a linha de curto prazo cruzou abaixo, indicando uma tendência de baixa.

Após a tomada de posições, a estratégia continua a monitorar a mudança em tempo real de osc0 e osc1 para julgar a faixa de lucro da posição. Quando osc0<0 e osc1<0 após a tomada de posição longa, isso significa uma reversão da tendência, então a posição longa deve ser fechada. Quando osc0>0 e osc1>0 após a tomada de posição curta, também significa uma reversão, então a posição curta deve ser fechada.

Análise das vantagens

A estratégia de negociação de média móvel dupla tem as seguintes vantagens:

  1. Princípio simples e fácil de compreender e implementar, adequado para iniciantes no comércio quantitativo;

  2. Seguir tendências, ser bom a acompanhar tendências de mercados com lucro decente;

  3. Os parâmetros do ciclo das médias móveis podem ser ajustados para diferentes condições de mercado;

  4. Pode ser combinado com outros indicadores ou estratégias para maiores lucros.

Análise de riscos

Há também alguns riscos com esta estratégia:

  1. A incapacidade de sair de posições em tempo hábil quando a tendência se inverte pode levar a perdas enormes;

  2. Dificuldade em obter lucros em mercados de gama devido à frequência do stop loss;

  3. Difícil de otimizar parâmetros como ciclos de 5 e 21 dias;

  4. Os sinais de negociação atrasados, a entrada tardia no mercado, podem influenciar a taxa de lucro.

Orientações de otimização

A estratégia de negociação de média móvel dupla pode ser otimizada a partir dos seguintes aspectos:

  1. Combinar com o VOL para confirmar o início da tendência real, evitar falsas rupturas;

  2. Adicionar outros filtros como ruptura de preço, expansão de volume para garantir a confiabilidade do sinal;

  3. Configurar paradas dinâmicas para cortar perdas no tempo;

  4. Otimizar parâmetros como o limiar da diferença da média móvel para reduzir os erros;

  5. Utilize o aprendizado de máquina para otimizar automaticamente os ciclos das médias móveis.

Conclusão

Em conclusão, a estratégia de negociação de média móvel dupla é uma estratégia bastante clássica e prática de seguir tendências. Ela tem uma lógica simples para iniciantes praticarem, é boa em rastrear tendências, altamente extensivel para combinar com outras técnicas. Mas também tem algumas falhas, são necessárias mais otimizações para lidar com condições excepcionais de mercado, reduzir o risco e melhorar a estabilidade.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("[STRATEGY][RS]MA Strategy test V0", overlay=true)
length0 = input(5)
length1 = input(21)

isinsession = not na(time('1', '0400-1500'))
price = open

ma0 = ema(ema(price, length0), length0)
ma1 = ema(ema(price, length1), length1)
plot(ma0, color=navy)
plot(ma1, color=black)

osc0 = price-ma0
osc1 = ma0-ma1

isbull = osc0 > 0 and osc1 > 0
buy_condition = isinsession and isbull and not isbull[1]
buy_exit_condition = osc0 < 0 and osc1 < 0
strategy.entry("buy", strategy.long, comment="buy", when=buy_condition)
strategy.close(id='buy', when=buy_exit_condition)

isbear = osc0 < 0 and osc1 < 0
sell_condition = isinsession and isbear and not isbear[1]
sell_exit_condition = osc0 > 0 and osc1 > 0
strategy.entry("sell", strategy.short, comment="sell", when=sell_condition)
strategy.close(id='sell', when=sell_exit_condition)

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Mais.