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

Autora:ChaoZhang, Data: 2024-01-24 11:48:29
Tags:

img

Resumo

A estratégia de negociação de crossover de média móvel gera sinais de compra e venda calculando o cruzamento das linhas de EMA rápida (fastLength) e lenta (slowLength). Quando a linha rápida cruza acima da linha lenta, um sinal de compra é gerado. Quando a linha rápida cruza abaixo da linha lenta, um sinal de venda é gerado. Esta estratégia é simples e prática, adequada para negociação de médio e curto prazo.

Princípio da estratégia

A estratégia usa duas linhas médias móveis, linha rápida e linha lenta. O parâmetro da linha rápida EMAfastLength é padrão para linha de 9 dias, e o parâmetro da linha lenta EMAslowLength é padrão para linha de 26 dias. Calcule o cruzamento das duas linhas EMA para determinar os sinais de compra e venda do mercado:

  1. Quando a linha rápida rompe para cima através da linha lenta, um sinal de compra enterLong() é gerado.
  2. Quando a linha rápida rompe para baixo através da linha lenta, um sinal de venda enterShort() é gerado.

Os sinais de negociação específicos e as regras de estratégia são os seguintes:

  1. Quando a linha rápida atravessa acima da linha lenta, vá longo; quando a linha rápida atravessa abaixo da linha lenta, posição próxima.
  2. O lucro obtido a longo prazo é a percentagem-alvo (default 0,15%) do preço, que consiste em fechar a posição quando o lucro atingir 15%.
  3. O stop loss para longo é StopLosspercentage (default 0,20%) do preço, que é fechar a posição quando a perda atinge 20%.
  4. A posição curta funciona da mesma forma.

Então esta estratégia é baseada na cruz de ouro e cruz morta das duas linhas de média móvel.

Análise das vantagens

  1. A estratégia é simples e fácil de entender.
  2. A aplicação de médias móveis filtra algum ruído do mercado e torna os sinais de negociação mais precisos.
  3. As regras de negociação são claras com lucro definitivo e stop loss.
  4. Os parâmetros de ensaio podem ser ajustados de forma flexível para se adaptarem às diferentes condições do mercado.

Análise de riscos

  1. As próprias médias móveis apresentam atraso, o que pode deixar de lado as alterações de preço a curto prazo, levando a pontos de compra e venda imprecisos.
  2. Diferentes parâmetros da média móvel do ciclo podem gerar sinais falsos e trazer perdas.
  3. Confiando apenas em alguns parâmetros, esta estratégia tem altos requisitos de otimização de hiperparâmetros para encontrar a melhor combinação de parâmetros.
  4. Em algumas tendências importantes, esta estratégia é susceptível de falhar.

Para abordar os riscos, os parâmetros que podem ser otimizados incluem o ciclo da média móvel, a variedade de negociação, a taxa de captação de lucro e de stop loss, etc. São necessários testes extensos para reduzir os riscos.

Orientações de otimização

A ideia de cruzamento da média móvel desta estratégia é simples e prática.

  1. Mudança do tipo de média móvel: para além da EMA, teste também SMA, LWMA, HMA e outros tipos.
  2. Adicionar outros indicadores: combinar com RSI, MACD e outros indicadores.
  3. Optimização de parâmetros: otimize automaticamente os dois parâmetros do ciclo de EMA para encontrar a melhor combinação de parâmetros.
  4. Filtragem de tendências: negociação seletiva com base nas principais situações de tendências.
  5. Optimização da captação de lucros e stop loss: Melhorar a captação de lucros e stop loss por porcentagem fixa para torná-la mais prática.

Através destes testes de otimização, o efeito prático e a estabilidade da estratégia podem ser consideravelmente melhorados.

Resumo

A ideia da estratégia de cruzamento de média móvel é simples, mas a aplicação prática requer otimização contínua. Esta estratégia dá a lógica de geração de sinais de negociação e regras básicas de negociação. Nesta base, pode ser muito otimizada para se tornar uma estratégia quantitativa utilizável. A aplicação da média móvel também nos fornece ideias para estratégias, com base nas quais podemos inovar e melhorar.


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

//@version=4
strategy("EMA Cross by MarketAlpha", overlay=true)
EMAfastLength = input(defval = 9, minval = 2)
EMAslowLength = input(defval = 26, minval = 2)
Targetpercentage = input(defval = 0.15, title = "Profit Target in percentage", minval = 0.05)
StopLosspercentage = input(defval = 0.20, title = "Stop Loss in percentage", minval = 0.05)
profitpoints = close*Targetpercentage
stoplosspoints = close*StopLosspercentage
price = close

FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2000)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"

emafast = ema(price, EMAfastLength)
emaslow = sma(price, EMAslowLength)
plot(emafast,color=green)
plot(emaslow,color=red)

enterLong() => crossover(emafast, emaslow)
strategy.entry(id = "MarketAlpha Long", long = true, when = window() and enterLong())
strategy.exit("Exit Long", from_entry = "MarketAlpha Long", profit = profitpoints,loss = stoplosspoints)

enterShort() => crossunder(emafast, emaslow)
strategy.entry(id = "MarketAlpha Short", long = false, when = window() and enterShort())
strategy.exit("Exit Short", from_entry = "MarketAlpha Short", profit = profitpoints,loss = stoplosspoints)



Mais.