La estrategia se basa en un promedio asimétrico suavizado de tres períodos de tiempo, que genera una señal de negociación cuando los diferentes indicadores de períodos son positivos o negativos. El objetivo es utilizar varios marcos de tiempo para confirmar la tendencia y reducir la probabilidad de falsas señales.
El promedio heterogéneo suave (Heiken Ashi) es diferente a la línea K normal, ya que se calcula para suavizar la curva de precios y identificar tendencias con mayor precisión.
Esta estrategia utiliza un indicador de promedio liso heterogéneo de tres períodos de tiempo: el sol, el círculo y el rayo lunar. Cuando los tres son de tendencia positiva, es decir, cuando la línea de la antorcha de todos los períodos de tiempo es verde, produce una señal de compra; Cuando los tres son de tendencia negativa, es decir, cuando la línea de la antorcha es toda roja, produce una señal de venta.
Después de la entrada, se genera una señal de posición en equilibrio siempre que el promedio asimetrico se desplaza de forma suave en cualquier período de tiempo.
La verificación de múltiples marcos de tiempo reduce las señales falsas y aumenta la estabilidad.
El indicador de promedio asimetrico liso identifica tendencias y reduce el ruido.
Las reglas son sencillas, claras y fáciles de aplicar.
La combinación de períodos de tiempo es flexible y se adapta a diferentes variedades.
Optimización sin parámetros, muy fácil de usar.
La restricción de múltiples condiciones puede hacer que se pierda la oportunidad de negociar.
Todavía hay un problema con el retraso de la media asimetrica plana, que puede retrasar la señal. Se puede optimizar en combinación con otros indicadores.
No se ha establecido un Stop Loss y no se puede controlar el riesgo. Se puede agregar una estrategia de Stop Loss móvil.
El porcentaje de ganancias y pérdidas es fijo y la falta de flexibilidad. Se puede configurar el stop loss dinámico.
Se puede agregar un mecanismo de confirmación de la cantidad.
La prueba añade más marcos de tiempo, como 15 minutos o 60 minutos.
Optimización de los parámetros de la media asimétrica suave y mejora de la sensibilidad.
Acompáñese con una estrategia de stop loss móvil para controlar el riesgo.
El estudio incluye indicadores de la estructura del mercado, evitando zonas de convulsión.
Nuevas condiciones de reingreso, extensión del período de tenencia de la posición.
La estrategia utiliza las ventajas de un indicador de promedio heterogéneo de un ciclo de tiempo múltiple para lograr el seguimiento de la tendencia, pero solo se basa en el indicador que es propenso a generar falsas señales. Se puede mejorar mediante la adición de más indicadores, estrategias de parada de pérdidas, parámetros de optimización, etc. Para que la estrategia sea más confiable. En general, la idea de la verificación de un marco de tiempo múltiple vale la pena aprender.
/*backtest
start: 2023-01-01 00:00:00
end: 2023-03-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
args: [["v_input_5",true]]
*/
//@version=4
strategy("Heiken Ashi MTF Strategy")
ha_t = heikinashi(syminfo.tickerid)
res = input('D', title="TM 1")
ha_open = security(ha_t, res, open)
ha_close = security(ha_t, res, close)
ha_dif = ha_open-ha_close
ha_diff=iff(ha_dif > 0, 1, iff(ha_dif<0, 2, 3))
res2 = input('W', title="TM 2")
ha_open2 = security(ha_t, res2, open)
ha_close2 = security(ha_t, res2, close)
ha_dif2 = ha_open2-ha_close2
ha_diff2=iff(ha_dif2 > 0, 1, iff(ha_dif2<0, 2, 3))
res3 = input('M', title="TM 3")
ha_open3 = security(ha_t, res3, open)
ha_close3 = security(ha_t, res3, close)
ha_dif3 = ha_open3-ha_close3
ha_diff3=iff(ha_dif3 > 0, 1, iff(ha_dif3<0, 2, 3))
plot(15, title="TF1", color=iff(ha_diff==1, color.red, iff(ha_diff==2, color.green, color.white)), style=plot.style_circles, linewidth=5, join=true)
plot(14, title="TF2", color=iff(ha_diff2==1, color.red, iff(ha_diff2==2, color.green, color.white)), style=plot.style_circles, linewidth=5, join=true)
plot(13, title="TF3", color=iff(ha_diff3==1, color.red, iff(ha_diff3==2, color.green, color.white)), style=plot.style_circles, linewidth=5, join=true)
short = ha_diff ==1 and ha_diff2==1 and ha_diff3 ==1
long = ha_diff ==2 and ha_diff2==2 and ha_diff3 ==2
exitlong = ha_diff ==1 or ha_diff2==1 or ha_diff3 ==1
exitshort = ha_diff ==2 or ha_diff2==2 or ha_diff3 ==2
longA = input(true)
shortA = input(false)
if(longA)
strategy.entry("long",1,when=long)
strategy.close("long",when=exitlong)
if(shortA)
strategy.entry("short",0,when=short)
strategy.close("short",when=exitshort)