Heikin Ashi e Kaufman Estratégia de negociação de média móvel adaptativa

Autora:ChaoZhang, Data: 2023-12-19 15:51:30
Tags:

img

Resumo

A estratégia de negociação de média móvel adaptativa de Heikin Ashi e Kaufman (HLC3/Estratégia de Kaufman) é uma estratégia quantitativa de negociação que combina velas de Heikin Ashi e média móvel adaptativa de Kaufman (KAMA).

Estratégia lógica

Os principais componentes desta estratégia são:

  1. Calcule os preços de abertura e fechamento de Heikin Ashi. Estes preços refletem o preço médio dos corpos de velas e podem filtrar algum ruído.

  2. Calcule a média móvel adaptativa de Kaufman (KAMA). A KAMA pode ajustar dinamicamente sua suavidade e não ficará muito atrasada durante as fortes flutuações do mercado.

  3. Compare a relação entre fechamento de Heikin Ashi e KAMA para determinar os sinais de compra e venda. Quando o fechamento de Heikin Ashi cruza sobre KAMA, um sinal de compra é gerado. Quando o fechamento de Heikin Ashi cruza abaixo de KAMA, um sinal de venda é gerado.

  4. Adicionar o indicador ADX para avaliar a força da tendência para evitar sinais errados em mercados de intervalo.

Análise das vantagens

A maior vantagem desta estratégia é o filtro duplo de velas Heikin Ashi e KAMA, que pode reduzir muito os negócios ruidosos e sinais errados.

  1. As próprias velas Heikin Ashi têm capacidades de redução de ruído para filtrar algumas flutuações de curto prazo.
  2. O KAMA é mais sensível do que a SMA e a EMA e pode rastrear efetivamente as mudanças de tendência nos principais níveis.
  3. A combinação de filtros duplos Heikin Ashi e KAMA pode reduzir os erros.
  4. O indicador ADX pode ser configurado para determinar a força da tendência para evitar sinais errados.
  5. Os sinais de negociação são diretos e fáceis de operar de forma flexível.

Análise de riscos

  1. Em alguns mercados variáveis, podem ocorrer sinais errados e os parâmetros devem ser ajustados em conformidade para evitar este risco.
  2. Os parâmetros demasiado sensíveis podem facilmente perseguir picos e matar fundos.
  3. Em mercados com tendências a longo prazo, a KAMA pode ficar um pouco atrás das alterações de preços.

Orientações de otimização

  1. Otimizar os parâmetros Heikin Ashi close e KAMA para encontrar as melhores condições de filtragem.
  2. Adicionar indicadores de avaliação da tendência, como o ADX, para garantir que os sinais de negociação só sejam gerados quando a tendência for estável.
  3. Combinar outros indicadores auxiliares, tais como Bandas de Bollinger, para definir padrões de stop loss.
  4. Teste a estabilidade dos parâmetros em diferentes produtos para encontrar as combinações ótimas de parâmetros.

Resumo

A estratégia de negociação de média móvel adaptativa de Heikin Ashi e Kaufman é uma estratégia de rastreamento de tendências de filtro duplo. Combina a capacidade de redução de ruído das velas Heikin Ashi e o rastreamento rápido das mudanças de tendência da KAMA para filtrar efetivamente os negócios de ruído e reduzir sinais errados. É adequado para rastrear tendências de médio e longo prazo. A estratégia pode ser melhorada em termos de estabilidade e lucratividade através da otimização de parâmetros, confirmação por indicadores auxiliares, etc.


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

//@version=2
//Heikin/Kaufman   by Marco

strategy("HLC3/Kaufman Strategy ",shorttitle="HLC3/KAU",overlay=true)
res1 = input(title="Hlc3 Time Frame", defval="D")
test = input(1,"Hlc3 Shift")
sloma = input(20,"Slow EMA Period")

//Kaufman MA
Length = input(5, minval=1)
xPrice = input(hlc3)
xvnoise = abs(xPrice - xPrice[1])
Fastend = input(2.5,step=.5)
Slowend = input(20)
nfastend = 2/(Fastend + 1)
nslowend = 2/(Slowend + 1)
nsignal = abs(xPrice - xPrice[Length])
nnoise = sum(xvnoise, Length)
nefratio = iff(nnoise != 0, nsignal / nnoise, 0)
nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2) 
nAMA = nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))

//Heikin Ashi Open/Close Price
//ha_t = heikinashi(tickerid)
//ha_close = request.security(ha_t, period, nAMA)
//mha_close = request.security(ha_t, res1, hlc3)
bha_close = request.security(syminfo.ticker, timeframe.period, nAMA)
bmha_close = request.security(syminfo.ticker, res1, hlc3)

//Moving Average
//fma = ema(mha_close[test],1)
//sma = ema(ha_close,sloma)
//plot(fma,title="MA",color=black,linewidth=2,style=line)
//plot(sma,title="SMA",color=red,linewidth=2,style=line)
bfma = ema(bmha_close[test],1)
bsma = ema(bha_close,sloma)
plot(bfma,title="MA",color=black,linewidth=2,style=line)
plot(bsma,title="SMA",color=red,linewidth=2,style=line)
//Strategy
//golong =  crossover(fma,sma) 
//goshort =   crossunder(fma,sma)
golong =  crossover(bfma,bsma) 
goshort =   crossunder(bfma,bsma)
strategy.entry("Buy",strategy.long,when = golong)
strategy.entry("Sell",strategy.short,when = goshort)





Mais.