Estratégia de Negociação com Diferença de Médias Móveis Duplas
Visão Geral
Esta estratégia baseia-se na diferença das médias móveis de duas médias móveis para gerar sinais de negociação. Ela calcula duas médias móveis com períodos rápido e lento. Quando a média rápida rompe a média lenta de baixo para cima, é gerado um sinal de compra; quando a média rápida rompe a média lenta de cima para baixo, é gerado um sinal de venda.
Explicação do Princípio
A lógica central da estratégia é calcular duas médias móveis SMA(len1) e SMA(len2), bem como sua diferença, dif. len1 representa o período da média móvel de curto prazo e len2 representa o período da média móvel de longo prazo. A média de curto prazo responde mais rapidamente às mudanças de preço, enquanto a de longo prazo reflete melhor a tendência de longo prazo.
Quando a média de curto prazo cruza acima da média de longo prazo, indica que o preço de curto prazo começou a subir acima da tendência de longo prazo, gerando uma oportunidade de compra; quando cruza abaixo da média de longo prazo, indica que o preço de curto prazo começou a cair abaixo da tendência de longo prazo, gerando uma oportunidade de venda.
Para filtrar operações falsas, a estratégia introduz out3 como uma linha de sinal de negociação. out3 é o resultado do alisamento (sma) da diferença entre a média de curto prazo e o preço mediano. O sinal de negociação só é gerado quando out3 cruza dif.
Especificamente, a variável long assume valor positivo quando out3 cruza dif para cima, servindo como sinal de compra; a variável short assume valor negativo quando out3 cruza dif para baixo, servindo como sinal de venda. strategy.entry gera ordens de compra com base no sinal long, e strategy.close gera ordens de fechamento de venda com base no sinal short.
Análise de Vantagens
Esta é uma estratégia de acompanhamento de tendência muito simples e intuitiva. Ela utiliza o cruzamento de duas médias móveis com períodos diferentes para capturar pontos de reversão de tendência, sendo mais confiável do que um sistema de média única. Além disso, a introdução de um filtro de linha de sinal pode, até certo ponto, evitar sinais falsos gerados em mercados laterais.
Comparada com métodos como stop-loss móvel, esta estratégia adota uma filosofia de acompanhamento de tendência, maximizando os lucros e evitando ser interrompida por stops enquanto a tendência se prolonga. Ao mesmo tempo, ela controla as perdas, fechando posições prontamente quando a tendência se reverte.
A estratégia possui poucos parâmetros, é fácil de entender e ajustar, sendo adequada como estratégia introdutória para iniciantes em negociação algorítmica.
Riscos e Melhorias
O maior risco desta estratégia reside na escolha inadequada dos períodos das duas médias móveis, resultando em sinais de negociação incorretos. Se o período da média de curto prazo len1 for muito longo, a estratégia perderá as oportunidades de início da tendência; se for muito curto, aumentará a probabilidade de sinais falsos. Se o período da média de longo prazo len2 for muito longo, atrasará os ajustes de posição; se for muito curto, ficará suscetível a interferências do mercado.
A melhor combinação pode ser obtida ajustando os parâmetros len1 e len2, ou tentando introduzir médias móveis adaptativas para ajustar dinamicamente os períodos. Além disso, é possível otimizar os parâmetros do filtro para reduzir sinais falsos.
Estratégias de acompanhamento de tendência também devem prestar atenção ao controle do tamanho da perda por operação, podendo-se definir pontos de stop-loss ou introduzir gerenciamento de posição para otimização.
Resumo
A estratégia de diferença de duas médias móveis é um representante muito típico das estratégias de acompanhamento de tendência. O simples sistema de cruzamento de duas médias fornece uma fonte de sinal estável, e com o filtro adequado, pode evitar efetivamente as interferências do mercado. Otimizando os parâmetros dos períodos das médias, é possível obter um bom desempenho da estratégia. Esta estratégia é muito adequada como estratégia introdutória para aprendizado de negociação algorítmica.
/*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")- 1

