Esta estrategia combina la estrategia 123 de inversión, la estrategia DMI y la estrategia de promedio móvil para formar una estrategia de combinación efectiva. Puede realizar operaciones inversa en puntos de inversión de tendencia y seguir la tendencia cuando la tendencia continúa. Mientras tanto, utiliza el promedio móvil para filtrar e identificar las direcciones de tendencia del mercado para mejorar la tasa de ganancia de la estrategia.
123 estrategia de reversión: ir largo cuando el precio de cierre es superior al cierre anterior durante 2 días consecutivos y la línea lenta K de 9 días está por debajo de 50; ir corto cuando el precio de cierre es inferior al cierre anterior durante 2 días consecutivos y la línea rápida K de 9 días está por encima de 50.
Estrategia DMI: pasar a largo cuando +DI cruza por encima de -DI; pasar a corto cuando -DI cruza por debajo de +DI.
Estrategia de media móvil: ir largo cuando el precio de cierre cruza el nivel MA; ir corto cuando el precio de cierre cruza el nivel MA.
Posiciones abiertas cuando tres estrategias dan señales consistentes, de lo contrario cerrar posiciones.
La estrategia combina estrategias de tendencia y estrategias de reversión, que pueden capturar oportunidades de reversión y oportunidades de seguimiento de tendencia.
La combinación de múltiples estrategias mejora la tasa de ganancia. 123 inversión para detectar puntos de inflexión, DMI para detectar tendencias y filtro MA para filtrar señales.
La combinación de estrategias de reversión y tendencia permite detectar reversiones y tendencias de manera flexible.
El filtro MA reduce las señales falsas de las fluctuaciones a corto plazo.
Combinar múltiples estrategias verifica las señales y evita el fracaso de una sola estrategia.
Los múltiples parámetros permiten la optimización para la mejor combinación de parámetros y una mayor estabilidad.
Las estrategias de reversión son propensas a quedar atrapadas en tendencias de rango.
El DMI puede perder oportunidades de tendencia tempranas, puede acortar los parámetros del DMI para mejorar la sensibilidad.
La MA tiene un efecto retardante y puede retrasar la generación de la señal.
Aunque la combinación de estrategias mejora la tasa de ganancia, también aumenta la complejidad.
La estrategia es sensible a los costos de transacción.
Optimice los parámetros de cada estrategia para encontrar la mejor combinación.
Agregue otros indicadores como MACD, RSI para filtrar las señales y mejorar la estabilidad.
Agregue estrategias de stop loss como el stop loss para controlar los riesgos.
Optimizar el tamaño de la posición como el tamaño fijo / dinámico para mejorar el rendimiento.
Parámetros de ajuste fino para productos específicos para mejorar la adaptabilidad.
Añadir modelos de aprendizaje automático para ayudar a las decisiones y mejorar el rendimiento.
Esta estrategia forma un sistema de combinación flexible al combinar eficazmente las estrategias de inversión, tendencia y filtro MA. Puede capturar oportunidades tanto de inversión como de tendencia, y mejora la confiabilidad de la señal a través de múltiples estrategias. Todavía hay espacio para mejoras adicionales en parámetros, stop loss, dimensionamiento de posición, etc. Con una aplicación hábil, esta estrategia práctica y expandible puede generar ganancias considerables en el comercio en vivo.
/*backtest start: 2023-09-11 00:00:00 end: 2023-09-18 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 15/10/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 // The related article is copyrighted material from Stocks & Commodities Aug 2009 // // 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 fFilter(xSeriesSum, xSeriesV, Filter) => iff(xSeriesV > Filter, xSeriesSum, 0) DMIMA(Length_MA, Length_DMI) => pos = 0.0 xMA = sma(close, Length_MA) up = change(high) down = -change(low) trur = rma(tr, Length_DMI) xPDI = fixnan(100 * rma(up > down and up > 0 ? up : 0, Length_DMI) / trur) xNDI = fixnan(100 * rma(down > up and down > 0 ? down : 0, Length_DMI) / trur) nPDI = xPDI nNDI = xNDI nMA = xMA nPDI_1 = xPDI[1] nNDI_1 = xNDI[1] nMA_1 = xMA[1] bMDILong = iff(nPDI > nNDI and nPDI_1 < nNDI_1, true, iff(nPDI < nNDI and nPDI_1 > nNDI_1, false, false)) bMDIShort = iff(nPDI > nNDI and nPDI_1 < nNDI_1, false, iff(nPDI < nNDI and nPDI_1 > nNDI_1, true, false)) bMALong = iff(close > nMA and close[1] < nMA_1, true, iff(close < nMA and close[1] > nMA_1, false, false)) bMAShort = iff(close > nMA and close[1] < nMA_1, false, iff(close < nMA and close[1] > nMA_1, true, false)) pos := iff(bMDILong and bMALong, 1, iff(bMDIShort and bMAShort, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & DMI & Moving Average", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- Length_MA = input(30, minval=1) Length_DMI = input(14, minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posDMIMA = DMIMA(Length_MA,Length_DMI) pos = iff(posReversal123 == 1 and posDMIMA == 1 , 1, iff(posReversal123 == -1 and posDMIMA == -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 )