La stratégie est un système de suivi de la tendance basé sur les signaux croisés des indicateurs MACD et RSI, combiné avec les bandes de Brin pour l’analyse des fluctuations du marché. Le cœur de la stratégie est de capturer les points de basculement de la tendance en combinant les zones de surachat et de surachat du MACD avec le RSI, tout en utilisant les bandes de Brin pour confirmer les zones de fluctuation des prix, offrant ainsi un signal de négociation plus robuste.
La stratégie utilise un mécanisme de filtrage à partir de trois indicateurs techniques:
Les conditions d’entrée exigent une fourche MACD et un RSI bas (< 50), ce qui indique que le marché pourrait commencer à rebondir à partir de la zone de survente. Les conditions de sortie nécessitent un MACD dead fork et le RSI est élevé ((> 50), ce qui indique que la dynamique ascendante s’est affaiblie et pourrait commencer à se rétracter.
La stratégie a une bonne base théorique et une bonne viabilité pratique, mais nécessite encore des améliorations en termes d’optimisation des paramètres et de contrôle des risques en fonction des caractéristiques spécifiques du marché. Grâce à la direction d’optimisation suggérée, la stratégie est susceptible d’obtenir une meilleure stabilité et une meilleure rentabilité. Le système convient aux investisseurs qui recherchent des opportunités de tendances à moyen et long terme, mais qui doivent être pleinement conscients de leurs limites et bien gérer leurs risques.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MACD, RSI, Bollinger Bands Strategy", overlay=true)
// Input parameters for MACD
fastLength = input.int(12, title="MACD Fast Length")
slowLength = input.int(26, title="MACD Slow Length")
signalLength = input.int(9, title="MACD Signal Length")
// Input parameters for RSI
rsiLength = input.int(14, title="RSI Length")
// Input parameters for Bollinger Bands
bbLength = input.int(20, title="Bollinger Band Length")
bbMult = input.float(2.0, title="Bollinger Band Multiplier")
// MACD calculation
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength)
macdCrossUp = ta.crossover(macdLine, signalLine)
macdCrossDown = ta.crossunder(macdLine, signalLine)
// RSI calculation
rsi = ta.rsi(close, rsiLength)
// Bollinger Bands calculation
bbBasis = ta.sma(close, bbLength)
bbUpper = bbBasis + bbMult * ta.stdev(close, bbLength)
bbLower = bbBasis - bbMult * ta.stdev(close, bbLength)
// Plot Bollinger Bands
plot(bbBasis, color=color.blue, title="Bollinger Band Basis")
plot(bbUpper, color=color.green, title="Upper Bollinger Band")
plot(bbLower, color=color.red, title="Lower Bollinger Band")
// Entry condition: MACD crosses signal line from below and RSI < 50
enterLong = macdCrossUp and rsi < 50
// Exit condition: MACD crosses signal line from above and close touches the Bollinger Band middle line
exitLong = macdCrossDown and rsi> 50
// Strategy logic
if (enterLong and strategy.position_size == 0)
strategy.entry("Buy", strategy.long)
if (exitLong and strategy.position_size > 0)
strategy.close("Buy")