La estrategia tiene como objetivo predecir la volatilidad del mercado VIX a través de la fórmula de la reparación Williams VIX, combinada con el RSI estocástico y el indicador de equilibrio de la bolsa. La estrategia busca ubicar el fondo del mercado mediante la captura de divergencias ocultas de múltiples cabezas y la ubicación precisa del punto de inflexión del mercado.
La estrategia se basa principalmente en la fórmula de reparación Williams VIX y en el uso combinado del RSI estocástico con el RSI.
En primer lugar, se calcula el valor del VIX para el ciclo actual a través de la fórmula de reparación Williams VIX. Esta fórmula mide la volatilidad y el índice de pánico del mercado mediante el cálculo de la relación entre los precios más altos y los precios más bajos. Se establece aquí el reloj de arriba y abajo de la banda de Bryn, donde cuando el valor del VIX es superior al reloj de arriba, aumenta la volatilidad del mercado y el pánico de los inversores; cuando es inferior al reloj de abajo, el mercado está estable.
En segundo lugar, la estrategia utiliza una combinación de RSI estocástico y RSI. El RSI es utilizado para determinar el estado de la carencia. El RSI de Stoch combina la línea K y la línea D para determinar el punto de inflexión del RSI.
Finalmente, la estrategia combina los dos, basándose en la señal de sobrecompra del RSI de Stoch como base de venta, y basándose en la compra con un valor de VIX por debajo de la banda de baja de Brin, para capturar el punto de inflexión del mercado.
La mayor ventaja de esta estrategia es que se puede combinar y aprovechar las ventajas de dos indicadores diferentes.
La fórmula de reparación Williams VIX puede reflejar eficazmente el sentimiento de pánico del mercado, el ajuste de la dinámica ascendente y descendente de la banda de Bryn puede adaptarse a diferentes períodos; el indicador RSI estocástico permite el juicio del punto de inflexión del RSI a través de la intersección de las líneas K y D, evitando errores de juicio.
La combinación de ambos permite ubicar con mayor precisión el punto de inflexión del mercado, y al mismo tiempo que el índice de pánico del mercado libera una señal de venta, se puede usar el RSI de Stoch para determinar el punto de entrada específico y evitar errores.
La estrategia también tiene ciertos riesgos:
La fórmula de reparación Williams VIX no puede reflejar completamente el sentimiento de pánico del mercado, y la configuración incorrecta de los parámetros de la banda de Bryn puede causar una señal errónea.
La señal de reversión del Stoch RSI también puede ser errónea y requiere una combinación de otros indicadores para su verificación.
La estrategia es conservadora, y si no se sigue el ritmo rápido de los acontecimientos, se puede perder la oportunidad.
El retiro estratégico puede ser grande y la administración de posiciones debe ser cuidada.
Esto requiere que se establezcan los parámetros razonables para usar esta estrategia, que se verifiquen con otros indicadores, y que se controle el tamaño de la posición para evitar riesgos.
Esta estrategia puede ser optimizada en los siguientes aspectos:
Optimizar los parámetros de la fórmula Williams VIX para que reflejen con mayor precisión el nivel de pánico del mercado. Se puede considerar la inclusión de indicadores como el sistema de línea uniforme para la combinación.
Optimización de los parámetros del RSI de Stoch para buscar una combinación de periodicidad de la línea K y D más adecuada y mejorar la precisión de la inversión.
Aumentar los mecanismos de gestión de posiciones, como establecer paradas de pérdidas o ajustar las posiciones en función de la dinámica de la tasa de retirada / tasa de ganancias.
En combinación con otros indicadores, como MACD, KD, etc., permite la verificación de múltiples indicadores y reduce el riesgo de error de juicio.
Aumentar los algoritmos de aprendizaje automático, utilizar modelos de entrenamiento de grandes datos, optimizar automáticamente los parámetros y mejorar la estabilidad de las estrategias.
La optimización de los puntos anteriores puede mejorar significativamente la efectividad y la estabilidad de la estrategia.
La estrategia de reparación Williams VIX logra una posición efectiva en el fondo del mercado al capturar el pánico y la estabilidad del mercado y usar el RSI de Stoch para determinar el momento específico de entrada. La ventaja de la estrategia está en el uso de una combinación de indicadores, pero también existe un cierto riesgo.
/*backtest
start: 2022-09-21 00:00:00
end: 2023-09-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//Divergence and Hidden Divergence correlating with the Money Flow Index
strategy("Vix FIX / StochRSI Strategy", pyramiding=9, initial_capital=10000, default_qty_type=strategy.percent_of_equity,overlay=false)
///////////// Stochastic Slow
Stochlength = input(14, minval=1, title="lookback length of Stochastic")
StochOverBought = input(80, title="Stochastic overbought condition")
StochOverSold = input(20, title="Stochastic oversold condition")
smoothK = input(3, title="smoothing of Stochastic %K ")
smoothD = input(3, title="moving average of Stochastic %K")
k = sma(stoch(close, high, low, Stochlength), smoothK)
d = sma(k, smoothD)
///////////// RSI
RSIlength = input( 14, minval=1 , title="lookback length of RSI")
RSIOverBought = input( 70 , title="RSI overbought condition")
RSIOverSold = input( 30 , title="RSI oversold condition")
RSIprice = close
vrsi = rsi(RSIprice, RSIlength)
///////////// Double strategy: RSI strategy + Stochastic strategy
pd = input(22, title="LookBack Period Standard Deviation High")
bbl = input(20, title="Bolinger Band Length")
mult = input(2.0 , minval=1, maxval=5, title="Bollinger Band Standard Devaition Up")
lb = input(50 , title="Look Back Period Percentile High")
ph = input(.85, title="Highest Percentile - 0.90=90%, 0.95=95%, 0.99=99%")
new = input(false, title="-------Text Plots Below Use Original Criteria-------" )
sbc = input(false, title="Show Text Plot if WVF WAS True and IS Now False")
sbcc = input(false, title="Show Text Plot if WVF IS True")
new2 = input(false, title="-------Text Plots Below Use FILTERED Criteria-------" )
sbcFilt = input(true, title="Show Text Plot For Filtered Entry")
sbcAggr = input(true, title="Show Text Plot For AGGRESSIVE Filtered Entry")
ltLB = input(40, minval=25, maxval=99, title="Long-Term Look Back Current Bar Has To Close Below This Value OR Medium Term--Default=40")
mtLB = input(14, minval=10, maxval=20, title="Medium-Term Look Back Current Bar Has To Close Below This Value OR Long Term--Default=14")
str = input(3, minval=1, maxval=9, title="Entry Price Action Strength--Close > X Bars Back---Default=3")
//Alerts Instructions and Options Below...Inputs Tab
new4 = input(false, title="-------------------------Turn On/Off ALERTS Below---------------------" )
new5 = input(false, title="----To Activate Alerts You HAVE To Check The Boxes Below For Any Alert Criteria You Want----")
sa1 = input(false, title="Show Alert WVF = True?")
sa2 = input(false, title="Show Alert WVF Was True Now False?")
sa3 = input(false, title="Show Alert WVF Filtered?")
sa4 = input(false, title="Show Alert WVF AGGRESSIVE Filter?")
//Williams Vix Fix Formula
wvf = ((highest(close, pd)-low)/(highest(close, pd)))*100
sDev = mult * stdev(wvf, bbl)
midLine = sma(wvf, bbl)
lowerBand = midLine - sDev
upperBand = midLine + sDev
rangeHigh = (highest(wvf, lb)) * ph
//Filtered Bar Criteria
upRange = low > low[1] and close > high[1]
upRange_Aggr = close > close[1] and close > open[1]
//Filtered Criteria
filtered = ((wvf[1] >= upperBand[1] or wvf[1] >= rangeHigh[1]) and (wvf < upperBand and wvf < rangeHigh))
filtered_Aggr = (wvf[1] >= upperBand[1] or wvf[1] >= rangeHigh[1]) and not (wvf < upperBand and wvf < rangeHigh)
//Alerts Criteria
alert1 = wvf >= upperBand or wvf >= rangeHigh ? 1 : 0
alert2 = (wvf[1] >= upperBand[1] or wvf[1] >= rangeHigh[1]) and (wvf < upperBand and wvf < rangeHigh) ? 1 : 0
alert3 = upRange and close > close[str] and (close < close[ltLB] or close < close[mtLB]) and filtered ? 1 : 0
alert4 = upRange_Aggr and close > close[str] and (close < close[ltLB] or close < close[mtLB]) and filtered_Aggr ? 1 : 0
//Coloring Criteria of Williams Vix Fix
col = wvf >= upperBand or wvf >= rangeHigh ? lime : gray
isOverBought = (crossover(k,d) and k > StochOverBought) ? 1 : 0
isOverBoughtv2 = k > StochOverBought ? 1 : 0
filteredAlert = alert3 ? 1 : 0
aggressiveAlert = alert4 ? 1 : 0
plot(isOverBought, "Overbought / Crossover", style=line, color=red)
plot(filteredAlert, "Filtered Alert", style=line, color=fuchsia)
plot(aggressiveAlert, "Aggressive Alert", style=line, color=orange)
if (filteredAlert or aggressiveAlert)
strategy.entry("Long", strategy.long)
if (isOverBought)
strategy.close("Long")