Esta estrategia combina la estrategia 123 Reversal y la estrategia de media móvil CMO para generar señales comerciales combinadas. La estrategia 123 Reversal genera señales comerciales formando nuevos máximos o mínimos de los precios de cierre durante dos días consecutivos combinados con juicios sobre el impulso del mercado del Oscilador Estocástico. La estrategia de media móvil CMO utiliza el indicador CMO para determinar el impulso del precio y generar señales comerciales. La combinación de señales de ambas estrategias puede formar señales combinadas más confiables.
La estrategia 123 Reversal genera señales comerciales basadas en la siguiente lógica:
Cuando el precio de cierre sube durante dos días consecutivos y el Oscilador Estocástico de 9 días está por debajo de 50, vaya largo.
Cuando el precio de cierre cae durante dos días consecutivos y el Oscilador Estocástico de 9 días está por encima de 50, vaya corto.
Al juzgar si los precios han formado nuevos máximos o mínimos a corto plazo combinado con la indicación del Oscilador Estocástico sobre el impulso, se generan señales comerciales.
La estrategia de media móvil de la OCM genera señales de negociación basadas en la siguiente lógica:
Calcular los valores de la OMC durante 5, 10 y 20 días.
Tome el promedio.
Cuando el CMO promedio supera los 70, vaya largo.
Cuando el CMO promedio cae por debajo de -70, corta.
Al realizar operaciones conjuntas sobre valores de OCM de diferentes plazos, la estrategia determina la dirección del impulso de los precios y genera señales comerciales.
La estrategia combinada realiza una operación AND sobre las señales de las dos estrategias, lo que significa que las señales comerciales reales solo se activan cuando ambas estrategias dan señales de compra o venta simultáneamente.
Las ventajas de esta estrategia incluyen:
Las señales combinadas son más confiables con menos señales falsas.
123 La estrategia de reversión refleja las tendencias después de las correcciones a corto plazo.
La estrategia de promedio móvil de la OCM juzga el impulso en marcos de tiempo más largos.
Puede adaptarse a diferentes entornos de mercado.
Los riesgos de esta estrategia incluyen:
123 La estrategia de inversión depende en gran medida de los patrones de precios y puede fallar ocasionalmente.
El indicador de OCM es sensible a las fluctuaciones del mercado, que pueden generar señales erróneas.
Las señales de la estrategia combinada pueden ser demasiado conservadoras, perdiendo oportunidades comerciales.
Es necesario ajustar adecuadamente los parámetros para adaptarse a los diferentes ciclos y entornos del mercado.
Las contramedidas son:
Optimizar las reglas de reconocimiento de patrones de la estrategia de inversión.
Añadir otros indicadores auxiliares a la estrategia de media móvil de la OCM.
Evaluar dinámicamente el rendimiento reciente y ajustar los parámetros en consecuencia.
Esta estrategia puede mejorarse en los siguientes aspectos:
Utilice algoritmos de aprendizaje automático para optimizar automáticamente los pesos de la combinación.
Añadir módulos de ajuste adaptativos para optimizar dinámicamente los parámetros.
Añadir módulos de stop loss para controlar eficazmente los riesgos.
Evaluar la solidez de la estrategia y mejorar los algoritmos de reconocimiento de patrones.
Incorporar la selección de la industria, los fundamentos y otros factores.
Esta estrategia forma un sistema de comercio combinado efectivo a partir de dos estrategias altamente complementarias: la inversión 123 y el promedio móvil CMO. Con el control adecuado del riesgo, puede generar retornos alfa estables.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 19/09/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 average of three different length CMO's. 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 CMOav(Length1,Length2,Length3, TopBand, LowBand) => pos = 0 xMom = close - close[1] xMomabs = abs(close - close[1]) nSum1 = sum(xMom, Length1) nSumAbs1 = sum(xMomabs, Length1) nSum2 = sum(xMom, Length2) nSumAbs2 = sum(xMomabs, Length2) nSum3 = sum(xMom, Length3) nSumAbs3 = sum(xMomabs, Length3) nRes = 100 * (nSum1 / nSumAbs1 + nSum2 / nSumAbs2 + nSum3 / nSumAbs3 ) / 3 pos := iff(nRes > TopBand, 1, iff(nRes < LowBand, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & CMOav", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- Length1 = input(5, minval=1) Length2 = input(10, minval=1) Length3 = input(20, minval=1) TopBand = input(70, minval=1) LowBand = input(-70, maxval=-1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posCMOav = CMOav(Length1,Length2,Length3, TopBand, LowBand) pos = iff(posReversal123 == 1 and posCMOav == 1 , 1, iff(posReversal123 == -1 and posCMOav == -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 )