Tendência seguindo uma estratégia baseada na diferença da média móvel

Autora:ChaoZhang, Data: 2024-01-12 14:42:06
Tags:

img

Resumo

Esta estratégia gera sinais de negociação com base na diferença entre duas médias móveis. 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. Ela pertence à categoria de estratégias de tendência. A estratégia é simples e fácil de entender, adequada para negociação de médio prazo.

Estratégia lógica

A estratégia calcula a diferença entre duas EMAs com parâmetros diferentes e, em seguida, calcula outra EMA com base nessa diferença para gerar sinais de negociação. Especificamente, ele escolhe um período, calcula 2 vezes a EMA do período/2 como a linha rápida e a EMA do período como a linha lenta. A diferença entre essas duas EMAs constitui o valor de diferença.

A estratégia é simples e direta, usando o indicador de diferença de média móvel dupla para julgar as tendências de preços. Ela pertence a uma estratégia típica de tendência. Ela funciona bem em mercados de tendência, mas pode gerar sinais falsos durante mercados de faixa.

Análise das vantagens

A estratégia apresenta as seguintes vantagens:

  1. A lógica da estratégia é simples e intuitiva, fácil de compreender e implementar, adequada para iniciantes;

  2. O indicador de diferença média móvel é sensível às alterações de preços e pode capturar eficazmente as alterações de tendência;

  3. A estratégia tem poucos parâmetros e é fácil de otimizar e ajustar na negociação real;

  4. Os indicadores de longo e curto prazo podem ser combinados para se adaptarem aos diferentes ambientes de mercado;

  5. As estratégias de stop loss podem ser configuradas de acordo com as preferências pessoais de risco para reduzir as perdas.

Análise de riscos

A estratégia apresenta igualmente os seguintes riscos:

  1. A taxa de falsos sinais mais elevada em mercados de intervalo, tendências de maior prazo devem ser consideradas;

  2. Não sendo possível determinar eficazmente os pontos de inversão da tendência, há um certo atraso;

  3. Os parâmetros do indicador de diferença devem ser monitorizados para evitar a sua sensibilidade excessiva ou atraso;

  4. A alta frequência de negociação pode conduzir a custos de transação mais elevados, o dimensionamento das posições necessita de controlo.

As soluções correspondentes são:

  1. Combinar médias móveis de longo período para determinar as principais tendências, evitar a entrada errada durante os intervalos;

  2. Adicionar indicadores de reversão para determinar os pontos de entrada e saída, reduzir o risco de atraso;

  3. Ensaiar combinações de parâmetros para encontrar parâmetros ótimos;

  4. Otimização de estratégias de stop loss para reduzir a perda por negociação.

Orientações de otimização

A estratégia pode ser otimizada nos seguintes aspectos:

  1. Ensaiar diferentes combinações de parâmetros da média móvel para encontrar parâmetros ótimos;

  2. Adicionar indicadores de avaliação da tendência para distinguir entre mercados de tendência e mercados de intervalo;

  3. Combinar indicadores de inversão para melhorar a precisão de entrada;

  4. Otimizar estratégias de stop loss para reduzir perdas.

Testar diferentes parâmetros de período pode melhorar a adaptabilidade da estratégia a diferentes condições de mercado. Adicionar filtros de tendência pode reduzir sinais falsos. Indicadores de reversão podem melhorar o tempo de entradas. Essas otimizações podem melhorar a estabilidade e rentabilidade da estratégia.

Conclusão

A estratégia de seguimento de tendências baseada na diferença da média móvel tem uma lógica clara e fácil de entender. Ao julgar as tendências de preços usando diferenças de média móvel dupla, ela pertence a uma estratégia típica de busca de tendências. A própria estratégia é muito simples e fácil de implementar, adequada para negociação de médio prazo, especialmente para iniciantes para estudar. Mas também há certos riscos com a estratégia que precisam ser reduzidos por meio de otimizações. Com ajuste adequado de parâmetros e controle de risco, a estratégia pode alcançar bons resultados.


/*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=5
strategy(title='Devick', overlay=true)

// Input parameters
period = input(title='Period', defval=21)

// Calculate moving averages
n2ma = 2 * ta.ema(close, math.round(period / 2))
nma = ta.ema(close, period)
diff = n2ma - nma
sqn = math.round(math.sqrt(period))

n2maPrev = 2 * ta.ema(close[1], math.round(period / 2))
nmaPrev = ta.ema(close[1], period)
diffPrev = n2maPrev - nmaPrev
sqnPrev = math.round(math.sqrt(period))

n1 = ta.ema(diff, sqn)
n2 = ta.ema(diffPrev, sqnPrev)

// Determine color based on condition
maColor = n1 > n2 ? color.green : color.red

// Plot moving average
ma = plot(n1, color=maColor, linewidth=2)

// Signals
buySignal = n1 > n2 and n1[1] <= n2[1]
sellSignal = n1 <= n2 and n1[1] > n2[1]

// Plot shapes for signals
plotshape(series=buySignal, title='Buy Signal', style=shape.arrowup, location=location.belowbar, color=color.green, size=size.small)
plotshape(series=sellSignal, title='Sell Signal', style=shape.arrowdown, location=location.abovebar, color=color.red, size=size.small)

// Alerts
alertcondition(condition=buySignal, title='Buy Signal', message='Buy Signal Detected')
alertcondition(condition=sellSignal, title='Sell Signal', message='Sell Signal Detected')

// Trading hours
openHour = 16
closeHour = 17

// Open position at 4 pm
openCondition = hour == openHour and minute == 0
strategy.entry("Buy", strategy.long, when=buySignal)
strategy.entry("Sell", strategy.short, when=sellSignal)
// Close all positions at 5 pm
closeCondition = hour == closeHour and minute == 0
strategy.close_all(when=closeCondition)

Mais.