Estratégia de negociação quantitativa do padrão ouro

Autora:ChaoZhang, Data: 2024-02-26 12:10:26
Tags:

img

Resumo

Esta estratégia é uma estratégia de negociação baseada no cruzamento das médias móveis de 30 dias e 200 dias.

Princípio da estratégia

A estratégia usa o cruzamento das médias móveis de 30 dias e 200 dias como sinais de negociação. Ela vai longa quando a média móvel de 30 dias cruza acima da média móvel de 200 dias e fica curta quando a média móvel de 30 dias cruza abaixo da média móvel de 200 dias. Além disso, quando um sinal reverso aparece, a posição atual será fechada e uma nova posição será aberta de acordo com a direção do novo sinal.

A estratégia combina as vantagens do rastreamento de tendências e do crossover da média móvel. O MA de 30 dias pode responder às mudanças de preço mais rapidamente, enquanto o MA de 200 dias tem uma filtragem de tendências mais forte. Seu crossover fornece sinais claros para entrar e sair do mercado. Ao mesmo tempo, ele usa a abertura reversa para bloquear lucros e evitar grandes perdas durante a consolidação de preços.

Análise das vantagens

  • Melhora a confiabilidade do sinal através da utilização de duplo cruzamento da média móvel
  • O mecanismo de abertura inversa ajuda a evitar perdas causadas pela consolidação
  • A definição de stop loss e take profit é benéfica para o controlo do risco
  • Pode ser utilizado em vários prazos
  • Fácil de melhorar a eficácia através da otimização de parâmetros

Análise de riscos

Os principais riscos que esta estratégia enfrenta são:

  • A maior probabilidade de falsos sinais provenientes de MAs duplas pode causar negociações frequentes, aumento dos custos de negociação e riscos de deslizamento
  • Ignora os fundamentos subjacentes do instrumento de negociação, ignora a lógica inerente das flutuações de preços
  • Nenhuma regra de gestão de capital definida para controlo por exposição ao risco de transacção

Os riscos podem ser reduzidos:

  • Adição de filtros para evitar a inversão frequente do sinal
  • Combinação de análises fundamentais de instrumentos de negociação
  • Introdução de um módulo de gestão de capital para limitar o dimensionamento por posição de negociação

Orientações de otimização

A estratégia pode ser otimizada nos seguintes aspectos:

  • Ensaiar diferentes combinações de parâmetros de MAs para encontrar os parâmetros ideais
  • Adicionar outros indicadores de filtragem, tais como volume, indicadores de volatilidade, etc.
  • Introduzir um mecanismo adaptativo de stop loss para ajustar as paradas com base na volatilidade do mercado
  • Aplicar regras de gestão de capital para limitar os tamanhos das posições por transação
  • Realizar otimização de backtesting para encontrar combinações ótimas de parâmetros

Conclusão

O funcionamento geral da estratégia é suave e a lógica de negociação básica é clara e simples. Ele gera sinais de negociação usando crossovers de MA duplo e usa abertura reversa para bloquear lucros. Este método de negociação pode evitar perdas significativas durante a consolidação de preços. A configuração de stop loss e take profit também facilita o controle de riscos. No entanto, a estratégia também tem algumas falhas, manifestadas principalmente como sinais frequentes enquanto ignora os fundamentos da flutuação de preços.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estrategia de Cruce de Medias Móviles", overlay=true)

// Medias móviles
ma30 = ta.sma(close, 30)
ma60 = ta.sma(close, 60)
ma200 = ta.sma(close, 200)

// Cruce de medias móviles
crossoverUp = ta.crossover(ma30, ma200)
crossoverDown = ta.crossunder(ma30, ma200)

// Señales de compra y venta
longCondition = crossoverUp
shortCondition = crossoverDown

// Ejecución de órdenes
if (longCondition)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Cover", "Buy", stop=close - 40.000, limit=close + 40.000)
if (shortCondition)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover", "Sell", stop=close + 40.000, limit=close - 40.000)

// Plot de las medias móviles
plot(ma30, color=color.blue, title="MA 30")
plot(ma60, color=color.orange, title="MA 60")
plot(ma200, color=color.green, title="MA 200")

// Condiciones para cerrar la posición contraria
if (strategy.position_size > 0)
    if (crossoverDown)
        strategy.close("Buy")
if (strategy.position_size < 0)
    if (crossoverUp)
        strategy.close("Sell")

Mais.