Estrategias de seguimiento de tendencias basadas en indicadores KST

El autor:¿ Qué pasa?, Fecha: 15 de septiembre de 2023 12:05:21
Las etiquetas:

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:

  1. Calcular los valores de varios indicadores de ROC con períodos diferentes.

  2. Se aplicarán las medias móviles a los valores ROC por separado y se tomará la suma para derivar la recta KST.

  3. Limpiar aún más la línea KST utilizando la media móvil para obtener la línea de señal.

  4. 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.

  5. 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)


Más.