Esta estrategia tiene como objetivo predecir la volatilidad del mercado de VIX mediante el uso de la fórmula Williams Vix Fix combinada con los indicadores RSI y RSI estocásticos.
La estrategia se basa principalmente en la combinación de la fórmula Williams Vix Fix e indicadores RSI y RSI estocásticos.
En primer lugar, el valor VIX del período actual se calcula mediante la fórmula Williams Vix Fix mediante la medición de la relación entre el precio más alto y el precio más bajo, que representa la volatilidad del mercado y los niveles de pánico.
En segundo lugar, la estrategia adopta la combinación de los indicadores de RSI estocástico y RSI. El RSI se utiliza para determinar posiciones largas / cortas, mientras que el RSI de Stoch combina líneas K & D para identificar puntos de reversión del RSI. Las señales de venta se generan cuando el RSI de Stoch cae de la zona de sobrecompra.
Por último, la estrategia integra tanto tomando la señal de sobrecompra de Stoch RSI
La mayor ventaja de esta estrategia es que puede utilizar las fortalezas de dos indicadores diferentes en combinación.
La fórmula de Williams Vix Fix puede reflejar eficazmente las emociones de pánico del mercado. El ajuste dinámico de las bandas de Bollinger puede adaptarse a diferentes ciclos.
Los dos combinados pueden localizar con mayor precisión los puntos de reversión del mercado.
Esta estrategia también presenta algunos riesgos:
La fórmula de Williams Vix Fix no puede reflejar plenamente las emociones de pánico del mercado.
Las señales de reversión del RSI de Stoch también pueden ser erróneas y deben verificarse con otros indicadores.
La estrategia es relativamente conservadora y puede perder oportunidades si no se puede seguir a tiempo los mercados en rápido movimiento.
La estrategia puede tener mayores reducciones, lo que requiere un tamaño de posición cuidadoso.
Debemos establecer parámetros razonables, verificar con otros indicadores y controlar los tamaños de las posiciones para mitigar los riesgos al utilizar esta estrategia.
Algunas maneras de optimizar esta estrategia:
Optimizar los parámetros de la fórmula de Williams Vix para reflejar con mayor precisión los niveles de pánico del mercado.
Optimizar los parámetros del RSI de Stoch para encontrar mejores combinaciones de períodos de K & D para una mayor precisión de inversión.
Añadir mecanismos de dimensionamiento de la posición como el stop loss/take profit o el ajuste dinámico de la posición basado en la relación drawdown/profit.
Incorporar otros indicadores como MACD, KD para realizar la verificación de múltiples indicadores y reducir las señales falsas.
Agregar algoritmos de aprendizaje automático, usar big data para entrenar modelos y optimizar parámetros automáticamente, mejorando la estabilidad.
A través de las optimizaciones anteriores, el rendimiento y la estabilidad de la estrategia pueden mejorarse significativamente.
La estrategia Williams Vix Fix captura el pánico del mercado y las transiciones de estabilidad, y utiliza el Stoch RSI para determinar puntos de entrada específicos, ubicando efectivamente los fondos del mercado. Su ventaja radica en la combinación de indicadores, pero también hay ciertos riesgos. Podemos fortalecer la estrategia mediante la optimización de parámetros y la verificación de múltiples indicadores, lo que la convierte en una herramienta efectiva para localizar las reversiones del mercado.
/*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")