Esta es una estrategia que utiliza los niveles clave en diferentes marcos de tiempo para generar señales comerciales de doble ruptura. Puede entrar en posiciones largas o cortas cuando los precios de tendencia rompen los niveles clave de soporte o resistencia para capturar tendencias a medio y largo plazo.
La estrategia analiza la acción del precio simultáneamente en dos marcos de tiempo diferentes (tf y tf2), siendo tf el marco de tiempo más largo que refleja la tendencia a medio y largo plazo, y tf2 el marco de tiempo más corto que refleja los movimientos a corto plazo.
La señal de negociación se forma cuando up1 y up2 son verdaderos juntos, lo que indica que a largo y corto plazo ambos son alcistas, ir largo; cuando dn1 y dn2 son ambos verdaderos, lo que indica que a largo y corto plazo ambos son bajistas, ir corto.
La estrategia también incorpora algunos filtros como el scalping inverso y las velas de color para evitar señales erróneas de las rupturas que no son tendencias.
En general, la estrategia aprovecha al máximo el análisis de marcos de tiempo múltiples, garantizando que la tendencia a medio y largo plazo cumpla con las expectativas, evitando al mismo tiempo la interferencia del ruido del mercado a corto plazo, generando señales comerciales de alta calidad.
Captar las tendencias a medio y largo plazo mediante la ruptura de los niveles clave
Al monitorear las rupturas de los niveles clave en dos marcos de tiempo, puede capturar señales de entrada claras en las etapas de inicio de la tendencia.
La doble confirmación reduce significativamente las señales falsas
Requerir interrupciones simultáneas en dos marcos de tiempo diferentes reduce en gran medida las señales falsas de las fluctuaciones aleatorias, mejorando la calidad de la señal.
Filtros como los escalpes invertidos y los candelabros de color
Agregar scalping inverso y filtros de velas de color puede eliminar algunas señales de breakout de baja calidad y evitar grandes pérdidas.
Configuración de parámetros sencilla
La estrategia sólo necesita dos parámetros de tiempo para funcionar, ofrece ajustes flexibles para diferentes productos.
Fácil de entender y optimizar
La estructura clara facilita la comprensión de la lógica y los parámetros se pueden ajustar en función de las condiciones del mercado para la optimización.
Entrada retrasada debido a una doble fuga
En comparación con la ruptura única, la ruptura doble puede causar algún retraso en la entrada, perdiendo las ganancias de tendencia tempranas.
Selección del nivel clave
Es muy importante seleccionar los niveles clave adecuados para los diferentes productos y ciclos del mercado, de lo contrario puede generar señales falsas.
Fallo de la fuga
Incluso con una fuga doble, todavía hay una posibilidad de fracaso de la fuga y una rápida retirada, causando pérdidas.
Pérdida por reversión de tendencia
Las entradas de tendencia tardías pueden enfrentarse a una reversión repentina, no pudiendo salir a tiempo a través del stop loss e incurrir en grandes pérdidas.
Optimización de parámetros difícil
Aunque simple, encontrar el conjunto óptimo de parámetros todavía requiere pruebas extensas, con alta dificultad de optimización.
Añadir estrategias de stop loss
Puede establecer un alto de trailing o tiempo para detener la pérdida antes de que la pérdida sea demasiado grande.
Optimiza los filtros
Puede probar diferentes parámetros de amplitud inversa del cuero cabelludo u otros métodos de filtrado.
Nivel de clave dinámica
Hacer que los niveles clave cambien dinámicamente con los cambios del mercado en lugar de niveles estáticos.
Optimización de parámetros de varios productos
Utilice el aprendizaje automático para optimizar los mejores conjuntos de parámetros para diferentes productos.
Añadir confirmación de volumen
Incorporar confirmación de volumen para evitar señales falsas de ruptura sin volumen.
En general, esta es una estrategia de seguimiento de tendencias simple y práctica. Al analizar dos marcos de tiempo, se entra en la conformidad de dirección a medio y largo plazo para filtrar el ruido de manera efectiva. Las señales son claras y fáciles de interpretar, con configuraciones de parámetros intuitivas. Pero también tiene problemas como la entrada incorrecta, la dificultad para seleccionar los niveles clave. En resumen, esta estrategia funciona mejor como una herramienta de validación de tendencias para combinarse con otros factores, pero aún tiene mucho espacio para la optimización como un sistema de negociación independiente.
/*backtest start: 2023-10-15 00:00:00 end: 2023-11-14 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy(title = "Noro's Levels Strategy v1.0", shorttitle = "Levels str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %") tf = input('W', title = "timeframe 1") tf2 = input('D', title = "timeframe 2") src = input(ohlc4, "Source") ap = input(true, defval = true, title = "antipila") cf = input(true, defval = true, title = "color filter") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //Signals level = request.security(syminfo.tickerid, tf, src[1]) level2 = request.security(syminfo.tickerid, tf2, src[1]) plot(level, linewidth = 3, color = silver) plot(level2, linewidth = 3, color = gray) up1 = close > level and ap == false ? true : low > level ? true : false dn1 = close < level and ap == false ? true : high < level ? true : false up2 = close > level2 and ap == false ? true : low > level2 ? true : false dn2 = close < level2 and ap == false ? true : high < level2 ? true : false //Trading lot = strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1] if up1 and up2 and (close < open or cf == false) strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if dn1 and dn2 and (close > open or cf == false) strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all()