Esta estrategia utiliza principalmente el precio más alto, el precio más bajo y el promedio móvil exponencial (EMA) para confirmar las reversiones de tendencia y generar señales comerciales. La estrategia primero calcula los precios más altos y más bajos dentro de un período de retroceso especificado, luego determina si el precio de cierre actual está por debajo del precio más bajo correspondiente al precio más alto (confirmación de reversión bajista) o por encima del precio más alto correspondiente al precio más bajo (confirmación de reversión alcista). Una vez que aparece una señal de confirmación de reversión, la estrategia genera una señal de entrada correspondiente. La principal ventaja de esta estrategia es su capacidad para capturar oportunidades de reversión de tendencia, mientras que el principal riesgo es que después de que aparezca una señal de confirmación de reversión, los precios puedan experimentar fluctuaciones repetidas en lugar de una tendencia unidireccional.
La Estrategia de Negociación de Confirmación de Inversión de Multi-Timeframe identifica oportunidades potenciales de inversión de tendencia utilizando el precio más alto, el precio más bajo y la EMA, generando señales de entrada correspondientes. La ventaja de la estrategia es su capacidad para capturar inversiones de tendencia, pero también enfrenta problemas de comercio frecuente y control de riesgos insuficiente. Al introducir mecanismos de stop-loss y take-profit, combinando otros indicadores, optimización de parámetros y dimensionamiento de posición, se puede mejorar aún más el rendimiento y la estabilidad de la estrategia. En aplicaciones prácticas, los parámetros de la estrategia y las medidas de control de riesgos deben ajustarse de acuerdo con instrumentos comerciales específicos y entornos de mercado.
/*backtest start: 2023-05-05 00:00:00 end: 2024-05-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Reversal Confimation Strategy", overlay=true) // Indicator inputs lookback = input.int(50, 'Lookback Period', minval=1, step=1) downColor = input(color.red, 'Shape Color Down') upColor = input(color.green, 'Shape Color Up') // Indicator calculations find_highest = ta.highest(high, lookback) find_lowest = ta.lowest(low, lookback) ema = ta.ema(close, lookback) var dnRv = 0.0 var dnRv_trigger = false var upRv = 0.0 var upRv_trigger = false if high == find_highest dnRv_trigger := false if low == find_lowest upRv_trigger := false for i = 0 to lookback - 1 if high[i] == find_highest dnRv := low[i] for i = 0 to lookback - 1 if low[i] == find_lowest upRv := high[i] dnRv_signal = close < dnRv and dnRv_trigger == false upRv_signal = close > upRv and upRv_trigger == false if dnRv_signal dnRv_trigger := true if upRv_signal upRv_trigger := true // Entry and exit conditions if dnRv_signal strategy.entry("Sell", strategy.short) if upRv_signal strategy.entry("Buy", strategy.long) // Plotting plotshape(dnRv_signal ? 1 : 0, style=shape.triangledown, location=location.abovebar, color=downColor, size=size.small) plotshape(upRv_signal ? 1 : 0, style=shape.triangleup, location=location.belowbar, color=upColor, size=size.small)