Estrategia de media móvil bidireccional de reversión y impulso

El autor:¿ Qué pasa?, Fecha: 2023-11-06 16:18:18
Las etiquetas:

img

Resumen general

Esta estrategia combina las reglas de inversión de trading con indicadores de impulso. Integra la inversión bidireccional y el Oscilador de Momentum de Chande para identificar oportunidades de inversión mientras verifica las señales de impulso para generar señales de trading más confiables.

Estrategia lógica

La estrategia consta de dos partes:

La primera parte son las reglas bidireccionales de reversión de la negociación. Identifica las oportunidades de reversión mediante la detección de los cambios de precio de cierre en los dos días anteriores. Específicamente, si los precios de cierre disminuyeron en los dos días anteriores, y el precio de cierre actual es más alto que el cierre anterior, y el Oscilador Estocástico está por debajo de un umbral, desencadena una señal de compra. Por el contrario, si los precios de cierre aumentaron en los dos días anteriores, y el precio de cierre actual es más bajo que el cierre anterior, y el Oscilador Estocástico está por encima de un umbral, desencadena una señal de venta.

La segunda parte es el Oscilador de Momento de Chande. Compara la magnitud del cambio de precio con la magnitud promedio en un período determinado para determinar el impulso. Si el indicador de impulso está por encima de un límite superior, genera una señal de compra. Si está por debajo de un límite inferior, genera una señal de venta.

La estrategia combina reglas bidireccionales de inversión para localizar puntos de inversión potenciales, e indicador de impulso para verificar la validez de las señales de inversión.

Ventajas de la estrategia

  • El mecanismo de doble verificación mejora la fiabilidad de la señal al evitar señales falsas.

  • La combinación de la estrategia de inversión con la estrategia de tendencia proporciona flexibilidad para aprovechar las oportunidades tanto en los mercados de inversión como en los de tendencia.

  • Introducir el impulso evita caer en trampas de reversión al operar solo cuando el impulso se confirma.

  • Se pueden optimizar múltiples parámetros ajustables para diferentes condiciones de mercado.

Riesgos de la estrategia

  • Las señales de reversión pueden enfrentarse a grandes retrocesos, lo que requiere un stop loss razonable.

  • Es difícil determinar el momento exacto de las reversiones, puede causar errores de juicio.

  • El retraso de los indicadores de impulso puede causar la falta de los mejores puntos de entrada de inversión.

  • El ajuste de parámetros requiere una optimización cuidadosa basada en mercados específicos, configuraciones inadecuadas pueden aumentar los riesgos.

Los riesgos pueden reducirse mediante el uso de una parada de pérdida adecuada, una optimización de parámetros robusta, manteniendo cierto espacio en las condiciones de activación de la señal de inversión, etc.

Direcciones para la optimización

  • Prueba diferentes combinaciones de parámetros de inversión para encontrar parámetros sensibles a las reversiones del mercado.

  • Prueba diferentes indicadores de impulso, como el índice de crecimiento, la tasa de cambio de volumen, etc.

  • Añadir filtros como breakouts para evitar el comercio de puntos de inversión no clave.

  • Evaluar las estrategias de stop loss para encontrar los métodos máximos controlados por el descenso.

  • Evaluar las estrategias de dimensionamiento de posiciones para ajustar los tamaños de las posiciones en función de las condiciones del mercado.

Conclusión

La estrategia combina las ventajas de las estrategias de reversión y impulso, con señales confiables y flexibilidad para capturar oportunidades. Los parámetros se pueden optimizar, los riesgos se pueden gestionar a través de stop loss y dimensionamiento de posiciones para mejorar la estabilidad y la rentabilidad. En general, explora la integración efectiva de las estrategias de reversión y tendencia, y vale la pena investigar y aplicar más.


/*backtest
start: 2023-10-06 00:00:00
end: 2023-11-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/08/2019
// 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 plots Chande Momentum Oscillator. This indicator was 
//    developed by Tushar Chande. A scientist, an inventor, and a respected 
//    trading system developer, Mr. Chande developed the CMO to capture what 
//    he calls "pure momentum". For more definitive information on the CMO and 
//    other indicators we recommend the book The New Technical Trader by Tushar 
//    Chande and Stanley Kroll.
//    The CMO is closely related to, yet unique from, other momentum oriented 
//    indicators such as Relative Strength Index, Stochastic, Rate-of-Change, 
//    etc. It is most closely related to Welles Wilder`s RSI, yet it differs 
//    in several ways:
//        - It uses data for both up days and down days in the numerator, thereby 
//          directly measuring momentum;
//        - The calculations are applied on unsmoothed data. Therefore, short-term 
//          extreme movements in price are not hidden. Once calculated, smoothing 
//          can be applied to the CMO, if desired;
//        - The scale is bounded between +100 and -100, thereby allowing you to 
//          clearly see changes in net momentum using the 0 level. The bounded scale 
//          also allows you to conveniently compare values across different securities.
//
// 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

CMO(Length, TopBand, LowBand) =>
    pos = 0
    xMom = abs(close - close[1])
    xSMA_mom = sma(xMom, Length)
    xMomLength = close - close[Length]
    nRes = 100 * (xMomLength / (xSMA_mom * Length))
    pos :=  iff(nRes > TopBand, 1,
	         iff(nRes <= LowBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Chande Momentum Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthCMO = input(9, minval=1)
TopBand = input(70, minval=1)
LowBand = input(-70, maxval=-1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCMO = CMO(LengthCMO, TopBand, LowBand)
pos = iff(posReversal123 == 1 and posCMO == 1 , 1,
	   iff(posReversal123 == -1 and posCMO == -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.