Cette stratégie est un système de trading intraday qui combine les bandes de Bollinger et les niveaux de retracement de Fibonacci. Elle identifie les conditions de surachat et de survente en utilisant les bandes de Bollinger tout en utilisant les niveaux de retracement de Fibonacci pour confirmer les zones de soutien et de résistance potentielles, capturant ainsi les opportunités de trading dans les fluctuations du marché.
La logique de base de la stratégie repose sur les éléments clés suivants: 1. Utilisation des bandes de Bollinger (2 écarts types) pour identifier les zones de prix surachetées et survendues Calcul des niveaux de retracement de Fibonacci basés sur les prix les plus élevés et les plus bas des 20 dernières périodes Générer des signaux d'achat lorsque le prix dépasse la bande de Bollinger inférieure et reste au-dessus des niveaux de soutien de Fibonacci 0,236 ou 0,382 4. Générer des signaux de vente lorsque le prix dépasse la bande supérieure de Bollinger et reste en dessous du niveau de résistance de Fibonacci 0,618. 5. Utiliser des points fixes de stop-loss et de prise de profit pour contrôler les risques et sécuriser les bénéfices
Il s'agit d'un système de trading complet combinant des outils d'analyse technique classiques, fournissant aux traders un cadre de trading systématique grâce à la synergie des bandes de Bollinger et des rétracements de Fibonacci. Bien qu'il présente certaines limitations, la stratégie peut bien fonctionner dans le trading intradien grâce à une optimisation appropriée des paramètres et à une gestion des risques.
/*backtest start: 2025-01-02 00:00:00 end: 2025-01-09 00:00:00 period: 10m basePeriod: 10m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=5 strategy("Bollinger Bands and Fibonacci Intraday Strategy", overlay=true) // Bollinger Bands settings length = input.int(20, title="Bollinger Band Length") src = close mult = input.float(2.0, title="Bollinger Band Multiplier") basis = ta.sma(src, length) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev // Fibonacci retracement levels fibRetrace1 = input.float(0.236, title="Fibonacci Level 0.236") fibRetrace2 = input.float(0.382, title="Fibonacci Level 0.382") fibRetrace3 = input.float(0.618, title="Fibonacci Level 0.618") // Define the Fibonacci levels based on recent high and low var float fibLow = na var float fibHigh = na if (bar_index == 0 or ta.highest(high, 20) != fibHigh or ta.lowest(low, 20) != fibLow) fibHigh := ta.highest(high, 20) fibLow := ta.lowest(low, 20) fibLevel1 = fibLow + (fibHigh - fibLow) * fibRetrace1 fibLevel2 = fibLow + (fibHigh - fibLow) * fibRetrace2 fibLevel3 = fibLow + (fibHigh - fibLow) * fibRetrace3 // Plot Fibonacci levels on the chart plot(fibLevel1, title="Fib 0.236", color=color.blue, linewidth=1) plot(fibLevel2, title="Fib 0.382", color=color.green, linewidth=1) plot(fibLevel3, title="Fib 0.618", color=color.red, linewidth=1) // Buy and Sell conditions buyCondition = close < lower and close > fibLevel1 sellCondition = close > upper and close < fibLevel3 // Plot Buy and Sell signals plotshape(buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Execute strategy if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.entry("Sell", strategy.short) // Exit strategy with stop loss and take profit stopLoss = input.float(50, title="Stop Loss (pips)", minval=1) takeProfit = input.float(100, title="Take Profit (pips)", minval=1) strategy.exit("Exit Buy", "Buy", stop=close - stopLoss * syminfo.mintick, limit=close + takeProfit * syminfo.mintick) strategy.exit("Exit Sell", "Sell", stop=close + stopLoss * syminfo.mintick, limit=close - takeProfit * syminfo.mintick)