Tendência média de reversão na sequência de uma estratégia baseada na ruptura do momentum HA

Autora:ChaoZhang, Data: 2023-12-11 16:56:47
Tags:

img

Resumo

Esta é uma estratégia de negociação quantitativa que acompanha tendências julgando a tendência geral com base em médias móveis e determinando pontos de ruptura usando o indicador de momento HA. A estratégia é simples e fácil de entender, usando médias móveis para determinar a direção da tendência principal e, em seguida, contando com o indicador de momento HA para identificar pontos de entrada específicos.

Estratégia lógica

A lógica central por trás desta estratégia envolve o uso de médias móveis e o indicador de impulso HA para seguir tendências.

  1. Julgar a tendência geral: são calculadas médias móveis simples de 20 dias e 200 dias, quando a média móvel de 20 dias está acima (abaixo) da linha de 200 dias, é determinada uma tendência ascendente (descendente).

  2. O indicador de momento de entrada é calculado comparando o tamanho das aberturas do corpo da vela, valores maiores que o parâmetro HA_Candle_strength implicam um momento mais forte onde as posições podem ser inseridas.

  3. Estabelecimento de saídas Stop Loss/Take Profit: as saídas da estratégia são definidas com base nos montantes de lucro/perda.

Através deste processo, a estratégia é capaz de captar partes intermediárias das tendências estabelecidas e segui-las.

Análise das vantagens

As vantagens desta estratégia incluem:

  1. Lógica simples e clara, fácil de compreender/otimizar.

  2. As médias móveis filtram o ruído e capturam a tendência primária.

  3. O impulso de HA evita falsas rupturas medindo a força da ruptura.

  4. A precisão do tempo de entrada é melhorada através de uma combinação de direção da tendência e impulso.

  5. O risco de transação única é controlado por saídas de stop loss/take profit definidas.

Análise de riscos

Principais riscos da presente estratégia:

  1. Os sinais de cruzamento frequentes podem levar a maus negócios em mercados variados.

  2. As configurações inadequadas dos parâmetros podem levar a trocas perdidas ou sinais falsos.

  3. Incapaz de se adaptar a todos os tipos de regimes de mercado, pode enfrentar perdas maiores em mercados laterais agitados.

  4. A falta de identificação atempada dos pontos de inversão da tendência pode levar a perdas amplificadas.

Soluções correspondentes:

  1. Filtros adicionais para eliminar sinais inválidos.

  2. Teste de otimização de parâmetros para encontrar combinações ideais de parâmetros.

  3. Incorporar métricas de volatilidade para evitar erros em mercados agitados.

  4. Use ordens de stop loss adaptativas para bloquear os lucros.

Oportunidades de melhoria

Outras melhorias desta estratégia:

  1. Em vez de valores fixos, utilizar períodos de média móvel adaptáveis para melhorar a robustez.

  2. Adicionar um filtro de volume para evitar sinais quando a convicção do mercado for fraca.

  3. Optimização automática de parâmetros através de aprendizagem de máquina para maior estabilidade.

  4. Stop loss dinâmico em vez de stop loss estático para capturar lucros.

  5. Incorporar mais indicadores que avaliem a qualidade e as condições do mercado.

Conclusão

Em resumo, esta é uma estratégia de tendência baseada na determinação da direção da tendência prevalecente com médias móveis e usando o momento HA para sinais de entrada de tempo. A lógica é simples e clara, fornecendo geração de sinal precisa durante a progressão da tendência.


/*backtest
start: 2023-12-03 00:00:00
end: 2023-12-10 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("HA Trend Following", overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 2)


//parameters input
Trend_DIR_MA   = input(defval = 200, title = "MA for trend direction")
HA_Candle_strength   = input(defval = 2, title = "HA candle strength")

Rng = abs(open - close)

// HA_Momentum - size of break out body
HA_Momentum = sma(Rng, 1) / sma(Rng, 5)
plot(HA_Momentum, color=green, linewidth=1, style=line)
plot(HA_Candle_strength, color= blue)

// open position
longCondition = close > sma(close, 20) and (sma(close, 20) > sma(close, Trend_DIR_MA) )and HA_Momentum > HA_Candle_strength and close - open > 0
if (longCondition)
    strategy.entry(id = "Lng", long = true)

ShortCondition = close < sma(close, 20) and (sma(close, 20) < sma(close, Trend_DIR_MA) ) and HA_Momentum > HA_Candle_strength and close - open < 0
if (ShortCondition)
    strategy.entry(id = "Shrt", long = false)


// close position
strategy.exit("ExL", from_entry = "Lng", loss = 500 , profit = 1500)
strategy.exit("ExS", from_entry = "Shrt", loss = 500 , profit = 1500)




Mais.