Tendencia de seguimiento de la estrategia utilizando el indicador KST
Este artículo explica en detalle una tendencia cuantitativa siguiendo la estrategia utilizando el indicador KST.
I. Lógica de la estrategia
Los pasos principales para la generación de señales son:
Calcular los valores de varios indicadores de ROC con períodos diferentes.
Se aplicarán las medias móviles a los valores ROC por separado y se tomará la suma para derivar la recta KST.
Limpiar aún más la línea KST utilizando la media móvil para obtener la línea de señal.
Una señal de compra se genera cuando la línea KST cruza por encima de la línea de señal, y viceversa para las señales de venta.
Se puede seleccionar el tamaño de posición adecuado.
Al tomar la suma de múltiples valores ROC, la línea KST refleja las tendencias de precios a corto y largo plazo.
II. Ventajas de la Estrategia
La mayor ventaja es el cálculo exhaustivo de los indicadores, que incorpora información sobre tendencias a través de marcos de tiempo.
Otra ventaja es el uso sencillo e intuitivo del indicador con una línea de señal clara.
Por último, el dimensionamiento ajustable de la posición ayuda a controlar la exposición al riesgo general.
III. Posibles debilidades
Sin embargo, existen algunos problemas:
En primer lugar, el indicador en sí tiene un cierto retraso en la reacción a los cambios de precios.
En segundo lugar, la dependencia del KST hace que sea susceptible a reversiones.
Además, se requiere una amplia optimización para evitar el sobreajuste.
IV. Resumen
En resumen, este artículo ha explicado una tendencia cuantitativa siguiendo una estrategia utilizando señales de cruce KST. Refleja las tendencias de precios a través del indicador para señales comerciales, pero requiere la gestión del retraso del indicador y la ajuste adecuado de parámetros. En general, proporciona un enfoque simple de seguimiento de tendencias.
/*backtest start: 2023-08-15 00:00:00 end: 2023-09-14 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 // strategy(title="KST Alert", shorttitle="KST Alert", format=format.price, precision=4) roclen1 = input.int(10, minval=1, title = "ROC Length #1") roclen2 = input.int(15, minval=1, title = "ROC Length #2") roclen3 = input.int(20, minval=1, title = "ROC Length #3") roclen4 = input.int(30, minval=1, title = "ROC Length #4") smalen1 = input.int(10, minval=1, title = "SMA Length #1") smalen2 = input.int(10, minval=1, title = "SMA Length #2") smalen3 = input.int(10, minval=1, title = "SMA Length #3") smalen4 = input.int(15, minval=1, title = "SMA Length #4") siglen = input.int(9, minval=1, title = "Signal Line Length") smaroc(roclen, smalen) => ta.sma(ta.roc(close, roclen), smalen) kst = smaroc(roclen1, smalen1) + 2 * smaroc(roclen2, smalen2) + 3 * smaroc(roclen3, smalen3) + 4 * smaroc(roclen4, smalen4) sig = ta.sma(kst, siglen) plot(kst, color=#009688, title="KST") plot(sig, color=#F44336, title="Signal") hline(0, title="Zero", color = #787B86) eL1=ta.crossover(kst,sig) eS1=ta.crossunder(kst,sig) ch = 0 t = year(time('D')) ch := ta.change(t) != 0 ? 1 : 0 T1 = time(timeframe.period, "0915-1520") session_open = na(t) ? false : true newDay = ta.change(time("15m")) != 0 strategy.entry("Long1", strategy.long, when = eL1) strategy.entry("Short1", strategy.short, when = eS1)