Heikin Ashi y Kaufman Estrategia de negociación de media móvil adaptativa

El autor:¿ Qué pasa?, Fecha: 2023-12-19 15:51:30
Las etiquetas:

img

Resumen general

La estrategia de trading de Heikin Ashi y Kaufman (HLC3/Kaufman Strategy) es una estrategia de trading cuantitativa que combina velas de Heikin Ashi y Kaufman Adaptive Moving Average (KAMA).

Estrategia lógica

Los principales componentes de esta estrategia son:

  1. Calcular los precios de apertura y cierre de Heikin Ashi. Estos precios reflejan el precio medio de los cuerpos de las velas y pueden filtrar algo de ruido.

  2. Calcular la media móvil adaptativa de Kaufman (KAMA). KAMA puede ajustar dinámicamente su suavidad y no se retrasará demasiado durante las fluctuaciones bruscas del mercado.

  3. Compare la relación entre el cierre de Heikin Ashi y KAMA para determinar las señales de compra y venta. Cuando el cierre de Heikin Ashi cruza sobre KAMA, se genera una señal de compra. Cuando el cierre de Heikin Ashi cruza por debajo de KAMA, se genera una señal de venta.

  4. Añadir el indicador ADX para juzgar la fuerza de la tendencia para evitar señales erróneas en los mercados de rango.

Análisis de ventajas

La mayor ventaja de esta estrategia es el doble filtro de velas Heikin Ashi y KAMA, que puede reducir en gran medida las operaciones ruidosas y las señales erróneas.

  1. Las velas Heikin Ashi tienen capacidades de reducción de ruido para filtrar algunas fluctuaciones a corto plazo.
  2. El KAMA es más sensible que el SMA y el EMA y puede rastrear eficazmente los cambios de tendencia en los niveles principales.
  3. La combinación de filtros Heikin Ashi y KAMA puede reducir los errores.
  4. El indicador ADX se puede configurar para determinar la fuerza de la tendencia para evitar señales erróneas.
  5. Las señales comerciales son directas y fáciles de operar de manera flexible.

Análisis de riesgos

  1. En algunos mercados de variación pueden producirse señales erróneas, por lo que los parámetros deben ajustarse en consecuencia para evitar este riesgo.
  2. Los parámetros demasiado sensibles pueden fácilmente perseguir picos y matar fondos.
  3. En los mercados de tendencia a largo plazo, KAMA puede retrasarse en cierta medida en los cambios de precios.

Direcciones de optimización

  1. Optimizar los parámetros de Heikin Ashi cerca y KAMA para encontrar las mejores condiciones de filtrado.
  2. Añadir indicadores de evaluación de tendencias como ADX para garantizar que las señales de negociación se generen solo cuando la tendencia es estable.
  3. Combine otros indicadores auxiliares como las bandas de Bollinger para establecer estándares de stop loss.
  4. Prueba la estabilidad de los parámetros en diferentes productos para encontrar las combinaciones óptimas de parámetros.

Resumen de las actividades

La estrategia de trading de media móvil adaptativa de Heikin Ashi y Kaufman es una estrategia de seguimiento de tendencias de doble filtro. Combina la capacidad de reducción de ruido de las velas de Heikin Ashi y el seguimiento rápido de los cambios de tendencia de KAMA para filtrar eficazmente las operaciones de ruido y reducir las señales incorrectas. Es adecuada para el seguimiento de tendencias a medio y largo plazo. La estrategia puede mejorarse aún más en términos de estabilidad y rentabilidad a través de la optimización de parámetros, confirmación 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)





Más.