
A estratégia de negociação quantitativa de cruzamento de duas medias é um sistema de acompanhamento de tendências baseado em análise técnica, cujo mecanismo central é o uso da relação de cruzamento entre a média móvel de curto prazo (MA7) e a média móvel de médio prazo (MA10) para gerar sinais de compra e venda. A estratégia também combina as médias móveis de longo prazo (MA100 e MA200) como indicadores de referência para a tendência do mercado, mas os principais sinais de negociação dependem do comportamento de cruzamento das medias de curto e médio prazo.
O princípio central da estratégia baseia-se em sinais de cruzamento de médias móveis, sendo a lógica concretizada da seguinte forma:
Calcule quatro médias móveis: média móvel simples de 7 dias (MA7), média móvel simples de 10 dias (MA10), média móvel simples de 100 dias (MA100) e média móvel simples de 200 dias (MA200).
Geração de sinais de negociação:
Logística de execução da transação:
Marque os sinais de transação no gráfico: os sinais de compra são exibidos abaixo da linha K e os sinais de venda são exibidos acima da linha K, para facilitar a confirmação visual.
A estratégia depende de um cruzamento de equilíbrios para capturar a mudança na dinâmica dos preços. Em uma tendência ascendente, a curta-metragem está acima da média média, indicando um aumento na pressão de compra a curto prazo; em uma tendência descendente, a curta-metragem está abaixo da média média, indicando um aumento na pressão de venda a curto prazo. Quando as duas equilíbrios se cruzam, isso significa uma mudança na dinâmica do mercado, o que pode indicar uma reversão da tendência.
Simples e fácil de entender: a estratégia é baseada em conceitos clássicos de análise técnica, com lógica clara, fácil de entender e implementar, adequada para iniciantes em negociação quantitativa.
Capacidade de captura de tendências: O sistema de cruzamento de duas linhas equilibradas captura efetivamente as mudanças nas tendências de preços de médio a curto prazo, evitando a negociação frequente em mercados de baixa.
Alto grau de automação: a estratégia pode ser executada de forma totalmente automatizada, sem necessidade de julgamento subjetivo, reduzindo a interferência dos fatores emocionais.
Adaptabilidade: A estratégia pode se adaptar a diferentes ambientes de mercado e variedades de negociação, ajustando o ciclo das médias móveis.
Intuição visual: sinais de compra e venda são marcados claramente em gráficos, facilitando a análise de retorno e monitoramento em tempo real dos comerciantes.
Gerenciamento de risco claro: regras claras de entrada e saída para gerenciamento de fundos e controle de risco.
Alta eficiência de cálculo: computação com média móvel simples (SMA), baixo ônus de cálculo, adequado para sistemas de negociação em tempo real.
Problemas de atraso: a média móvel é essencialmente um indicador de atraso, e a geração de sinais pode ter perdido o melhor ponto de entrada, podendo causar perdas em mercados que mudam rapidamente.
Falsos sinais de mercado de vibração: em mercados de vibração horizontal, o cruzamento freqüente de linhas médias produz um grande número de falsos sinais, resultando em negociações frequentes e erosão de comissões.
Falta de mecanismo de stop loss: não há uma estratégia de stop loss definida no código, podendo haver grandes perdas em caso de uma forte reversão da tendência.
Risco fixo de parâmetros: o ciclo de média móvel fixa (7, 10, 100, 200) pode não ser adequado para todos os cenários de mercado, com falta de auto-adaptabilidade.
Dependência de um único indicador: A dependência de apenas um cruzamento linear pode não ter uma visão abrangente do mercado, ignorando a informação sobre os fundamentos e outros indicadores técnicos.
Confirmação sem volume de transação: a estratégia não é combinada com a análise de volume de transação, o que pode levar a falsos sinais de ruptura em situações de baixo volume de transação.
Falta de gerenciamento dinâmico de posições: a estratégia usa entrada de posição fixa e não ajusta o tamanho da posição de acordo com a volatilidade do mercado.
Introdução de um mecanismo de stop loss: adicionar stop loss fixo ou stop loss dinâmico do ATR para proteger a segurança dos fundos, comostrategy.exit("止损", "Buy", stop=close * 0.95)。
Adição de condições de filtragem de tendência: MA100 e MA200 podem ser adicionados como filtros de tendência, negociando apenas na direção da tendência principal indicada pela linha média de longo prazo, por exemplo, fazendo mais apenas quando o preço está acima de MA200.
Aumentar a confirmação de volume de transação: Combinação de indicadores de volume de transação para verificar a eficácia do sinal e evitar falsas rupturas em baixos volumes de transação.
Optimizar parâmetros de mediana: pode-se encontrar o parâmetro ótimo em um determinado cenário de mercado através da retrospecção de diferentes combinações de ciclos de mediana, ou considerar o uso de mediana adaptativa.
Adição de outros indicadores técnicos: combinação de indicadores como RSI, MACD e outros para formar um sistema de confirmação múltipla, melhorando a qualidade do sinal.
Implementar o gerenciamento dinâmico de posições: ajuste o tamanho da posição de forma dinâmica de acordo com a taxa de flutuação (como o ATR), diminuindo a posição quando a taxa de flutuação é alta e aumentando a posição quando a taxa de flutuação é baixa.
Participar do julgamento do cenário de mercado: distinguir entre mercados de tendência e mercados de turbulência, adotando diferentes estratégias ou parâmetros de negociação em diferentes cenários.
Melhorar a lógica de parada: pode ser projetado para condições de parada mais refinadas, como parada parcial ou rastreamento de stop loss, otimizando a estrutura de lucro.
A estratégia de negociação quantitativa de cruzamento de dupla equilíbrio é um sistema clássico de acompanhamento de tendências baseado em análise técnica, que capta mudanças na dinâmica do mercado e executa transações por meio da intersecção de MA7 e MA10. A vantagem da estratégia reside na simplicidade lógica, na facilidade de compreensão e implementação, e na capacidade de capturar efetivamente mudanças de tendências de curto prazo. No entanto, também enfrenta riscos de atraso de equilíbrio, muitos falsos sinais de mercado oscilante e falta de mecanismos de parada de perdas.
Para melhorar o desempenho da estratégia, podemos melhorar através da adição de mecanismos de parada de perda, filtragem de tendências, confirmação de volume de negociação, otimização de parâmetros e combinação com outros indicadores técnicos. Além disso, a lógica de negociação para o gerenciamento de posições dinâmicas e o ambiente de mercado diferenciado também é uma direção de otimização potencial.
Em suma, a estratégia de cruzamento de dupla equilíbrio fornece aos comerciantes um bom ponto de partida para negociação quantitativa, que pode se tornar um sistema de negociação mais estável e eficiente com otimização e gerenciamento de risco razoáveis. É a primeira estratégia adequada para iniciantes em negociação quantitativa e também pode ser usada como parte de um portfólio de estratégias para comerciantes experientes.
/*backtest
start: 2025-01-18 19:45:00
end: 2025-03-12 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"TRUMP_USDT"}]
*/
//@version=5
strategy("Backtest Buy and Sell Signals with MA 7 and MA 10", overlay=true)
// Calculate Moving Averages
ma7 = ta.sma(close, 7)
ma10 = ta.sma(close, 10)
ma100 = ta.sma(close, 100)
ma200 = ta.sma(close, 200)
// Plot MAs
plot(ma7, color=color.blue, title="MA 7")
plot(ma10, color=color.red, title="MA 10")
plot(ma100, color=#512ca8, title="MA 100")
plot(ma200, color=color.rgb(152, 139, 20), title="MA 200")
// Buy and Sell Signals
buySignal = ta.crossover(ma7, ma10)
sellSignal = ta.crossunder(ma7, ma10)
// Display signals on the chart
plotshape(buySignal, style=shape.labelup, location=location.belowbar, color=color.rgb(231, 241, 232), size=size.small, title="Buy Signal", text="buy")
plotshape(sellSignal, style=shape.labeldown, location=location.abovebar, color=color.rgb(237, 221, 221), size=size.small, title="Sell Signal", text="sell")
// Entry and Exit Logic
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.close("Buy")