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


Data de criação: 2023-10-17 13:54:05 última modificação: 2023-10-17 13:54:05
cópia: 0 Cliques: 706
1
focar em
1617
Seguidores

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

Visão geral

Esta estratégia baseia-se no diferencial de média móvel de duas linhas médias. Ela calcula duas linhas médias de ciclo rápido e ciclo lento, gerando um sinal de compra quando a linha rápida quebra a linha lenta a partir do sentido inferior e um sinal de venda quando a linha rápida quebra a linha lenta a partir do sentido superior.

Análise original

A lógica central da estratégia é calcular duas médias móveis SMA ((len1) e SMA ((len2)), e seus diferenciais. Len1 representa o período médio curto e len2 o período médio longo. A média curta responde mais rapidamente às mudanças de preço e a média longa reflete melhor as tendências de longo prazo.

Quando a média curta atravessa a média longa de baixo, indicando que o preço curto começa a subir acima da tendência longa, pode ser comprado; quando a média longa atravessa a média curta de cima para baixo, indicando que o preço curto começa a cair abaixo da tendência longa, pode ser vendido.

A fim de filtrar erros, a estratégia também introduziu o out3 como uma linha de sinal de negociação. O out3 é o resultado de um tratamento de suavização do diferencial entre a linha média de curto prazo e a média do preço. O sinal de negociação é gerado apenas quando o out3 atravessa o dif.

Especificamente, a variável long é positiva quando o out3 atravessa o dif para cima, como um sinal de compra; a variável short é negativa quando o out3 atravessa o dif para baixo, como um sinal de venda. A estratégia. entrada gera pedidos de compra com base no sinal long, a estratégia. fechar gera pedidos de venda em posição parada com base no sinal curto.

Análise de vantagens

Esta é uma estratégia de seguimento de tendências muito simples e intuitiva. Utiliza um método de dupla linha de equilíbrio que cria cruzamentos de linha de equilíbrio diferentes para capturar os pontos de mudança de tendência, o que pode ser mais confiável do que um sistema de linha de equilíbrio única. E a introdução de filtros de linhas de sinais de negociação pode evitar, em parte, os falsos sinais gerados em mercados turbulentos.

Em comparação com o método de parada móvel, ele adota o conceito de acompanhamento de tendências, o que permite maximizar os lucros, não sendo interrompido quando a tendência é mais longa. Ao mesmo tempo, ele também controla os perdas e liquida as posições em tempo hábil quando a tendência é invertida.

A estratégia tem poucos parâmetros, é fácil de aprender e ajustar, e é uma estratégia de introdução para iniciantes que estão aprendendo a negociar com algoritmos.

Riscos e melhorias

O maior risco desta estratégia é que os parâmetros de ciclo dos pares de medianos são inadequados e causam erros de sinal de negociação. Se o período médio de curto prazo for muito longo, o len1 perderá a oportunidade de iniciar a fase de tendência; se for muito curto, aumentará a probabilidade de falso sinal. Se o longo prazo for muito longo, o len2 atrasará o ajuste de posição; se for muito curto, será facilmente interrompido por turbulências no mercado.

Pode-se obter a melhor combinação ajustando os parâmetros de len1 e len2, ou pode-se tentar introduzir um ciclo de ajuste dinâmico de equilíbrio de adaptação. Além disso, pode-se reduzir o falso sinal otimizando os parâmetros do filtro.

A estratégia de acompanhamento de tendências também precisa ter em conta o controle do tamanho de um único prejuízo, que pode ser definido como um ponto de parada ou a introdução de gerenciamento de posição para otimizar.

Resumir

A estratégia de diferença de dupla linha de equilíbrio é uma estratégia muito típica de acompanhamento de tendências. Seu simples sistema de cruzamento de dupla linha de equilíbrio traz uma fonte de sinal estável, que, em combinação com filtros, pode ser eficazmente evitado por perturbações do mercado. O melhor desempenho da estratégia pode ser obtido através da otimização dos parâmetros de ciclo de equilíbrio.

Código-fonte da estratégia
/*backtest
start: 2022-10-10 00:00:00
end: 2023-10-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//by afrazium
//@version=3
strategy(title="SMA Diff strat", shorttitle="SMAD STR", overlay=false, initial_capital=1, precision=8, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1, calc_on_order_fills= false, calc_on_every_tick=false, pyramiding=0)
len1 = input(50, minval=1, title="Length1"), len2 = input(100, minval=1, title="Length2"), smo = input(1, minval=1, title="Smoothing")
src = input(ohlc4, title="Source")

mid = src
expr1 = sma(src, len1), expr2 = sma(src, len2)
dif = (expr1 - expr2), out1 = (mid - expr1), out2 = (mid - expr2), out3 = sma(out1, smo)

long = crossover(out3, dif) ? out3 : na, short = crossunder(out3, dif) ? out3 : na

plot(out3, color=black, linewidth=2), hline(0)
clr = out2 >= out1 ? lime : red, plot(dif, color=clr, linewidth=2)
plot(long, title = 'Crossover', color = green, style = circles, linewidth=4), plot(short, title = 'Crossunder', color = red, style = circles, linewidth=4)

strategy.entry("buy", strategy.long, when=crossover(out1, dif))
strategy.close("buy", when=crossunder(out1, dif))

//plot(out2, color=blue, linewidth=2)
//A = plot(mid/10, color=red, linewidth=1, transp=100), B = plot(mid/20, color=red, linewidth=1, transp=100)
//C = plot(-mid/10, color=green, linewidth=1, transp=100), D = plot(-mid/20, color=green, linewidth=1, transp=100)
//fill(A, B, color=red), fill(C, D, color=green)