Esta estrategia observa el cambio de colores de la línea K para determinar la tendencia del mercado y establecer posiciones largas y cortas en consecuencia.
La estrategia juzga el color de las líneas K basándose en la relación entre el precio de cierre y el precio de apertura.
Cuando haya líneas consecutivas de K especificadas del mismo color (ajustable), se realizarán las acciones correspondientes:
Si es rojo, largo.
Si es verde, corta.
Cuando el color de la línea K cambie, cierre todas las posiciones.
El principio es claro y sencillo, fácil de entender y aplicar.
Puede seguir tendencias relativamente a corto plazo y comerciar con frecuencia.
El número de líneas K es personalizable para ajustar la sensibilidad de la estrategia.
Puede ir largo o corto sólo para reducir la frecuencia de negociación.
El marco de tiempo de negociación se puede establecer para evitar ciertos períodos.
Incapaz de determinar la dirección de la tendencia, riesgo de ser azotado.
Incapacidad para determinar el momento óptimo de entrada, riesgos de entrada prematura o oportunidades perdidas.
Los riesgos de reversión como cambios de color no representan necesariamente cambios reales de tendencia.
La búsqueda a corto plazo puede conducir a una presión excesiva en el comercio y en las comisiones.
La configuración inadecuada de los parámetros puede conducir a un mal desempeño de la estrategia.
Considere la posibilidad de añadir indicadores de juicio de tendencia para evitar la entrada inversa, por ejemplo, MACD, KD.
Configurar un stop loss para reducir el riesgo de pérdida.
Relajar adecuadamente los criterios de salida para evitar salidas demasiado frecuentes.
Combinar otros factores para optimizar el momento de entrada, por ejemplo, el aumento del volumen, rompiendo el máximo anterior.
Utilice las órdenes de mercado para reducir el impacto del deslizamiento.
Esta estrategia se origina en el análisis técnico de la línea K más simple, logrando el seguimiento de tendencias básicas al juzgar los colores de la línea K. Las ventajas son la simplicidad, la alta frecuencia de negociación y el ajuste flexible de parámetros. Pero también tiene cierta ceguera, incapaz de determinar la calidad de la tendencia. Se puede mejorar agregando indicadores de juicio de tendencias manteniéndolo simple, mejorando así el rendimiento de la estrategia.
/*backtest start: 2023-09-10 00:00:00 end: 2023-10-10 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Binance","currency":"BTC_USDT"}] */ //2018 //Noro //@version=2 strategy("Noro's Candles Strategy v1.0", shorttitle = "Candles str 1.0", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") bq = input(2, defval = 2, minval = 2, maxval = 6, title = "Bars Q") fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2018, defval = 2018, 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") //Bars Q bar = close > open ? 1 : close < open ? -1 : 0 gb = bar == 1 rb = bar == -1 redbars = bq == 2 and rb and rb[1] ? 1 : bq == 3 and rb and rb[1] and rb[2] ? 1 : bq == 4 and rb and rb[1] and rb[2] and rb[3] ? 1 : bq == 5 and rb[1] and rb[2] and rb[3] and rb[4] ? 1 : bq == 6 and rb[1] and rb[2] and rb[3] and rb[4] and rb[5] ? 1 : 0 greenbars = bq == 2 and gb and gb[1] ? 1 : bq == 3 and gb and gb[1] and gb[2] ? 1 : bq == 4 and gb and gb[1] and gb[2] and gb[3] ? 1 : bq == 5 and gb[1] and gb[2] and gb[3] and gb[4] ? 1 : bq == 6 and gb[1] and gb[2] and gb[3] and gb[4] and gb[5] ? 1 : 0 //Signals up1 = redbars == 1 dn1 = greenbars == 1 exit = bar != bar[1] if up1 strategy.entry("Long", strategy.long, needlong == false ? 0 : na) if dn1 strategy.entry("Short", strategy.short, needshort == false ? 0 : na) if time > timestamp(toyear, tomonth, today, 00, 00) or exit strategy.close_all()