
A estratégia de otimização de cruzamento de média móvel é uma estratégia de negociação quantitativa que integra várias funções, como cruzamento de média móvel, controle de posição e gerenciamento de risco. A estratégia usa cruzamentos de médias móveis rápidas e médias móveis lentas como sinais de compra e venda e, em combinação com o controle dinâmico do tamanho da posição, realiza a gestão de risco. Em comparação com a estratégia de cruzamento de média móvel tradicional, a estratégia realiza otimização de funções em vários sentidos, oferecendo uma solução de negociação quantitativa mais avançada e confiável.
O sinal central desta estratégia vem da interseção de duas médias móveis: uma média móvel rápida de curto prazo e uma média móvel lenta de longo prazo. Concretamente, um sinal de compra é gerado quando a média móvel rápida atravessa a média móvel lenta de baixo; um sinal de venda é gerado quando a média móvel rápida desce de cima e quebra a média móvel lenta.
A média móvel, como um indicador de acompanhamento de tendências, é capaz de suavizar efetivamente os dados de preços e identificar os pontos de inflexão da tendência de preços. A média móvel rápida é mais sensível às mudanças de preços e pode capturar tendências de curto prazo; enquanto a média móvel lenta é mais lenta em responder às flutuações de preços e pode refletir tendências de médio e longo prazo.
Quando a média móvel rápida é cruzada, indica que o preço de curto prazo se reverteu para cima e impulsionou o preço de médio e longo prazo para cima, pertencendo ao sinal de retracção; e quando a média móvel rápida é cruzada para baixo, indica que o preço de curto prazo começou a cair, e o médio e longo prazo também seguirá para baixo, pertencendo ao sinal de contrapressão.
Outro grande destaque desta estratégia é o gerenciamento de risco. A estratégia permite que o comerciante defina a porcentagem de risco de cada transação e ajuste dinamicamente o tamanho da posição.
Dimensão da posição = (interesse na conta × percentagem de risco) / (percentagem de risco por transação × 100)
Esta forma de ajustar posições de acordo com a situação dos fundos da conta e a dinâmica de tolerância ao risco, permite controlar eficazmente o risco de negociação, o que é uma grande vantagem da estratégia.
Em comparação com a estratégia original de cruzamento de médias móveis, esta estratégia foi significativamente otimizada nas seguintes dimensões:
Sistemas de sinalização mais inteligentesA estratégia usa duas médias móveis rápidas e lentas, em vez de uma única média, para identificar tendências de curto e médio prazo simultaneamente, tornando os sinais cruzados mais confiáveis.
Controle de riscos mais científico。 O posicionamento calculado de acordo com o capital da conta e a dinâmica de risco tolerável, tanto para obter lucro quanto para controlar o risco, mais em consonância com as necessidades reais de combate。
Experiência de operação mais humana│ sinalização intuitiva, aviso de alerta em tempo real, sem a necessidade de trabalhar o dia inteiro, para facilitar a operação│
Maior flexibilidadeOs usuários podem personalizar os parâmetros de média móvel e as configurações de risco de acordo com suas preferências pessoais, para que a estratégia seja mais adequada para eles.
Apesar das melhorias significativas em relação à estratégia original de cruzamento de médias móveis, a estratégia ainda pode enfrentar os seguintes riscos em aplicação prática:
Perder o ponto de inflexãoA média móvel é um indicador de tendência, não é sensível a uma reversão súbita de preços, pode perder pontos críticos de compra e venda e não pode parar ou parar a perda a tempo.
Não se aplica à liquidaçãoQuando o mercado está em um estado de recolha horizontal por longos períodos de tempo, os sinais de média móvel são facilmente enganosos e deve-se reduzir o tamanho da posição ou considerar o uso de outros tipos de estratégias.
Parâmetros errados: Se o parâmetro da média móvel for configurado inadequadamente, um sinal de erro será gerado, o que requer testes repetidos para obter o melhor parâmetro.
Risco excessivo.Se a percentagem de risco for muito alta, a conta corre um risco excessivo por cada transação, e é muito propensa a explodir. Isso requer uma configuração cuidadosa de acordo com a capacidade real de suportar.
Para os riscos acima mencionados, podemos gerenciar os riscos a partir das seguintes dimensões:
Combinação com outros indicadores de filtragem de sinais, como volume de transação, indicadores de KD, etc., para evitar a perda de uma reversão de preço.
Alternar estratégias ou reduzir posições de acordo com as diferentes condições do mercado, como usar estratégias de choque.
A pesquisa completa para encontrar os parâmetros ótimos, ou para definir os parâmetros de acordo com a segmentação de diferentes variedades.
Configuração conservadora dos parâmetros de risco, construção em lotes e controle de perdas individuais.
Há espaço para otimizar a estratégia, incluindo:
Filtragem de sinal optimizadaO sinal pode ser filtrado por outros indicadores, como KM, Brinks, etc., para tornar o sinal mais confiável.
Parâmetros adaptados: Optimização dinâmica dos parâmetros das médias móveis por meio de métodos de aprendizado de máquina, para que elas se adaptem automaticamente às mudanças do mercado.
Estratégias de suspensãoA adição de stop loss móvel, stop loss de proporção fixa e outras funcionalidades permitem determinar os lucros e controlar os prejuízos de forma eficaz.
Estratégia compostaA combinação de estratégias de média móvel com outros tipos de estratégias, como horizontais coladas e estratégias de oscilação, permite obter ganhos extras mais estáveis.
Arbitragem entre mercadosO método de arbitragem estatística é um método de arbitragem estatística que combina as relações de preços de diferentes mercados para obter arbitragem sem risco.
Através de testes e otimização contínuos, temos a confiança de que esta estratégia será uma solução de negociação quantitativa confiável, controlada e com lucros extras.
A estratégia de otimização de cruzamento de média móvel através da formação de sinais de negociação através de cruzamento de linha de equilíbrio rápida e lenta, e o uso de ajuste de posição dinâmica para o controle de risco, é uma estratégia de negociação quantitativa funcional e perfeito. Em comparação com a estratégia de linha de equilíbrio móvel tradicional, esta estratégia tem grandes avanços em termos de julgamento de sinal, gerenciamento de risco, experiência de uso, etc. Com a otimização de parâmetros, filtragem de sinal, parada de perda e combinação de combinações, esta estratégia tem potencial para ser uma das estratégias ideais para os comerciantes de varejo serem lucrativos e controláveis.
/*backtest
start: 2024-01-06 00:00:00
end: 2024-02-05 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Improved Moving Average Crossover", overlay=true)
// Input parameters
fastLength = input(10, title="Fast MA Length")
slowLength = input(20, title="Slow MA Length")
riskPercentage = input(1, title="Risk Percentage", minval=0.1, maxval=5, step=0.1)
// Calculate moving averages
fastMA = sma(close, fastLength)
slowMA = sma(close, slowLength)
// Plot moving averages on the chart
plot(fastMA, color=color.blue, title="Fast MA")
plot(slowMA, color=color.red, title="Slow MA")
// Trading signals
longCondition = crossover(fastMA, slowMA)
shortCondition = crossunder(fastMA, slowMA)
// Position sizing based on percentage risk
riskPerTrade = input(2, title="Risk Per Trade (%)", minval=1, maxval=10, step=0.5)
equity = strategy.equity
lotSize = (equity * riskPercentage) / (riskPerTrade * 100)
strategy.entry("Buy", strategy.long, when=longCondition)
strategy.close("Buy", when=shortCondition)
strategy.entry("Sell", strategy.short, when=shortCondition)
strategy.close("Sell", when=longCondition)
// Plot trades on the chart using plotshape
plotshape(series=longCondition, color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small, title="Buy Signal")
plotshape(series=shortCondition, color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small, title="Sell Signal")
// Alerts
alertcondition(longCondition, title="Buy Signal", message="Buy Signal!")
alertcondition(shortCondition, title="Sell Signal", message="Sell Signal!")