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.
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.
A estratégia apresenta as seguintes vantagens:
A lógica da estratégia é simples e intuitiva, fácil de compreender e implementar, adequada para iniciantes;
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;
A estratégia tem poucos parâmetros e é fácil de otimizar e ajustar na negociação real;
Os indicadores de longo e curto prazo podem ser combinados para se adaptarem aos diferentes ambientes de mercado;
As estratégias de stop loss podem ser configuradas de acordo com as preferências pessoais de risco para reduzir as perdas.
A estratégia apresenta igualmente os seguintes riscos:
A taxa de falsos sinais mais elevada em mercados de intervalo, tendências de maior prazo devem ser consideradas;
Não sendo possível determinar eficazmente os pontos de inversão da tendência, há um certo atraso;
Os parâmetros do indicador de diferença devem ser monitorizados para evitar a sua sensibilidade excessiva ou atraso;
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:
Combinar médias móveis de longo período para determinar as principais tendências, evitar a entrada errada durante os intervalos;
Adicionar indicadores de reversão para determinar os pontos de entrada e saída, reduzir o risco de atraso;
Ensaiar combinações de parâmetros para encontrar parâmetros ótimos;
Otimização de estratégias de stop loss para reduzir a perda por negociação.
A estratégia pode ser otimizada nos seguintes aspectos:
Ensaiar diferentes combinações de parâmetros da média móvel para encontrar parâmetros ótimos;
Adicionar indicadores de avaliação da tendência para distinguir entre mercados de tendência e mercados de intervalo;
Combinar indicadores de inversão para melhorar a precisão de entrada;
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.
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)