Estratégia de reversão da média móvel dupla

Autora:ChaoZhang, Data: 2023-12-01 16:56:43
Tags:

img

Resumo

A estratégia de inversão de cruzamento de média móvel dupla é uma estratégia comercial quantitativa típica que rastreia tendências. A estratégia utiliza os sinais de cruzamento da linha de 9 dias e da linha de 14 dias no indicador de média móvel dupla para construir sinais de compra e venda.

Princípio da estratégia

Esta estratégia opera principalmente com base nos sinais de cruz de ouro e cruz de morte do indicador de média móvel dupla. Nas médias móveis duplas, a linha de 9 dias representa tendências de curto prazo, a linha de 14 dias representa tendências de médio prazo e seu cruzamento é um indicador técnico eficaz para julgar as voltas nas tendências do mercado. Quando a linha de tendência de curto prazo atravessa a linha de tendência de médio prazo de baixo para formar uma cruz de ouro, ela indica que a linha de tendência de curto prazo está se fortalecendo, o que é um sinal de compra; quando ela atravessa de cima para formar uma linha de tendência de curto prazo, ela indica que a linha de tendência está enfraquecendo, o que é um sinal de venda.

Além disso, a estratégia também introduz a linha de 50 dias para filtrar sinais enganosos. Ela gerará apenas uma compra quando o preço estiver acima da linha de 50 dias; e só gerará uma venda quando o preço estiver abaixo da linha de 50 dias. A linha de 50 dias representa tendências de médio a longo prazo.

A lógica central é a seguinte:

// Buy condition: 9-day line crosses above 14-day line and close price is above 50-day line 
buyCondition = ta.crossover(sma9, sma14) and close > sma50 

// Sell condition: 9-day line crosses below 14-day line and close price is below 50-day line
sellCondition = ta.crossunder(sma9, sma14) and close < sma50

Análise das vantagens

As vantagens da estratégia da dupla média móvel são óbvias:

  1. Simples de compreender e implementar, adequado para aprendizagem de iniciantes.
  2. Siga a tendência, evite ficar preso em mercados de gama limitada.
  3. Usar indicadores de médio a longo prazo para filtrar sinais enganosos e evitar ser enganado pelo ruído do mercado a curto prazo.
  4. Pode acompanhar as tendências dos mercados e lucrar de forma eficiente por longos períodos.

Análise de riscos

A estratégia da dupla média móvel apresenta também alguns riscos:

  1. Em condições de mercado extremas, como quedas de mercado, pode haver grandes quedas antes que uma cruz de morte se forme.
  2. Nos mercados variáveis, as cruzadas de ouro e as cruzadas de morte alternam, abrindo e parando posições repetidamente.

Para enfrentar os riscos, podem ser feitas otimizações como as seguintes:

  1. Introduzir outros indicadores para cortar rapidamente as perdas em condições de mercado em colapso.
  2. Adicionar mais filtros de abertura para evitar cruzes alternadas em mercados variados.

Orientações de otimização

A estratégia da dupla média móvel pode ser otimizada em vários aspectos:

  1. Optimização de parâmetros, ajuste de períodos de média móvel, otimização de parâmetros de indicadores.
  2. Incorporar mais indicadores para avaliar as condições do mercado e evitar falsos sinais.
  3. Introduzir mecanismos de stop loss. empregar stop loss em movimento, stop loss de penetração e outros métodos de stop.
  4. Combinar com outras estratégias de negociação, como as estratégias de volume e volatilidade.
  5. Utilize adequadamente a alavancagem para melhorar a eficiência operacional.

Resumo

A estratégia de média móvel dupla é geralmente uma estratégia eficiente de geração de lucro. Ela pode lucrar seguindo as tendências continuamente. Ao mesmo tempo, ela tem certos riscos e precisa de melhoria adicional. Ao otimizar parâmetros, métodos de parada e combinações de estratégia, os efeitos desta estratégia podem ser ainda melhorados.


/*backtest
start: 2022-11-24 00:00:00
end: 2023-11-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("smaCrossReverse", shorttitle="smaCrossReverse", overlay=true)

// Define the length for the SMAs
sma9Length = input(9, title="SMA 9 Length")
sma14Length = input(14, title="SMA 14 Length")
sma50Length = input(50, title="SMA 50 Length")  // Add input for SMA 50

// Calculate SMAs
sma9 = ta.sma(close, sma9Length)
sma14 = ta.sma(close, sma14Length)
sma50 = ta.sma(close, sma50Length)  // Calculate SMA 50

// Buy condition: SMA 9 crosses above SMA 14 and current price is above SMA 50
buyCondition = ta.crossover(sma9, sma14) and close > sma50

// Sell condition: SMA 9 crosses below SMA 14 and current price is below SMA 50
sellCondition = ta.crossunder(sma9, sma14) and close < sma50

// Track the time since position was opened
var float timeElapsed = na
if (buyCondition)
    timeElapsed := 0
else
    timeElapsed := na(timeElapsed[1]) ? timeElapsed[1] : timeElapsed[1] + 1

// Close the buy position after 5 minutes
if (timeElapsed >= 5)
    strategy.close("Buy")

// Track the time since position was opened
var float timeElapsedSell = na
if (sellCondition)
    timeElapsedSell := 0
else
    timeElapsedSell := na(timeElapsedSell[1]) ? timeElapsedSell[1] : timeElapsedSell[1] + 1

// Close the sell position after 5 minutes
if (timeElapsedSell >= 5)
    strategy.close("Sell")

// Plot the SMAs on the chart
plot(sma9, title="SMA 9", color=color.blue)
plot(sma14, title="SMA 14", color=color.red)
plot(sma50, title="SMA 50", color=color.green)  // Plot SMA 50 on the chart

// Strategy entry and exit conditions using if statements
if (buyCondition)
    strategy.entry("Buy", strategy.long)

if (sellCondition)
    strategy.entry("Sell", strategy.short)


Mais.