
La estrategia utiliza el indicador Williams Vix Fix (WVF) para identificar las subidas de volatilidad en el mercado, y la combinación con HMA200 (la media móvil de 200 ciclos de Hull) para la confirmación de la tendencia, y selecciona las señales de comercio de alta probabilidad a través del RSI (indicador de fuerza relativamente débil). La estrategia también está equipada con un mecanismo de seguimiento de pérdidas dinámico basado en ATR (la media real de la amplitud de la onda), que se activa después de alcanzar el umbral de ganancia previsto y equilibra eficazmente el riesgo y la ganancia.
El mecanismo de funcionamiento de la estrategia se basa en la sinergia de cuatro componentes centrales:
Williams Vix Fix (WVF)Como un disparador central de la estrategia, el WVF identifica los brotes de volatilidad en el mercado calculando la diferencia entre el precio actual y el porcentaje de los precios más altos de los últimos 22 períodos. Cuando el valor del WVF supera su banda de Brin en el camino o está por encima del porcentaje histórico, se considera una anomalía de volatilidad, que generalmente representa un pánico en el mercado o una sobreventa, que ofrece una oportunidad potencial de inversión.
El promedio móvil de Hull (HMA200): Se utiliza como filtro de tendencia principal para determinar la dirección de la tendencia del mercado mediante la comparación de la relación de la posición del precio con la HMA200. La estrategia solo permite hacer más cuando el precio está por encima de la HMA200, hacer un vacío cuando está por debajo de ella y la pendiente de la HMA es negativa, asegurando que la dirección de la negociación coincida con la tendencia principal.
Indicador de fuerza relativa (RSI): Proporciona una señal de confirmación de la dinámica para la estrategia. La entrada de más cabeza requiere un RSI superior a 35, mientras que la entrada de cabeza vacía requiere un RSI inferior a 20, y requiere que el RSI se encuentre por debajo de su promedio móvil de 21 ciclos del índice.
Sistema de detención de pérdidas de seguimiento ATR: Cuando el precio alcanza un nivel de ganancia específico, se activa el mecanismo de pérdida de cola. La posición de la cola utiliza una amplitud de cola de 1.75×ATR, la de la culata utiliza 1.0×ATR, al mismo tiempo que se establece un límite de pérdida de dureza para evitar pérdidas excesivas.
La lógica de entrada es: cuando se hace más, se debe satisfacer al mismo tiempo la subida de WVF, el RSI es mayor que 35, el precio está por encima de HMA200; cuando se hace un descuento, se debe satisfacer la subida de WVF, el RSI es menor que 20, el precio está por debajo de HMA200 y la inclinación de HMA es negativa, el RSI está por debajo de su EMA () 21), el precio está por debajo de EMA () 100), la distancia desde la última señal de descuento es de al menos 10 líneas K.
Mecanismo de filtración de varias capasLa estrategia construye un sistema de triple filtración mediante la combinación de la identificación de la volatilidad (WVF), la confirmación de la tendencia (HMA200) y la verificación de la dinámica (RSI), lo que mejora significativamente la fiabilidad de las señales de negociación y reduce las falsas rupturas y señales erróneas.
Diferenciación en la adaptabilidad del mercado: La estrategia establece diferentes parámetros para la dirección de la venta y la venta corta, reconociendo y adaptándose a la tendencia alcista del mercado. La negociación a balde adopta condiciones de entrada más estrictas y una configuración de stop loss más flexible para responder a la naturaleza rápida y violenta de la tendencia a la baja.
Gestión inteligente de riesgosEl sistema de suspensión de pérdidas de seguimiento dinámico basado en ATR es capaz de adaptarse a la volatilidad del mercado, protegiendo los márgenes de ganancias al mismo tiempo que da suficiente espacio de respiración a los precios para evitar que las fluctuaciones normales del mercado eliminen las posiciones ventajosas.
Capacidad de captura de fluctuacionesEl índice Williams Vix Fix es bueno para identificar situaciones de pánico y sobreventa en el mercado, lo que permite a la estrategia capturar oportunidades de reversión de alta probabilidad en períodos de extrema emoción en el mercado, lo que es especialmente valioso en momentos de agitación en el mercado.
Prevenir el exceso de comercioLa estrategia evita la generación de demasiada señal en un mercado convulso, reduciendo el riesgo de pérdidas continuas y ahorrando costos de transacción.
Identificación tardía de la reversión de la tendencia: La dependencia de medias móviles de largo plazo como la HMA200 puede causar una reacción tardía en los puntos de cambio de tendencia, lo que hace que la estrategia pierda el mejor momento de entrada o sufra pérdidas iniciales cuando la dirección del mercado cambia repentinamente. Se puede considerar la adición de indicadores de tendencia de corto plazo como confirmación auxiliar.
Desafío de las tasas de éxitoLos datos de retrospectiva muestran que la tasa de éxito de las operaciones en blanco es significativamente menor que la de las operaciones en blanco (30% vs 49.6%), aunque el beneficio promedio es alto, las operaciones en blanco que fracasan en una serie pueden causar presión psicológica y financiera en las cuentas. Se recomienda el uso de cautela o la prohibición temporal de las operaciones en blanco en mercados con fuertes alzas.
Sensibilidad de los parámetros: La estrategia utiliza varios parámetros fijos (como los mínimos RSI, los múltiplos ATR, etc.) que pueden variar en función de los valores óptimos en diferentes entornos de mercado. La optimización excesiva puede causar un rendimiento inferior de la estrategia en los datos extra-muestral, se recomienda volver a verificar periódicamente la eficacia de los parámetros.
Dependencia volátilEl mecanismo de activación central de la estrategia depende de las subidas de volatilidad en el mercado, que pueden generar menos señales de negociación en un entorno de baja volatilidad prolongada, lo que afecta a los ingresos generales. Se puede considerar la adición de una lógica de entrada alternativa en períodos de baja volatilidad.
Riesgo de pérdida de dureza: Los paros duros de los multiplicadores ATR fijos pueden ser fácilmente tocados en momentos de fuertes fluctuaciones en el mercado, lo que lleva a la forzosa liquidación antes de que los precios se vayan a invertir. Se puede considerar el ajuste dinámico de los niveles de paros en combinación con otros indicadores técnicos, o la implementación de estrategias de liquidación por lotes.
Los parámetros dinámicos se adaptan: La estrategia puede introducir mecanismos de ajuste de parámetros dinámicos basados en la volatilidad del mercado y la fuerza de la tendencia, por ejemplo, aumentar automáticamente el umbral y la distancia de parada del RSI en entornos de alta volatilidad, apretar los parámetros en entornos de baja volatilidad y mejorar la adaptabilidad ambiental de la estrategia.
Volumen y tiempo filtradosSe pueden agregar condiciones de confirmación de volumen de transacciones y filtración de tiempo, por ejemplo, ejecutar transacciones solo cuando hay un aumento de volumen de transacciones o en momentos específicos (por ejemplo, cuando el mercado está abierto, antes y después de la publicación de los principales datos económicos) para mejorar la calidad de la señal. La razón es que las fluctuaciones del mercado suelen ser más direccionales y continuas en estos momentos.
Confirmación de varios períodos de tiempoIntroducir tendencias y confirmaciones de movimiento en períodos de tiempo más altos puede mejorar significativamente la estabilidad de la estrategia. Por ejemplo, entrar en una posición solo cuando la tendencia de la línea del sol coincide con la dirección de la señal de 30 minutos puede reducir el riesgo de negociación en contra.
Mejoras en el aprendizaje automático: Puede aplicar algoritmos de aprendizaje automático para predecir dinámicamente los parámetros de entrada y los niveles de parada óptimos, ajustar los parámetros de la estrategia en tiempo real en función de los patrones históricos y el estado actual del mercado, mejorar la adaptabilidad y la estabilidad de la estrategia.
La confluencia de los indicadores emocionales: La integración de indicadores de sentimiento de mercado (como el ratio de volumen de transacción, el ratio de opciones de interés/de interés, etc.) puede proporcionar una confirmación adicional para el WVF y mejorar la precisión de las predicciones de los puntos de inflexión del mercado. Estos indicadores suelen reflejar los cambios en el sentimiento del mercado con anticipación y complementan las características atrasadas del WVF como indicadores líderes.
VixFix es una estrategia de trading integral que combina la identificación de la volatilidad del mercado, la confirmación de la tendencia y la filtración de la dinámica para capturar las oportunidades de aumento de la volatilidad del mercado a través del indicador Williams Vix Fix, y la confirmación de la dirección y la dinámica utilizando HMA200 y RSI, junto con la gestión de riesgos del mecanismo de suspensión de pérdidas de seguimiento adaptativo basado en ATR. La estrategia optimiza los parámetros de configuración de la dirección multivariable, especialmente para fortalecer las condiciones de filtración de las operaciones en blanco, en respuesta a la tendencia alcista del mercado de criptomonedas.
La mayor ventaja de esta estrategia reside en su sistema de filtración de señales multicapa y su mecanismo de gestión de riesgos flexible, que permite capturar oportunidades de reversión en un entorno de mercado altamente volátil y controlar los riesgos de manera efectiva. Los principales riesgos incluyen problemas como el retraso en la identificación de tendencias, la baja tasa de éxito de los desvíos y la sensibilidad de los parámetros.
En general, la estrategia muestra cómo construir un sistema de negociación completo mediante la combinación de diferentes tipos de indicadores técnicos y mecanismos de gestión de riesgos refinados, especialmente adecuados para un entorno de mercado con mucha volatilidad. En la práctica, la combinación de fundamentos y una perspectiva macroeconómica, junto con reglas razonables de gestión de fondos, puede mejorar aún más el valor práctico de la estrategia.
/*backtest
start: 2024-07-08 00:00:00
end: 2025-07-04 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("CM_VixFix_RSI_HMA200_TrailStop_vFinal", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === INPUTS ===
hmaLen = input.int(200, title="HMA Length")
rsiLen = input.int(14, title="RSI Length")
rsiLongTrigger = input.int(35, title="RSI Long Trigger Level")
rsiShortTrigger = input.int(20, title="RSI Short Trigger Level")
atrLen = input.int(14, title="ATR Length")
atr = ta.atr(atrLen)
// === Long Trailing Parameters
trailTriggerL = input.float(2.5, title="Long Trail Trigger (xATR)")
trailOffsetL = input.float(1.75, title="Long Trail Offset (xATR)")
hardStopL = input.float(2.5, title="Long Hard Stop (xATR)")
// === Short Trailing Parameters
trailTriggerS = input.float(1.2, title="Short Trail Trigger (xATR)")
trailOffsetS = input.float(1.0, title="Short Trail Offset (xATR)")
hardStopS = input.float(3.0, title="Short Hard Stop (xATR)")
maxBarsShort = input.int(10, title="Min Bars Between Short Signals")
// === VIX FIX Settings
pd = input.int(22, title="Lookback Period")
bbl = input.int(20, title="Bollinger Length")
mult = input.float(2.0, title="StdDev Multiplier")
lb = input.int(50, title="Percentile Lookback")
ph = input.float(0.97, title="Range High Percentile")
// === WVF VixFix
wvf = ((ta.highest(close, pd) - low) / ta.highest(close, pd)) * 100
rangeHigh = ta.percentile_nearest_rank(wvf, lb, ph)
upperBand = ta.sma(wvf, bbl) + ta.stdev(wvf, bbl) * mult
vixSpike = wvf >= upperBand or wvf >= rangeHigh
// === HMA & RSI & Filters
wma1 = ta.wma(close, hmaLen / 2)
wma2 = ta.wma(close, hmaLen)
diff = 2 * wma1 - wma2
hma = ta.wma(diff, math.round(math.sqrt(hmaLen)))
hmaSlope = hma - hma[5]
plot(hma, title="HMA", color=color.orange, linewidth=2)
rsi = ta.rsi(close, rsiLen)
rsiEMA = ta.ema(rsi, 21)
priceEMA = ta.ema(close, 100)
// === State Variables
var float entryL = na
var float peakL = na
var bool trailL = false
var float entryS = na
var float lowS = na
var bool trailS = false
var int lastShortBar = na
// === LONG ENTRY ===
longCondition = vixSpike and rsi > rsiLongTrigger and close > hma
if (longCondition and strategy.position_size == 0)
strategy.entry("Long", strategy.long)
entryL := close
trailL := false
peakL := close
if (strategy.position_size > 0)
peakL := math.max(peakL, high)
if not trailL and close >= entryL + trailTriggerL * atr
trailL := true
if not trailL and close <= entryL - hardStopL * atr
strategy.close("Long", comment="HardStopL")
if trailL and close <= peakL - trailOffsetL * atr
strategy.close("Long", comment="TrailStopL")
// === SHORT ENTRY ===
shortBase = vixSpike and rsi < rsiShortTrigger and close < hma and hmaSlope < 0
shortFilter = rsi < rsiEMA and close < priceEMA
canShort = na(lastShortBar) or (bar_index - lastShortBar > maxBarsShort)
shortCondition = shortBase and shortFilter and canShort
if (shortCondition and strategy.position_size == 0)
strategy.entry("Short", strategy.short)
entryS := close
trailS := false
lowS := close
lastShortBar := bar_index
if (strategy.position_size < 0)
lowS := math.min(lowS, low)
if not trailS and close <= entryS - trailTriggerS * atr
trailS := true
if not trailS and close >= entryS + hardStopS * atr
strategy.close("Short", comment="HardStopS")
if trailS and close >= lowS + trailOffsetS * atr
strategy.close("Short", comment="TrailStopS")