Esta estrategia combina el índice del oscilador de momento y el patrón 123 en una señal comercial acumulativa para mejorar la rentabilidad. El oscilador de momento rastrea la volatilidad del mercado y ajusta los parámetros del RSI para capturar tendencias a corto plazo. El patrón 123 forma señales comerciales al identificar máximos y mínimos menores de precios en el corto plazo. La combinación de ambas estrategias permite que la estrategia mantenga el rendimiento en diferentes entornos de mercado.
El patrón 123 consta de tres etapas. Primero, el precio baja durante dos días consecutivos. Segundo, el precio sube durante los próximos dos días. Finalmente, el precio vuelve a bajar el tercer día. De acuerdo con este patrón, podemos determinar establecer una posición larga cuando los precios aumentan en la segunda etapa, y una posición corta cuando los precios vuelven a caer en la tercera etapa.
Específicamente, si el precio de cierre es más alto que el cierre anterior durante dos días consecutivos después de dos días de declive, y el Stochastic Slow de 9 días está por debajo de 50, es una señal de compra.
El número de períodos depende de la volatilidad de los precios recientes: una mayor volatilidad conduce a períodos más cortos, lo que hace que el indicador sea más sensible, mientras que los precios estables conducen a períodos más largos para reducir las señales falsas.
La fórmula de cálculo es la siguiente:
DMI = RSI(DTime)
Where:
DTime = 14 / 10-day SMA of standard deviation of close over past 5 days
Comparte los mismos umbrales de sobrecompra/sobreventa que el RSI:
Sobrecomprado: DMI > 30 Sobreventa: DMI < 70
Las señales de compra y venta se generan cuando el DMI cruza estos umbrales.
El patrón 123 es simple y efectivo, utiliza patrones de reversión a corto plazo para entrar en mínimos menores y salir en máximos menores, evitando tomar posiciones contra la tendencia.
El oscilador de impulso es más sensible, su período variable le permite adaptarse al mercado y capturar puntualmente los puntos de inflexión incluso durante una alta volatilidad.
Las dos estrategias ayudan a filtrar las señales falsas de manera efectiva.
El uso de DMI como filtro junto con el patrón 123 mejora enormemente la estabilidad del sistema.
Tanto el DMI como el patrón 123 pueden generar señales falsas cuando los precios fluctúan temporalmente en lugar de revertirse.
El DMI tiene una frecuencia de negociación potencialmente alta. Los períodos variables del DMI lo hacen extremadamente sensible al ruido del mercado. Los parámetros necesitan una ajuste adecuado para controlar la frecuencia de negociación.
El patrón puede perder oportunidades de tendencia a mediano plazo. Captura principalmente reversiones a corto plazo y no puede beneficiarse de manera constante de tendencias a mediano y largo plazo.
Necesidad de limitar las operaciones máximas. Muchas operaciones pueden resultar en altas comisiones y costos de deslizamiento.
Optimiza los parámetros del DMI, puede probar diferentes períodos del RSI, valores de umbral para encontrar la mejor combinación.
Puede probar diferentes parámetros de Stoch u otros filtros como MACD.
Agregue mecanismos de stop loss. Los tamaños de stop loss apropiados ayudan a limitar la caída en las operaciones perdedoras.
Añadir reglas de tamaño de posición. cantidad fija o tamaño de posición fraccionaria fija mejora el control del riesgo.
Esta estrategia combina el análisis del oscilador de momento y el patrón 123 para mejorar el rendimiento de las señales comerciales. Sin embargo, ninguna estrategia puede adaptarse perfectamente a las condiciones cambiantes del mercado. Los inversores deben centrarse en controlar los riesgos, probar constantemente y actualizar los parámetros basados en resultados en vivo para que la rentabilidad pueda mantenerse.
/*backtest start: 2024-01-17 00:00:00 end: 2024-01-24 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 18/03/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 indicator plots Dynamic Momentum Index indicator. The Dynamic Momentum // Index (DMI) was developed by Tushar Chande and Stanley Kroll. The indicator // is covered in detail in their book The New Technical Trader. // The DMI is identical to Welles Wilder`s Relative Strength Index except the // number of periods is variable rather than fixed. The variability of the time // periods used in the DMI is controlled by the recent volatility of prices. // The more volatile the prices, the more sensitive the DMI is to price changes. // In other words, the DMI will use more time periods during quiet markets, and // less during active markets. The maximum time periods the DMI can reach is 30 // and the minimum is 3. This calculation method is similar to the Variable // Moving Average, also developed by Tushar Chande. // The advantage of using a variable length time period when calculating the RSI // is that it overcomes the negative effects of smoothing, which often obscure short-term moves. // The volatility index used in controlling the time periods in the DMI is based // on a calculation using a five period standard deviation and a ten period average // of the standard deviation. // // 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 DMI(RSILen, BuyZone,SellZone,UpLimit,LoLimit) => pos = 0 xStdDev = stdev(close, 5) xSMAStdDev = sma(xStdDev, 10) DTime = round(14 / xSMAStdDev - 0.5) xDMI = iff(DTime > UpLimit, UpLimit, iff(DTime < LoLimit, LoLimit, DTime)) xRSI = rsi(xDMI, RSILen) pos := iff(xRSI > BuyZone, 1, iff(xRSI < SellZone, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Dynamic Momentum Index", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- RSILen = input(14, minval=1) BuyZone = input(30, minval=1) SellZone = input(70, minval=1) UpLimit = input(30, minval=1) LoLimit = input(5, minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posDMI = DMI(RSILen, BuyZone,SellZone,UpLimit,LoLimit) pos = iff(posReversal123 == 1 and posDMI == 1 , 1, iff(posReversal123 == -1 and posDMI == -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 )