
La estrategia de reversión de la volatilidad es una estrategia de negociación inversa que utiliza varios indicadores técnicos como el ATR, el Brin, el RSI y el MACD para identificar el estado extremo del mercado y negociar cuando se produce una señal de reversión en el mercado. A diferencia de la estrategia de ruptura tradicional, que se vende cuando se produce una señal de pesimismo y se compra cuando se produce una señal de pesimismo, para tratar de capturar la oportunidad de reversión del mercado.
La estrategia utiliza los siguientes indicadores para juzgar las señales de negociación:
La lógica central de la estrategia es la siguiente:
La estrategia de ruptura de la volatilidad inversa es una tentativa interesante que utiliza varios indicadores técnicos para capturar los estados extremos del mercado y realizar operaciones inversa en caso de señales de reversión en el mercado. Sin embargo, la estrategia también presenta ciertos riesgos y debe aplicarse con cautela. La solidez y la rentabilidad de la estrategia se pueden mejorar aún más mediante la optimización de los parámetros del indicador, la introducción de medidas de control de riesgo y la combinación con otros métodos de análisis.
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Volatility Breakout Strategy (Reversed)", overlay=true)
// Indicator Inputs
atrLength = input(14, "ATR Length")
bbLength = input(20, "Bollinger Bands Length")
bbMultiplier = input(2, "Bollinger Bands Multiplier")
rsiLength = input(14, "RSI Length")
macdShortLength = input(12, "MACD Short Length")
macdLongLength = input(26, "MACD Long Length")
macdSignalSmoothing = input(9, "MACD Signal Smoothing")
// Calculate Indicators
atrValue = ta.atr(atrLength)
basis = ta.sma(close, bbLength)
deviation = bbMultiplier * ta.stdev(close, bbLength)
upperBand = basis + deviation
lowerBand = basis - deviation
rsiValue = ta.rsi(close, rsiLength)
[macdLine, signalLine, _] = ta.macd(close, macdShortLength, macdLongLength, macdSignalSmoothing)
// Strategy Conditions (Reversed)
longCondition = ta.crossover(close[1], upperBand[1]) and rsiValue > 50 and macdLine > signalLine
shortCondition = ta.crossunder(close[1], lowerBand[1]) and rsiValue < 50 and macdLine < signalLine
// Strategy Entry (Reversed)
if (longCondition)
strategy.entry("Sell", strategy.short) // Reversed: Buy signal triggers a sell
if (shortCondition)
strategy.entry("Buy", strategy.long) // Reversed: Sell signal triggers a buy
// Plotting
plot(basis, color=color.blue, title="Basis")
plot(upperBand, color=color.red, title="Upper Band")
plot(lowerBand, color=color.green, title="Lower Band")