
La estrategia HLC3/Kaufman es una estrategia de trading cuantitativa que combina la línea K de Heikin Ashi y la línea KAMA. Esta estrategia utiliza la línea K de Heikin Ashi para determinar la dirección de la operación y luego utiliza la media móvil de Kaufman como indicador auxiliar para filtrar la señal de negociación.
La estrategia se compone principalmente de las siguientes partes:
Calcular los precios de apertura y cierre de Heikin Ashi. Estos precios reflejan los precios medios de las entidades de la línea K, que pueden filtrar parte del ruido.
El cálculo de las medias móviles de adaptación automática de Kaufman (KAMA) [2]. KAMA es capaz de ajustar su propia suavidad de forma dinámica, sin generar demasiado retraso en el caso de una brusca fluctuación masiva del mercado[3].
Compara la relación entre el precio de cierre de Heikin Ashi y el tamaño de KAMA para determinar las señales de compra y venta. Se produce una señal de compra cuando el precio de cierre de Heikin Ashi cruza KAMA; se produce una señal de venta cuando el precio de cierre de Heikin Ashi cruza KAMA.
Se puede agregar el indicador ADX para determinar la fortaleza de la tendencia y evitar señales falsas en mercados convulsionados.
La mayor ventaja de esta estrategia es que la combinación de doble filtración de Heikin Ashi K y KAMA puede reducir considerablemente el ruido de intercambio y las señales erróneas. Las ventajas concretas son las siguientes:
Heikin Ashi y Kaufman Adapted Moving Average Trading Strategy es una estrategia de seguimiento de tendencias de doble filtración. Combina la función de eliminación de ruido de la línea K de Heikin Ashi y las ventajas de seguimiento rápido de los cambios de tendencia de KAMA para filtrar eficazmente los intercambios de ruido y reducir las señales erróneas, adecuadas para seguir las tendencias a medio y largo plazo. La estrategia puede aumentar aún más la estabilidad y la rentabilidad a través de la optimización de parámetros y la confirmación 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)