
La stratégie de rupture de la volatilité inverse est une stratégie de trading inversée qui utilise plusieurs indicateurs techniques tels que l’ATR, les bandes de Brin, le RSI et le MACD pour identifier les états extrêmes du marché et effectuer des transactions lorsque le marché émet des signaux de retour. Contrairement à la stratégie de rupture traditionnelle, la stratégie consiste à vendre lorsque des signaux de hausse apparaissent et à acheter lorsque des signaux de baisse apparaissent, afin de tenter de saisir les opportunités de retour du marché.
La stratégie utilise les indicateurs suivants pour juger des signaux de trading:
La logique de la stratégie est la suivante:
La stratégie de rupture de la volatilité inverse est une tentative intéressante qui utilise plusieurs indicateurs techniques pour capturer les extrêmes du marché et effectuer des transactions inverses lorsque le marché émet des signaux de retour. Cependant, la stratégie présente également certains risques et doit être utilisée avec prudence. La robustesse et la rentabilité de la stratégie peuvent être encore améliorées en optimisant les paramètres de l’indicateur, en introduisant des mesures de contrôle des risques et en combinant d’autres méthodes d’analyse.
/*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")