Estratégia de tendência otimista de média móvel múltipla


Data de criação: 2024-01-22 12:04:05 última modificação: 2024-01-22 12:04:05
cópia: 0 Cliques: 661
1
focar em
1617
Seguidores

Estratégia de tendência otimista de média móvel múltipla

Visão geral

A estratégia de tendência de múltiplos médios é uma estratégia de acompanhamento de tendências baseada na construção de juízos sobre a média móvel do índice (EMA) de vários períodos diferentes. Ela faz isso quando o preço ultrapassa a EMA de 10 dias e outras linhas de EMA de períodos mais longos apresentam um alinhamento de múltiplos médios; em seguida, usa um stop loss de 8% para bloquear o lucro.

Princípio da estratégia

A estratégia usa seis linhas de EMA de diferentes períodos de 10, 20, 50, 100, 150 e 200 dias. Estas linhas de EMA são usadas para determinar a fase do ciclo em que o mercado está atualmente. Quando a linha de EMA de curto prazo (como a linha de 10 dias) atravessa a linha de EMA de longo período (como a linha de 20 dias e 50 dias), é considerada a fase de marcação em que o mercado entra em uma tendência de múltiplos.

Em particular, a estratégia abre mais quando as seguintes condições são preenchidas:

  1. A linha 10 da EMA é mais alta que a linha 20 da EMA.
  2. A linha de EMA de 20 dias é maior que a linha de EMA de 50 dias.
  3. A linha de EMA de 100 dias é maior que a linha de EMA de 150 dias
  4. A linha de EMA de 150 dias é mais alta que a linha de EMA de 200 dias
  5. EMA de 10 dias no preço de fecho

Depois de abrir uma posição em excesso, a estratégia usa um stop loss de 8% para bloquear o lucro. Ou seja, se o preço da ação não retroceder mais de 8% do preço de compra, a posição continuará sendo mantida. Se houver uma retirada superior a 8%, a perda será interrompida.

Em geral, a ideia central da estratégia é usar EMAs com múltiplos critérios de filtragem para determinar a entrada em uma tendência de múltiplos pólos, seguindo o stop loss para bloquear o lucro.

Análise de vantagens

Esta estratégia de tendências múltiplas de linha média tem as seguintes principais vantagens:

  1. O filtro de false breakouts é eficaz, garantindo a captura da fase de markup do ciclo de preços e reduzindo o número de transações desnecessárias.
  2. A filtragem múltipla das linhas EMA reduz a possibilidade de que o stop loss seja batido, permitindo uma posição mais segura.
  3. 8% de trailing stop neither too tight nor too loose, que permite um bom bloqueio de lucros e evita um stop loss muito frequente.
  4. A estratégia é flexível em termos de ajustes de parâmetros, permitindo encontrar a melhor combinação de parâmetros de acordo com as diferentes variedades.

Análise de Riscos

A estratégia também apresenta alguns riscos que devem ser lembrados:

  1. A sequência de linhas da EMA não é um bom indicador de tendências, e ainda existe a possibilidade de que haja uma certa correção.
  2. A paralisação de 8% pode levar a perda de parte do lucro em situações de alta.
  3. O sistema de linha média da EMA, por si só, está atrasado em relação às mudanças de preço, e os pontos de inflexão podem ser um pouco atrasados.

Para os riscos acima, podemos otimizar e melhorar, ajustando adequadamente os parâmetros do ciclo EMA ou introduzindo outros indicadores como julgamento auxiliar.

Direção de otimização

Considerando as características da estratégia, o futuro pode ser otimizado em vários aspectos:

  1. Teste diferentes combinações de EMA e parâmetros de ciclo para encontrar o melhor parâmetro.
  2. Adicionar indicadores como índices de volatilidade para avaliar a intensidade da tendência e evitar posições desnecessárias.
  3. Adicionar mais indicadores de filtragem, como MACD, KDJ, etc. para julgar o multicomponente.
  4. Introdução de algoritmos de aprendizagem de máquina para a realização de stop loss dinâmico.

Resumir

A estratégia de tendências múltiplas de linha média é, em geral, uma estratégia de acompanhamento de tendências mais robusta e confiável. Ela combina julgamento de tendências e controle de risco. Há muito espaço para melhorias por meio de ajuste de parâmetros e otimização de algoritmos.

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

//@version=5
strategy('SirSeff\'s EMA Rainbow', overlay=true)
// Testing Start dates
testStartYear = input(2000, 'Backtest Start Year')
testStartMonth = input(1, 'Backtest Start Month')
testStartDay = input(1, 'Backtest Start Day')
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)
//Stop date if you want to use a specific range of dates
testStopYear = input(2100, 'Backtest Stop Year')
testStopMonth = input(12, 'Backtest Stop Month')
testStopDay = input(30, 'Backtest Stop Day')
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)

testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false
// Component Code Stop

//TSP
trailStop = input.float(title='Long Trailing Stop (%)', minval=0.0, step=0.1, defval=8) * 0.01

longStopPrice = 0.0
longStopPrice := if strategy.position_size > 0
    stopValue = close * (1 - trailStop)
    math.max(stopValue, longStopPrice[1])
else
    0

//PLOTS
plot(series=strategy.position_size > 0 ? longStopPrice : na, color=color.new(color.red, 0), style=plot.style_linebr, linewidth=1, title='Long Trail Stop', offset=1, title='Long Trail Stop')
plot(ta.ema(close, 20))
plot(ta.ema(close, 50))
plot(ta.ema(close, 100))
plot(ta.ema(close, 150))
plot(ta.ema(close, 200))

//OPEN
longCondition =  ta.ema(close, 10) > ta.ema(close, 20) and ta.ema(close, 20) > ta.ema(close, 50) and ta.ema(close, 100) > ta.ema(close, 150) and ta.ema(close, 150) > ta.ema(close, 200)
if longCondition and ta.crossover(close,ta.ema(close,10)) and testPeriod()
    strategy.entry("BUY1", strategy.long)
    
if longCondition and ta.crossover(ta.ema(close,10),ta.ema(close,20)) and testPeriod()
    strategy.entry("BUY2'", strategy.long)

//CLOSE @ TSL
if strategy.position_size > 0 and testPeriod()
    strategy.exit(id='TSP', stop=longStopPrice)