
A estratégia de negociação de Heikin Ashi e Kaufman Adapted Moving Average (HLC3/Kaufman Strategy) é uma estratégia de negociação quantitativa que combina a linha Heikin Ashi K e a Kaufman Adapted Moving Average (KAMA). A estratégia determina a direção da negociação através da linha Heikin Ashi K e usa a média móvel adaptada de Kaufman como indicador auxiliar para filtrar os sinais de negociação.
A estratégia é composta principalmente por:
Calcule os preços de abertura e fechamento do Heikin Ashi. Estes preços refletem os preços médios das entidades da linha K, podendo filtrar parte do ruído.
A KAMA é capaz de ajustar dinamicamente sua suavidade, não produzindo muito atraso quando o mercado surge em grandes flutuações.
Comparar a relação entre o preço de fechamento do Heikin Ashi e o KAMA para determinar os sinais de compra e venda. O sinal de compra é gerado quando o preço de fechamento do Heikin Ashi atravessa o KAMA; O sinal de venda é gerado quando o preço de fechamento do Heikin Ashi atravessa o KAMA.
Pode-se adicionar um indicador ADX para avaliar a força da tendência e evitar sinais errados em mercados de turbulência.
A maior vantagem da estratégia é que a combinação de dupla filtragem de Heikin Ashi K e KAMA pode reduzir significativamente a troca de ruído e os sinais errados. As vantagens específicas são as seguintes:
A estratégia de negociação de médias móveis adaptadas Heikin Ashi e Kaufman é uma estratégia de acompanhamento de tendências de dupla filtragem. Combina a função de eliminação de ruído da linha K de Heikin Ashi e as vantagens de KAMA de acompanhamento rápido de mudanças de tendência, para filtrar efetivamente o ruído de negociação e reduzir os sinais errados, adequados para acompanhar tendências de médio e longo prazo. A estratégia pode aumentar ainda mais a estabilidade e a lucratividade por meio de otimização de parâmetros e confirmação de indicadores auxiliares.
/*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)