123 Convergencia de media móvil inversa Divergencia estrategia de combinación

El autor:¿ Qué pasa?, Fecha: 2023-11-22 14:49:41
Las etiquetas:

img

Resumen general

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.

Principio de la estrategia

Mecanismo de formación inversa

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.

Principio del indicador KST

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.

Fusión de señales

Las señales de juicio de la estrategia de reversión 123 y el indicador KST se combinan:

  • Si ambas señales son las mismas, se genera una señal comercial en esa dirección
  • Si las dos señales son diferentes, no se realiza ninguna negociación

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.

Ventajas de la estrategia

  • La parte de reversión puede identificar eficazmente los puntos de inflexión, y la parte de indicador puede rastrear las tendencias, complementándose entre sí
  • El filtrado con indicadores duales puede mejorar la calidad de la señal y reducir las señales falsas
  • Ajuste flexible de los parámetros del KST para la optimización de las poblaciones de diferentes ciclos
  • Puede adaptarse a las existencias de alta volatilidad, también se puede utilizar para las existencias relativamente estables

Riesgos de la estrategia

  • Riesgo de fallo de la inversión, la señal de reversión también puede ser un fallo
  • Algunas oportunidades pueden perderse después de la fusión de señales
  • Los parámetros incorrectos de KST pueden interferir en gran medida con los resultados
  • Cuando el precio de las acciones fluctúa bruscamente, KST se retrasa, pueden aparecer señales inconsistentes

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.

Dirección de optimización

  • Optimización de los parámetros estocásticos
  • Optimizar los parámetros de longitud de la línea KST
  • Añadir filtro de volumen de operaciones o índice de volatilidad
  • Añadir juicio de tendencia para evitar el comercio contra tendencia
  • Introducción de un mecanismo de stop loss

Conclusión

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 )

Más.