Estrategia de reversión de impulso de múltiples marcos de tiempo

El autor:¿ Qué pasa?, Fecha: 2023-10-30 10:42:54
Las etiquetas:

img

Resumen general

Esta estrategia combina indicadores de impulso a través de diferentes marcos de tiempo para identificar la inversión de tendencia en múltiples escalas de tiempo. Utiliza el oscilador estocástico para detectar reversiones a corto plazo y el indicador (más alto-más bajo) / cerrar para tendencias a medio y largo plazo, lo que permite la detección de reversión en múltiples dimensiones de tiempo.

Estrategia lógica

La estrategia consta de dos componentes:

  1. 123 Reversión

Utiliza el cruce de la línea rápida estocástica por debajo de la línea lenta junto con los patrones de reversión de precios para identificar las reversiones de tendencia a corto plazo. Específicamente, va largo cuando el precio cierra más alto que el cierre anterior y la línea rápida estocástica cruza por debajo de la línea lenta y por debajo de 50; va corto cuando el precio cierra más bajo que el cierre anterior y la línea rápida estocástica cruza por encima de la línea lenta y por encima de 50.

  1. Indicador de velocidad (más alto-menor)

Este indicador mide la volatilidad de la barra actual. Valores más altos sugieren una mayor volatilidad y reversiones potenciales, mientras que valores más bajos indican una disminución de la volatilidad y la continuación de la tendencia. La estrategia utiliza SMA de este indicador para identificar reversiones de tendencia a medio y largo plazo.

En combinación, los dos componentes permiten a la estrategia detectar reversiones en plazos cortos y medianos a largos.

Ventajas

  • Mejora de la precisión con indicadores de marcos de tiempo múltiples

    El uso de indicadores a corto y medio y largo plazo garantiza la fiabilidad de la señal y evita señales falsas.

  • Parámetros flexibles del indicador

    Los parámetros tanto del Estocástico como del (H-L) /C pueden ajustarse para los regímenes de mercado, lo que hace que la estrategia sea robusta.

  • Lógica simple e intuitiva

    Con Stochastic como núcleo y un filtro de tendencia, el marco es simple y fácil de entender.

  • Extensibilidad

    El marco sencillo permite incorporar fácilmente más indicadores para construir modelos multifactoriales.

Los riesgos

  • Puede tener un rendimiento inferior en una tendencia persistente

    La naturaleza de la inversión media hace que sea menos ideal para mercados con tendencias fuertes.

  • Riesgo de señales falsas

    El estocástico y (H-L) /C pueden emitir señales erróneas en mercados anormales.

  • El ajuste de indicadores requiere experiencia

    Los parámetros deben optimizarse para adaptarse a los mercados cambiantes, de lo contrario el rendimiento puede verse afectado.

  • Se requiere un tamaño de posición adecuado

    Como estrategia de inversión, es importante una gestión prudente del riesgo en el dimensionamiento de las posiciones.

Oportunidades de mejora

  • Más factores en el modelo multifactorial

    Se pueden añadir factores adicionales como el volumen, otros indicadores de inversión para crear modelos multifactoriales.

  • Implementar el stop loss

    El stop loss a tiempo o en movimiento podría ayudar a controlar la pérdida de una sola operación.

  • Optimización de parámetros

    Se pueden explorar métodos más sistemáticos de ajuste de parámetros como algoritmos genéticos.

  • Aprendizaje automático

    Los algoritmos de ML pueden ayudar a mejorar la precisión de la predicción de la inversión.

  • Análisis del sentimiento

    Incorporar datos alternativos como el sentimiento social podría ayudar a predecir las reversiones.

Conclusión

Esta estrategia combina indicadores a corto y mediano plazo para identificar reversiones a través de marcos de tiempo. Tiene ventajas como parámetros flexibles, estructura simple, extensibilidad. Los próximos pasos podrían incluir más factores, stop loss, optimización de parámetros, aprendizaje automático para mejorar aún más la rentabilidad y la gestión de riesgos. En general, esta es una estrategia innovadora que vale la pena investigar y aplicar.


//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/05/2019
// This is combo strategies for get 
// a cumulative signal. Result signal will return 1 if two strategies 
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// 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 histogram displays (high-low)/close
//  Can be applied to any time frame.
//
// 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

HLCHist(input_barsback, input_percentorprice, input_smalength) =>
    xPrice = (high-low)/close
    xPriceHL = (high-low)
    xPrice1 = iff(input_percentorprice, xPrice * 100, xPriceHL)
    xPrice1SMA = sma(abs(xPrice1), input_smalength)
    pos = 0.0
    pos := iff(xPrice1SMA[input_barsback] > abs(xPrice1), 1,
    	   iff(xPrice1SMA[input_barsback] < abs(xPrice1), -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & (H-L)/C Histogram", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
input_barsback = input(4, title="Look Back")
input_percentorprice = input(false, title="% change")
input_smalength = input(13, title="SMA Length")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posHLCHist = HLCHist(input_barsback, input_percentorprice, input_smalength)
pos = iff(posReversal123 == 1 and posHLCHist == 1 , 1,
	   iff(posReversal123 == -1 and posHLCHist == -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 ? red: possig == 1 ? green : blue ) 	   

Más.