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


Fecha de creación: 2023-11-06 16:18:18 Última modificación: 2023-11-06 16:18:18
Copiar: 0 Número de Visitas: 641
1
Seguir
1621
Seguidores

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

Descripción general

La estrategia es una combinación de estrategias que combinan la estrategia de reversión con el indicador de movimiento. Integra la estrategia de reversión bidireccional y el oscilador de movimiento de Chancellor, con el objetivo de detectar oportunidades de reversión al mismo tiempo que se verifica la señal de movimiento, lo que permite una señal de negociación más confiable.

Principio de estrategia

La estrategia tiene dos partes:

La primera parte es la estrategia de reversión bidireccional. La oportunidad de reversión se determina mediante la detección de los cambios en el precio de cierre de los dos días anteriores. En concreto, si el precio de cierre de los dos días anteriores disminuye, el precio de cierre del día anterior aumenta y el indicador aleatorio está por debajo del nivel establecido, se trata de una señal de compra. Por el contrario, si el precio de cierre de los dos días anteriores aumenta, el precio de cierre del día anterior disminuye y el indicador aleatorio está por encima del nivel establecido, se trata de una señal de venta.

La segunda parte es el oscilador de la dinámica de Sanchez. Se juzga la dinámica comparando la variación del precio con la magnitud de la variación promedio en un período determinado. Si el indicador de la dinámica es superior al límite superior establecido, es una señal de compra; si es inferior al límite inferior establecido, es una señal de venta.

La estrategia combina el uso de una inversión bidireccional para determinar el punto de inflexión y el indicador de movimiento para verificar la dinámica, y solo genera una señal de compra y venta real cuando ambas señales son sincronizadas.

Ventajas estratégicas

  • Mecanismo de verificación doble, evita señales falsas, mejora la fiabilidad de la señal. Estrategia de reversión para juzgar el punto de reversión potencial, indicadores de potencia para verificar la eficacia de la señal de reversión.

  • Las estrategias de reversión se combinan con estrategias de tendencia, para captar oportunidades de mercado con flexibilidad.

  • Introducir indicadores de dinámica para evitar la trampa de la inversión y negociar solo cuando se confirma la dinámica.

  • Se pueden ajustar varios parámetros y optimizarlos para diferentes mercados.

Riesgo estratégico

  • Las señales de retorno pueden tener una gran profundidad de retorno que requiere un deterioro razonable.

  • La captura del punto de inflexión requiere precisión, lo que puede conducir a errores de juicio.

  • El indicador de la dinámica se retrasa y puede perder el punto óptimo de reversión.

  • La configuración de los parámetros necesita ser cuidadosamente optimizada en función de los mercados específicos, y una configuración incorrecta puede aumentar el riesgo de transacción.

Se puede controlar la pérdida individual a través de un stop loss razonable. Optimizar la configuración de los parámetros, buscar la estabilidad de los parámetros. Reducir el riesgo mediante métodos como la relajación adecuada de las condiciones de activación de la señal de reversión y la reserva de cierto margen.

Dirección de optimización de la estrategia

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

  • Prueba con diferentes indicadores de dinámica, como el índice de fuerza relativa, el índice de cambio de volumen, etc.

  • Añadir condiciones de filtro, como breakouts, para evitar transacciones que no sean puntos de inflexión clave.

  • Evaluar las estrategias de detención de pérdidas para encontrar la mayor cantidad de pérdidas controlables que se puedan retirar.

  • Evaluar las estrategias de control de posiciones y ajustar el tamaño de las posiciones según las condiciones del mercado.

Resumir

La estrategia combina las ventajas de la estrategia de reversión y la estrategia de dinámica, con la ventaja de una alta fiabilidad de la señal y la flexibilidad para capturar oportunidades de mercado. A través de la optimización de parámetros, la gestión de pérdidas y el control de la posición, se puede reducir el riesgo y mejorar la estabilidad y la rentabilidad de la estrategia. En general, la estrategia explora de manera innovadora la combinación efectiva de la estrategia de reversión y la estrategia de tendencia, que merece mayor investigación y aplicación.

Código Fuente de la Estrategia
/*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 )