Esta es una estrategia de negociación de reversión media basada en el precio promedio ponderado por volumen (VWAP) y los canales de desviación estándar. La estrategia identifica las oportunidades de negociación midiendo las desviaciones de precios del VWAP, entrando en posiciones contra tendencia cuando el precio rompe las bandas de desviación estándar y cerrando posiciones cuando el precio vuelve al VWAP. Este enfoque aprovecha las características de reversión media del mercado, combinando el análisis técnico y los principios estadísticos.
El mecanismo básico se basa en el cálculo de las desviaciones estándar del VWAP y de la volatilidad de precios para establecer los rangos de negociación.
Se trata de una estrategia de mercado neutral basada en principios estadísticos, capturando la desviación de precios y la reversión utilizando VWAP y canales de desviación estándar. La estrategia presenta características objetivas y sistemáticas, pero requiere atención al control de riesgos y optimización de parámetros en la aplicación práctica. La estabilidad y confiabilidad de la estrategia se pueden mejorar aún más mediante la adición de filtros de tendencia y mecanismos mejorados de gestión de riesgos.
/*backtest start: 2024-12-03 00:00:00 end: 2024-12-10 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © jklonoskitrader //@version=5 strategy("ETHUSD VWAP Fade Strategy", overlay=true) // Input for standard deviation multiplier std_multiplier = input.float(2.0, title="Standard Deviation Multiplier") // Calculate cumulative VWAP cumulative_pv = ta.cum(close * volume) // Cumulative price * volume cumulative_vol = ta.cum(volume) // Cumulative volume vwap = cumulative_pv / cumulative_vol // VWAP calculation // Calculate standard deviation of the closing price length = input.int(20, title="Standard Deviation Length") std_dev = ta.stdev(close, length) upper_band = vwap + std_multiplier * std_dev lower_band = vwap - std_multiplier * std_dev // Plot VWAP and its bands plot(vwap, color=color.blue, linewidth=2, title="VWAP") plot(upper_band, color=color.red, linewidth=1, title="Upper Band") plot(lower_band, color=color.green, linewidth=1, title="Lower Band") // Strategy conditions go_long = ta.crossunder(close, lower_band) go_short = ta.crossover(close, upper_band) // Execute trades if (go_long) strategy.entry("Long", strategy.long) if (go_short) strategy.entry("Short", strategy.short) // Exit strategy if (strategy.position_size > 0 and close > vwap) strategy.close("Long") if (strategy.position_size < 0 and close < vwap) strategy.close("Short")