Estratégia de Crossover de Média Móvel Dupla Longa e Curta


Data de criação: 2023-11-06 10:27:00 última modificação: 2023-11-06 10:27:00
cópia: 0 Cliques: 632
1
focar em
1617
Seguidores

Estratégia de Crossover de Média Móvel Dupla Longa e Curta

Visão geral

Esta estratégia determina a direção do polinômio através do cálculo da interseção das linhas de 9 dias, 20 dias e 200 dias. Ele combina o pensamento clássico de duas linhas de interseção de medianos, ao mesmo tempo em que adiciona a ferramenta de julgar a tendência de longo prazo. Esta é uma estratégia polinômica mais estável e confiável.

Princípio da estratégia

A estratégia determina a tendência de variação dos preços através do cálculo da relação entre a média de 9 dias, a média de 20 dias e a média de 200 dias.

Primeiro, ele calcula a linha de 9 dias e a linha de 20 dias. Se a linha de 9 dias atravessar a linha de 20 dias, é um sinal de compra; Se a linha de 9 dias atravessar a linha de 20 dias, é um sinal de venda. Esta é a regra de julgamento mais básica no cruzamento de duas linhas de média.

Em segundo lugar, calcula-se a linha média de 200 dias, como um indicador para determinar a tendência de longo prazo. Se a linha média de 20 dias atravessa a linha média de 200 dias, é um sinal de baixa de longo prazo; Se a linha média de 20 dias atravessa a linha média de 200 dias, é um sinal de baixa de longo prazo.

Finalmente, ele integra a relação entre a linha de 9 dias, a linha de 20 dias e a linha de 200 dias para determinar o momento específico de compra e venda. O sinal de negociação real só é gerado quando a linha de 9 dias e a linha de 20 dias se cruzam para cima ou para baixo.

A estratégia aproveita a funcionalidade de acompanhamento de tendências das linhas de câmbio, através do cálculo de múltiplas linhas de câmbio que se cruzam, permitindo avaliar com eficácia a movimentação de preços a curto e longo prazo, orientando assim as operações de compra e venda.

Análise de vantagens

    1. Utilização de cruzamentos binários equilíbrios para capturar com eficiência tendências de preços de médio e curto prazo e obter lucro
    1. Aumentar o julgamento da linha média de 200 dias, evitando a perda de perdas durante o processo de baixa de longo prazo
    1. Integração de várias relações lineares para julgar sinais mais confiáveis e evitar o aumento de transações inválidas
    1. sinais de cruzamento de linha claros e fáceis de discernir, adequados para práticas de negociação manual
    1. Código mais simples, claro e fácil de entender, implementado como uma estratégia de entrada para transações quantitativas
    1. Optimização flexível, como ajuste de parâmetros de linha média ou adição de outros indicadores

Análise de Riscos

  • A estratégia de linha média é sensível a ajustes de parâmetros, e os efeitos de linha média variam muito entre períodos.

    1. O cruzamento de duas linhas equiláreas apenas julga tendências de curto e médio prazo, podendo perder tendências maiores de longo prazo
    1. módulos onde o sinal de cruzamento pode estar atrasado e não é possível evitar completamente as perdas
    1. Transações frequentes aumentam as comissões e os pontos de deslizamento, reduzindo a margem de lucro real
    1. O código é muito simples, o disco rígido pode não funcionar bem e precisa ser melhorado

Direção de otimização

    1. Teste combinações de diferentes parâmetros de mediana para encontrar o parâmetro ideal
    1. Adotar uma estratégia de stop loss e controlar rigorosamente as perdas individuais
    1. Considere a gestão do volume de transações e ajuste de posições em diferentes condições de mercado
    1. Otimização de admissão, como confirmação em combinação com o indicador Momentum
    1. Otimizar a saída e estabelecer um preço de parada razoável
    1. Adicionar mais indicadores para avaliar tendências e probabilidades de reversão
    1. Incorporar modelos de aprendizagem de máquina em busca de lógica de transação mais complexa

Resumir

Esta estratégia integra o pensamento clássico do binário equilátero e do equilátero de longo prazo para orientar as decisões de compra e venda usando as características de tendência da equilátero. Ela é simples de operar, fácil de entender e pode ser implementada como uma estratégia de entrada para negociação quantitativa. Mas seus parâmetros são sensíveis, há problemas de atraso e espera-se mais testes e otimização.

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

//@version=1
strategy("Dieyson Swingtrade EMA 20+200 and bar & line color", overlay=true)


//bar color rules
Dgbar = close>close[1] and ema(close,20)>ema(close[1],20)
Drbar = close<close[1] and ema(close,20)<ema(close[1],20)

//Barcolors
barcolor(Dgbar ? green : na)
barcolor(Drbar ? red : na)

//MM09 Colorful

MMgreen9 = ema(close,9)>ema(close[1],9) and ema(close,20)>ema(close[1],20)
MMred9 = ema(close,9)<ema(close[1],9) and ema(close,9)<ema(close[1],9)
col8 = (MMgreen9 ? color(green,0) : na)
col28 = (MMred9 ? color(red,0) : na)
col38 = (not MMgreen9 and not MMred9 ? color(black,0) : na)

//plot(ema(close,9), color=col8, style=line, linewidth=1)
//plot(ema(close,9), color=col28, style=line, linewidth=1)
//plot(ema(close,9), color=col38, style=line, linewidth=1)

//MM20 Colorful

MMgreen = ema(close,20)>ema(close[1],20)
MMred = ema(close,20)<ema(close[1],20)
col = (MMgreen ? color(green,0) : na)
col2 = (MMred ? color(red,0) : na)
col3 = (not MMgreen and not MMred ? color(yellow,0) : na)
col4 = color(black,0)
plot(ema(close,20), color=col, style=line, linewidth=2)
plot(ema(close,20), color=col2, style=line, linewidth=2)
plot(ema(close,20), color=col3, style=line, linewidth=2)
plot(ema(close,200), color=col4, style=line, linewidth=3)
//plot(vwap(15), color(white,0), style=line, linewidth=3)
//plot(cross(ema(close,9), ema(close,20)) ? ema(close,9) : na, style = cross,color=fuchsia, transp=0, linewidth = 4)
plot(cross(ema(close,20), ema(close,200)) ? ema(close,20) : na, style = cross,color=fuchsia, transp=0, linewidth = 4)

c = crossover(ema(close,9), ema(close,20)) and ema(close,9) > ema(close,20)
// c = crossover(close, ema (close,9) and ema(close,9) > ema(close[1],9))
v = crossunder(close, ema (close,9))

strategy.entry("COMPRA", strategy.long,when=c)
strategy.entry("VENDA", strategy.short,when=v)