Estratégia de negociação de cruzamento de média móvel


Data de criação: 2023-11-27 17:25:36 última modificação: 2023-11-27 17:25:36
cópia: 0 Cliques: 639
1
focar em
1617
Seguidores

Estratégia de negociação de cruzamento de média móvel

Visão geral

A estratégia de negociação de cruzamento de médias móveis é uma estratégia de negociação de tipo analítico, que consiste na compra ou venda de ações quando ocorrem um garfo de ouro ou um garfo de morte, através da computação de médias móveis de diferentes períodos. A estratégia é simples, fácil de executar, ocupa menos capital e possui poucas retrações, sendo adequada para operações de linha média e longa.

Princípio da estratégia

A estratégia é calculada através da calculação de uma média móvel indexada de 20 e 50 ciclos (EMA). A operação de compra é executada quando a EMA de 20 ciclos cruza a EMA de 50 ciclos. A operação de venda é executada quando a EMA de 20 ciclos cruza a EMA de 50 ciclos.

O índice EMA é uma média móvel, que dá mais peso aos dados mais recentes. A fórmula de cálculo do EMA é:

EMAtoday = (Pricetoday * k) + EMAyesterday * (1-k)

Onde k = 2/ (número de ciclos + 1)

Assim, quando o curto prazo EMA acima do longo prazo EMA, indica que o movimento de preços virou de alta, LONG; quando o curto prazo EMA abaixo do longo prazo EMA, indica que o movimento de preços virou de baixa, SHORT ◦

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. A operação é simples, fácil de entender e executar.
  2. A redução da ocupação de fundos e a redução da retirada de fundos facilitam a gestão de fundos.
  3. Os parâmetros são flexíveis e podem ser personalizados para diferentes mercados.
  4. Pode ser aplicado em qualquer variedade, para negociação de dias e tendências.

Risco e otimização

A estratégia também apresenta os seguintes riscos:

  1. Quando os preços oscilam, os sinais de negociação são frequentes e os filtros precisam ser considerados.
  2. O risco de ser preso em um ponto de venda e venda de ruptura é muito grande e é preciso considerar o stop loss.
  3. A transação foi interrompida pela otimização de parâmetros e precisou de mais verificação de dados históricos.

Assim, a estratégia pode ser otimizada em vários aspectos:

  1. A adição de filtros, como o indicador de linha de brinquedo, reduz os sinais falsos.
  2. Acompanhe a lógica do Stop Loss para evitar a prisão.
  3. Buscar a melhor combinação de parâmetros para diferentes variedades.
  4. Os indicadores de volume de transação são usados para confirmar os sinais de compra e venda.

Resumir

A estratégia de negociação de cruzamento de média móvel é uma estratégia de negociação técnica simples e eficaz, que é fácil de entender e implementar, passando por testes de mercado. Através de meios como otimização de parâmetros, adição de condições auxiliares, pode-se reduzir ainda mais o risco de negociação e aumentar a estabilidade da estratégia. A estratégia pode ser um módulo básico de negociação quantitativa.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © brandlabng

//@version=5
//study(title="Holly Grail", overlay = true)
strategy('HG|E15m', overlay=true)
src = input(close, title='Source')

price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(20, title='1st MA Length')
type1 = input.string('EMA', '1st MA Type', options=['EMA'])

ma2 = input(50, title='2nd MA Length')
type2 = input.string('EMA', '2nd MA Type', options=['EMA'])

price1 = if type1 == 'EMA'
    ta.ema(price, ma1)

price2 = if type2 == 'EMA'
    ta.ema(price, ma2)


//plot(series=price, style=line,  title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=plot.style_line, title='1st MA', color=color.new(#219ff3, 0), linewidth=2)
plot(series=price2, style=plot.style_line, title='2nd MA', color=color.new(color.purple, 0), linewidth=2)


longCondition = ta.crossover(price1, price2)
if longCondition
    strategy.entry('Long', strategy.long)

shortCondition = ta.crossunder(price1, price2)
if shortCondition
    strategy.entry('Short', strategy.short)