Estrategia de ruptura de la inversión de precios de la media móvil doble

El autor:¿ Qué pasa?, Fecha: 2023-12-07 18:15:12
Las etiquetas:

img

Resumen general

La estrategia de ruptura de inversión de precio de media móvil doble combina señales de negociación duales para identificar oportunidades de entrada de mayor calidad. Primero utiliza una media móvil de 9 días y sus rieles superior e inferior para construir un marco básico de ruptura, luego introduce un indicador estocástico para filtrar señales después de juzgar la dirección de la oportunidad utilizando 123 patrones, y finalmente forma una regla de entrada relativamente estricta. Este tipo de método de filtrado de combinación puede reducir efectivamente la frecuencia de negociación al tiempo que garantiza la calidad de la señal, que es adecuada para la tenencia a medio y largo plazo.

Principios

La estrategia de ruptura de la inversión de precios de la media móvil doble consta de dos subestrategias.

La primera subestrategia es el juicio del patrón 123. Esta estrategia utiliza la relación del precio de cierre en los dos días anteriores para juzgar la dirección probable de la futura ruptura de precios. Si el precio de cierre de hoy aumenta en comparación con el precio de cierre del día anterior, mientras que el precio de cierre del día anterior cayó en comparación con el precio de cierre de hace dos días, se considera una señal de compra; si el precio de cierre de hoy cae en comparación con el precio de cierre del día anterior, mientras que el precio de cierre del día anterior aumentó en comparación con el precio de cierre de hace dos días, se considera una señal de venta. Se cree que este patrón refleja el punto de inflexión clave donde el sentimiento a corto plazo pasa de pesimista a optimista o de optimista a pesimista. Aquí re-verificamos las señales de compra y venta utilizando el indicador estocástico, y generamos la operación final cuando el indicador estocástico también da una señal correspondiente de sobreventa o sobreventa.

La segunda subestrategia es la ruptura del canal de promedio móvil desplazado. Esta estrategia primero calcula la línea de promedio móvil exponencial del ciclo especificado (como 9 días), y luego agrega un cierto porcentaje por encima y por debajo de ella como los carriles superiores e inferiores del canal. Si el precio rompe el carril superior, se genera una señal de venta. Si el precio rompe el carril inferior, se genera una señal de compra. Aquí el ancho de expansión y contracción de los carriles superiores e inferiores se puede controlar por el factor porcentual para ajustar la frecuencia de la señal.

Finalmente, sólo cuando las direcciones de la señal de las dos subestrategias son consistentes, es decir, la señal de inversión 123 y la señal de ruptura del canal están en la misma dirección, se generará finalmente una señal real para guiar la negociación real.

Análisis de ventajas

La estrategia de ruptura de los precios de la media móvil doble combina múltiples métodos analíticos y tiene las siguientes ventajas:

  1. El mecanismo de filtro de señales dual puede reducir eficazmente las señales no válidas y hacer que cada operación sea de mayor calidad.

  2. El juicio de patrón 123 pertenece a una estrategia de inversión a corto plazo, mientras que la ruptura del canal desplazado pertenece a una estrategia de seguimiento de tendencias a mediano y largo plazo.

  3. Al ajustar el ancho de los carriles superior e inferior del canal, la frecuencia de la señal se puede controlar libremente para adaptarse a diferentes preferencias comerciales.

  4. El uso de la media móvil de 9 días como la línea media del canal, la selección de parámetros es más razonable para evitar señales excesivamente frecuentes.

  5. Al aplicar las zonas de sobrecompra y sobreventa del indicador estocástico, se evita quedar atrapado en un mercado de choque.

Análisis de riesgos

La estrategia de ruptura de los precios de inversión de la media móvil doble también presenta algunos riesgos, principalmente en los siguientes aspectos:

  1. El mecanismo de señal de doble filtrado pierde algunas oportunidades que una estrategia unilateral puede capturar, con cierto riesgo de falta de órdenes.

  2. Los puntos de compra y venta no pueden filtrar completamente todas las falsas rupturas. El uso inadecuado puede llevar a pérdidas.

  3. En el caso de un cambio violento del mercado, las configuraciones incorrectas de stop loss pueden provocar grandes pérdidas.

  4. La lógica de la condición ifft es compleja. Los parámetros incorrectos son propensos a errores lógicos, lo que resulta en juicios de señal inválidos.

  5. Los datos fuera de la muestra afectan a la estabilidad de los parámetros, lo que requiere una optimización dinámica de los parámetros.

Direcciones de optimización

Todavía hay espacio para la optimización en la estrategia de ruptura de inversión de precios de media móvil doble:

  1. Se pueden probar diferentes tipos de medias móviles para seleccionar combinaciones de parámetros con una mejor y más estable calidad de señal.

  2. Los canales de ancho adecuado pueden seleccionarse de acuerdo con las características de los datos específicos del producto.

  3. Las pérdidas de parada dinámicas se pueden combinar para controlar la relación de pérdida máxima.

  4. Se pueden introducir modelos de aprendizaje automático para la optimización de parámetros dinámicos para hacer que la estrategia sea más robusta.

  5. Se pueden añadir filtros basados en el volumen de operaciones o la volatilidad para evitar entradas y salidas excesivamente frecuentes en condiciones de mercado turbulentas.

Conclusión

A través del mecanismo de filtrado de doble verificación, la Estrategia de Breakout de Reversión de Precio de Promedio Móvil Doble combina con éxito la reversión a corto plazo y el seguimiento de tendencias a mediano y largo plazo para formar un sistema de negociación eficiente que puede filtrar eficazmente las señales inválidas y seleccionar oportunidades de alta calidad para ingresar, y tiene una personalización relativamente fuerte.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/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
// Moving Average Displaced Envelope. These envelopes are calculated 
// by multiplying percentage factors with their displaced expotential 
// moving average (EMA) core.
// How To Trade Using:
// Adjust the envelopes percentage factors to control the quantity and 
// quality of the signals. If a previous high goes above the envelope 
// a sell signal is generated. Conversely, if the previous low goes below 
// the envelope a buy signal is given.
//
// 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


MADE(Price,Period, perAb, perBl, disp) =>
    pos = 0.0
    sEMA = ema(Price, Period)
    top = sEMA[disp] * ((100 + perAb)/100)
    bott = sEMA[disp]* ((100 - perBl)/100)
    pos := iff(close < bott , 1,
    	     iff(close > top, -1, pos[1])) 
    pos

strategy(title="Combo Backtest 123 Reversal & MA Displaced Envelope", 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)
//-------------------------
line2 = input(true, "---- MA Displaced Envelope ----")
Price = input(title="Source", type=input.source, defval=close)
Period =input(defval=9, minval=1)
perAb = input(title = "Percent above", defval=.5, minval=0.01, step = 0.1)
perBl = input(title = "Percent below", defval=.5, minval=0.01, step = 0.1)
disp = input(title = "Displacement", defval=13, minval=1) 
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMADE = MADE(Price,Period, perAb, perBl, disp)
pos = iff(posReversal123 == 1 and posMADE == 1 , 1,
	   iff(posReversal123 == -1 and posMADE == -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.