La estrategia de promedio móvil exponencial de puntos de giro dinámicos de reversión combina los niveles de reversión y de resistencia de soporte dinámico. Utiliza el oscilador estocástico para identificar los puntos de reversión del mercado y calcula el soporte/resistencia diario basado en los precios altos, bajos y cerrados del día anterior.
La estrategia de reversión se basa en la lógica de que cuando los mercados se vuelven sobrecomprados o sobrevendidos, los precios tienden a volver al rango de valor.
Ir largo cuando el cierre ha sido más alto que el cierre anterior durante 2 días consecutivos y la línea Slow K de 9 días está por debajo de 50; Ir corto cuando el cierre ha sido más bajo que el cierre anterior durante 2 días consecutivos y la línea Fast K de 9 días está por encima de 50.
La estrategia de puntos de pivote dinámicos calcula los niveles de soporte y resistencia del día actual basándose en los precios altos, bajos y cerrados de los días anteriores.
Punto de giro = (alto + bajo + cerrado) / 3
El soporte 1 = Punto de pivote - (Punto de pivote más alto)
Resistencia 1 = Punto de pivote + (Punto de pivote - bajo)
Va largo cuando el cierre es mayor que la Resistencia 1 y va corto cuando el cierre es menor que el Soporte 1.
Esta estrategia combina las estrategias de inversión y puntos de giro dinámicos. Solo entra en posiciones cuando las señales de ambas estrategias se alinean. Esto ayuda a filtrar algunas señales falsas y mejora la estabilidad.
La mayor ventaja de esta estrategia es que combina las fortalezas de las estrategias de inversión y dinámicas de S/R - puede beneficiarse de importantes inversiones de tendencia y también identificar niveles clave de soporte y resistencia.
Además, la estrategia tiene pocos parámetros y es fácil de implementar y optimizar.
La estrategia también presenta los siguientes riesgos:
Reversión fallida: los precios pueden extenderse en exceso y continuar su tendencia a pesar de la señal de reversión.
El valor de la inversión se calcula como el valor de las inversiones en el mercado de valores.
Las señales dobles son demasiado conservadoras, faltan carreras, el mecanismo de señal doble puede filtrar demasiadas operaciones.
Contramedidas:
Ajusta los parámetros, combina otros factores para confirmar las reversiones.
Utilizar el stop loss para controlar la pérdida.
Ajustar las reglas para permitir más oportunidades comerciales.
La estrategia puede reforzarse en los siguientes ámbitos:
Prueba diferentes combinaciones de parámetros estocásticos para mejorar la sensibilidad en la identificación de las reversiones.
Pruebe diferentes promedios móviles o indicadores a más largo plazo para evaluar mejor la tendencia general.
Añadir otros factores para determinar la estructura del mercado, por ejemplo, los indicadores de volumen.
Optimice las reglas de doble señal para capturar más operaciones.
Incorporar el stop loss para gestionar los riesgos.
La estrategia de promedio móvil exponencial de puntos de giro dinámicos de inversión combina las fortalezas de la negociación de inversión y el análisis de resistencia de soporte dinámico. Puede beneficiarse de los principales puntos de inflexión de la tendencia y también medir la direccionalidad intradiaria contra los niveles clave. Al utilizar un mecanismo de doble señal, tiene una buena estabilidad para filtrar las operaciones falsas. La estrategia se puede optimizar aún más ajustando los parámetros, probando filtros adicionales, etc. para mejorar el rendimiento.
/*backtest start: 2023-11-07 00:00:00 end: 2023-12-07 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 25/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 Pivot points is calculated on the current day. // Pivot points simply took the high, low, and closing price from the previous period and // divided by 3 to find the pivot. From this pivot, traders would then base their // calculations for three support, and three resistance levels. The calculation for the most // basic flavor of pivot points, known as ‘floor-trader pivots’, along with their support and // resistance levels. // // 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 DPP() => pos = 0 xHigh = security(syminfo.tickerid,"D", high[1]) xLow = security(syminfo.tickerid,"D", low[1]) xClose = security(syminfo.tickerid,"D", close[1]) vPP = (xHigh+xLow+xClose) / 3 vR1 = vPP+(vPP-xLow) vS1 = vPP-(xHigh - vPP) pos := iff(close > vR1, 1, iff(close < vS1, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Dynamic Pivot Point", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posDPP = DPP() pos = iff(posReversal123 == 1 and posDPP == 1 , 1, iff(posReversal123 == -1 and posDPP == -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 )