Esta estrategia combina la 123 estrategia de inversión de trading propuesta por Ulf Jensen en su libro con el Moving Average Convergence Divergence Oscillator (KST) propuesto por Martin Pring para construir una estrategia cuantitativa que genere señales de trading utilizando patrones de inversión e indicadores de oscilación de tendencia.
La lógica central de esta parte de la estrategia es controlar si el precio de cierre de la acción se ha invertido en los últimos 2 días, específicamente:
Si los precios de cierre en los últimos 2 días tienen una tendencia a la baja, es decir, el precio de cierre del día anterior es mayor que el anterior; y el precio de cierre de hoy se recupera hacia arriba desde el día anterior, que es mayor que el precio de cierre del día anterior, se puede juzgar como una inversión de fondo y se genera una señal de compra.
Por el contrario, si los precios de cierre en los últimos 2 días están en una tendencia al alza, es decir, el precio de cierre del día anterior es inferior al anterior; y el precio de cierre de hoy cae del día anterior, que es inferior al precio de cierre del día anterior, se puede juzgar como una inversión superior y se genera una señal de venta.
Esta parte de la estrategia también combina el indicador estocástico para determinar si está sobrecomprado o sobrevendido para filtrar las señales comerciales no reversivas.
En el indicador KST, ROC representa la tasa de cambio de precios, calculando los ROC de 6 días, 10 días, 15 días y 20 días respectivamente, y realizando una suma ponderada después de la suavización de la media móvil de diferentes parámetros para construir el indicador KST.
Cuando la línea rápida cruza por encima de la línea lenta, se juzga como alcista; cuando la línea rápida cruza por debajo de la línea lenta, se juzga como bajista.
Esta estrategia utiliza KST>0 para juzgar al alza y KST<0 para juzgar al bajista.
Las señales de juicio de la estrategia de reversión 123 y el indicador KST se combinan:
Se puede ver que esta estrategia utiliza de manera integral dos tipos diferentes de indicadores técnicos, el patrón de inversión y el juicio del indicador, y combina sus puntos fuertes de la señal para diseñar una estrategia de negociación cuantitativa más avanzada.
Se pueden utilizar métodos como el ajuste de parámetros, la optimización de la lógica de inversión, la introducción de un mecanismo de stop loss para controlar los riesgos.
Esta estrategia integra múltiples tipos diferentes de indicadores técnicos. A través de la confirmación dual y la optimización de combinaciones, diseña científicamente una estrategia comercial cuantitativa relativamente fuerte, y es un modelo de combinación de estrategias. Su rendimiento en el comercio en vivo aún no se ha verificado, pero desde la perspectiva de conceptualización teórica, considera ampliamente múltiples escenarios, resuelve las limitaciones de indicadores individuales y vale la pena investigar y aplicar más.
/*backtest start: 2023-10-22 00:00:00 end: 2023-11-21 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 23/03/2021 // This is combo strategies for get a cumulative signal. // // First strategy // This System was created from the Book "How I Tripled My Money In The // Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies. // The strategy buys at market, if close price is higher than the previous close // during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. // The strategy sells at market, if close price is lower than the previous close price // during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50. // // Second strategy // This indicator really is the KST indicator presented by Martin Pring. // the KST indicator is a weighted summed rate of change oscillator that // is designed to identify meaningful turns. Various smoothed rate of change // indicators can be combined to form different measurements of cycles. // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// Reversal123(Length, KSmoothing, DLength, Level) => vFast = sma(stoch(close, high, low, Length), KSmoothing) vSlow = sma(vFast, DLength) pos = 0.0 pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1, iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) pos MROC() => pos = 0.0 xROC6 = sma(roc(close, 6), 10) xROC10 = sma(roc(close, 10), 10) xROC15 = sma(roc(close, 15), 9) xROC20 = sma(roc(close, 20), 15) nRes = xROC6 + (2 * xROC10) + (3 * xROC15) + (4 * xROC20) pos := iff(nRes > 0, 1, iff(nRes < 0, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & MovROC (KST indicator)", shorttitle="Combo", overlay = true) line1 = input(true, "---- 123 Reversal ----") Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posMROC = MROC() pos = iff(posReversal123 == 1 and posMROC == 1 , 1, iff(posReversal123 == -1 and posMROC == -1, -1, 0)) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1 , 1, pos)) if (possig == 1 ) strategy.entry("Long", strategy.long) if (possig == -1 ) strategy.entry("Short", strategy.short) if (possig == 0) strategy.close_all() barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )