Cette stratégie identifie les canaux de prix en utilisant les bandes de Bollinger et détermine les niveaux de support / résistance en fonction des ratios de retracement de Fibonacci pour le trading algorithmique.
Calcul des bandes moyennes, supérieures et inférieures des bandes de Bollinger
La bande moyenne est la SMA, les bandes supérieures/inférieures sont les SMA +/- multiples de l'ATR
Les bandes de Bollinger se développent et se contractent en fonction de la volatilité du marché
Calcul des niveaux de retracement de Fibonacci basés sur des ratios
Les ratios de retracement sont des multiples des ratios ATR * Fibonacci
Les niveaux multiples de fib sont calculés en fonction de la bande moyenne
Surveillance de la rupture des bandes de Bollinger
Considérez d'aller long lorsque le prix dépasse la bande supérieure
Envisagez d'aller court lorsque le prix tombe en dessous de la marge inférieure
Entrer dans des transactions et définir SL/TP autour des zones de retracement Fib
Entrez les transactions lorsque le prix revient à la zone Fib
Mettez un stop-loss et profitez de l'autre côté de la zone.
Les bandes de Bollinger identifient clairement la fourchette et les tendances de volatilité du marché
Les ratios de Fibonacci saisissent les niveaux de support et de résistance clés
La combinaison d'indicateurs permet une négociation algorithmique
Les entrées en retraite augmentent la probabilité de réussite et évitent la poursuite
Paramètres réglables adaptés aux différentes périodes et aux différents produits
Les écarts de Bollinger Bands peuvent être de faux signaux
Difficile de prédire avec précision quand le prix reviendra aux niveaux de Fib
Un mauvais placement de stop loss pourrait augmenter les pertes
L'ampleur insuffisante ou excessive du recul affecte la stratégie
Des paramètres inefficaces ou une tendance persistante des marchés pourraient invalider la stratégie
Améliorer la logique des bandes de Bollinger, en tenant compte du volume, de l'ajustement de la zone dynamique, etc.
Optimiser les paramètres des bandes de Bollinger pour améliorer la tendance et le jugement S/R
Ajouter des indicateurs de volume pour valider les signaux de rupture
Utiliser l'apprentissage automatique pour la prédiction de la probabilité de retrait
Incorporer davantage d'indicateurs techniques pour la validation des signaux
Sélectionner des paramètres raisonnables en fonction des caractéristiques du produit et des sessions de négociation
Ajustez en temps opportun la force de la zone de recul en fonction de la volatilité changeante
Cette stratégie combine les forces des bandes de Bollinger et des retraces de Fibonacci pour identifier les tendances et entrer à des niveaux de retrait à haute probabilité. Les risques peuvent être réduits et les résultats améliorés par l'optimisation des paramètres, la validation supplémentaire du signal, l'ajustement de la zone dynamique, etc. Il y a place à l'expansion en incorporant des modèles de volume, d'apprentissage automatique, etc. La stratégie peut être encore affinée grâce à une optimisation continue.
/*backtest start: 2023-08-27 00:00:00 end: 2023-09-26 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(shorttitle="BBands Fibo", title="Bollinger Bands Fibonacci Ratios", overlay=true) length = input(20, minval=1, type=input.integer, title="Length") src = input(close, title="Source") offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500) fibo1 = input(defval=1.618, title="Fibonacci Ratio 1") fibo2 = input(defval=2.618, title="Fibonacci Ratio 2") fibo3 = input(defval=4.236, title="Fibonacci Ratio 3") fiboBuyReverse = input(false, title = "Use Reverse Buy?") fiboBuy = input(options = ["Fibo 1", "Fibo 2", "Fibo 3"],defval = "Fibo 1", title="Fibonacci Buy") fiboSellReverse = input(false, title = "Use Reverse Sell?") fiboSell = input(options = ["Fibo 1", "Fibo 2", "Fibo 3"],defval = "Fibo 1", title="Fibonacci Sell") sma = sma(src, length) atr = atr(length) ratio1 = atr * fibo1 ratio2 = atr * fibo2 ratio3 = atr * fibo3 upper3 = sma + ratio3 upper2 = sma + ratio2 upper1 = sma + ratio1 lower1 = sma - ratio1 lower2 = sma - ratio2 lower3 = sma - ratio3 plot(sma, style=0, title="Basis", color=color.orange, linewidth=2, offset = offset) upp3 = plot(upper3, transp=90, title="Upper 3", color=color.teal, offset = offset) upp2 = plot(upper2, transp=60, title="Upper 2", color=color.teal, offset = offset) upp1 = plot(upper1, transp=30, title="Upper 1", color=color.teal, offset = offset) low1 = plot(lower1, transp=30, title="Lower 1", color=color.teal, offset = offset) low2 = plot(lower2, transp=60, title="Lower 2", color=color.teal, offset = offset) low3 = plot(lower3, transp=90, title="Lower 3", color=color.teal, offset = offset) fill(upp3, low3, title = "Background", color=color.new(color.teal, 95)) targetBuy = fiboBuy == "Fibo 1" ? upper1 : fiboBuy == "Fibo 2" ? upper2 : upper3 targetBuy := fiboBuyReverse == false ? targetBuy : fiboBuy == "Fibo 1" ? lower1 : fiboBuy == "Fibo 2" ? lower2 : lower3 buy = low < targetBuy and high > targetBuy targetSell = fiboSell == "Fibo 1" ? lower1 : fiboSell == "Fibo 2" ? lower2 : lower3 targetSell := fiboSellReverse == false ? targetSell : fiboSell == "Fibo 1" ? upper1 : fiboSell == "Fibo 2" ? upper2 : upper3 sell = low < targetSell and high > targetSell strategy.entry("Buy", true, when = buy) strategy.entry("Sell", false, when = sell)