La estrategia de Fusion combina una estrategia de patrón de reversión y una estrategia de ruptura alta y baja en un sistema de negociación cuantitativo. Mediante la síntesis de señales de indicadores en diferentes plazos, tiene como objetivo lograr una ventaja de capital de varios plazos y generar rendimientos excedentarios a medio y largo plazo.
La estrategia de fusión consta de dos componentes:
123 Estrategia de reversión
Esta estrategia se origina a partir de la idea en la página 183 del libro
Estrategia de ruptura baja y alta Esta estrategia identifica las señales de negociación mediante la detección de las rupturas de precios más allá de los niveles altos / bajos anteriores en diferentes períodos de tiempo. Cálcula el máximo más alto y el mínimo más bajo en los períodos actual y anterior y genera señales de compra cuando el precio se rompe por encima del máximo, y señales de venta cuando el precio se rompe por debajo del mínimo. La ventaja de esta estrategia es su capacidad para identificar los cambios de patrón de tendencia en marcos de tiempo más altos, lo que permite una entrada más temprana.
La estrategia Fusion combina las señales de las dos estrategias anteriores y genera señales comerciales reales solo cuando las direcciones de la señal se alinean.
La síntesis de marcos de tiempo múltiples mejora la precisión de la señal La integración de patrones diarios y de marcos de tiempo más largos mejora la precisión de la generación de señales comerciales, evitando la distracción por los ruidos del mercado a corto plazo.
Utiliza plenamente el juicio sobrecomprado/sobrevendido de Stochastic El uso del indicador estocástico lento evita la compra ansiosa en zonas de sobrecompra. El indicador estocástico rápido evita la venta ansiosa en zonas de sobreventa. Se reducen las pérdidas innecesarias.
Detecta los patrones de tendencia a tiempo, reduciendo las oportunidades perdidas La estrategia de ruptura alta y baja identifica el inicio de la tendencia en marcos de tiempo más altos antes, reduciendo las oportunidades comerciales perdidas.
Optimización flexible con múltiples subestrategias Con múltiples subestrategias, el enorme espacio de optimización permite ajustar los parámetros de las subestrategias o introducir otras nuevas para hacer que la estrategia sea más estable y confiable.
Una lógica sencilla y clara La estructura y la lógica sencillas hacen que la estrategia sea fácil de entender, modificar y mantener en el futuro.
La síntesis de marcos de tiempo múltiples causa retraso en la señal Aunque se mejora la precisión, la combinación de señales a través de marcos de tiempo induce un retraso y puede perder oportunidades comerciales a corto plazo.
123 patrones no pueden identificar reversiones de tendencia en plazos más largos La estrategia 123 de reversión solo analiza los últimos días y no tiene en cuenta los puntos clave de reversión en plazos más largos.
La configuración incorrecta de los parámetros puede causar señales falsas El mal ajuste de los parámetros de los períodos estocásticos y de ruptura podría dar lugar a señales falsas excesivas.
Puro técnico, débil adaptabilidad a eventos extremos Sin considerar los fundamentos, la estrategia se adapta mal a los eventos del cisne negro.
Soluciones correspondientes:
Acortar los períodos de cálculo adecuadamente para reducir el retraso.
Trate de introducir indicadores o patrones a largo plazo como filtros.
Optimizar los parámetros y probar la robustez a fondo en las pruebas de retroceso.
Considere la posibilidad de incorporar factores fundamentales para el filtrado de señales.
Prueba y optimización de los parámetros de las subestrategias de robustez.
Incorporar señales adicionales como los fundamentos, el flujo de efectivo, etc.
Introduzca el stop loss para limitar la pérdida máxima por operación.
Parámetros de ajuste fino para productos específicos para mejorar la adaptabilidad.
Ayudar con modelos de aprendizaje automático.
En resumen, la estrategia Fusion combina las ventajas de los indicadores técnicos de marcos de tiempo múltiples, con el objetivo de generar señales más precisas y oportunas. En comparación con las estrategias de indicadores únicos, tiene una capacidad superior de detección de tendencias y una producción de señales más robusta. Pero también sufre retrasos e inadecuada adaptabilidad a eventos extremos. Las mejoras futuras podrían provenir de más herramientas auxiliares, una mejor optimización de parámetros y una mejora de la estabilidad y la rentabilidad.
/*backtest start: 2023-10-10 00:00:00 end: 2023-11-09 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 25/11/2020 // 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 script shows a high and low period value. // Width - width of lines // SelectPeriod - Day or Week or Month and etc. // LookBack - Shift levels 0 - current period, 1 - previous and etc. // // 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 HLL(LookBack, SelectPeriod) => pos = 0.0 xHigh = security(syminfo.tickerid, SelectPeriod, high[LookBack]) xLow = security(syminfo.tickerid, SelectPeriod, low[LookBack]) vS1 = xHigh vR1 = xLow pos := iff(close > vR1, 1, iff(close < vS1, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & High and Low Levels", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- SelectPeriod = input(title="Resolution", type=input.resolution, defval="D") LookBack = input(1, minval=0) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posHLL = HLL(LookBack, SelectPeriod) pos = iff(posReversal123 == 1 and posHLL == 1 , 1, iff(posReversal123 == -1 and posHLL == -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 )