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).
Os principais componentes desta estratégia são:
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.
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.
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.
Adicionar o indicador ADX para avaliar a força da tendência para evitar sinais errados em mercados de intervalo.
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.
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)