Cette stratégie combine les bandes de Brin et les retraits de Fibonacci pour réaliser des transactions en combinaison de plusieurs indicateurs. C’est un type typique de stratégie d’indicateurs combinés. La stratégie utilise les bandes de Brin pour déterminer la direction de la tendance et les retraits de Fibonacci pour déterminer les niveaux de résistance de soutien critique, générant ainsi un signal de transaction.
La stratégie est principalement basée sur les deux indicateurs suivants:
Calculer le haut, le milieu et le bas de la bande de Brin. Les prix sont signalés en plus ou en moins lorsqu’ils dépassent le bas de la bande et en moins lorsqu’ils dépassent le haut.
Les points de retraite de Fibonacci sont calculés en fonction des hauts et des bas historiques de 0% et 100%. Ces deux points peuvent servir de points de support et de résistance clés.
La logique des transactions est la suivante:
Signal plus: les prix sont en train de traverser la ceinture de Brin et se situent au-dessus du support de Fibonacci à 0%
Signaux de rupture: prix en dessous de la bande de Brin et en dessous de la résistance de Fibonacci à 100%
Le plafond est pris en référence à la voie médiane et s’arrête ou s’arrête près de la voie médiane.
Les mesures suivantes peuvent réduire le risque:
Cette stratégie peut être optimisée dans les domaines suivants:
Trouver le meilleur rapport de paramètres pour calculer la montée et la descente
Paramètres de différentes périodes de rétractation calculés par le test
Par exemple, observez la forme de la ligne K lors de la rupture de la ceinture de Brin.
Considérez des solutions de réduction des pertes avec une fonction de suivi
Les paramètres ne sont pas forcément les mêmes pour les différentes variétés et doivent être adaptés.
Cette stratégie utilise la combinaison des indicateurs de rétractation de Brin Belt et Fibonacci pour tirer parti de leurs avantages techniques respectifs et améliorer la qualité des signaux de négociation. Cependant, il existe également des problèmes tels que la difficulté d’optimisation des paramètres, les conditions d’entrée trop strictes. Nous pouvons améliorer le système de stratégie en utilisant des paramètres d’optimisation, un assouplissement approprié des conditions d’entrée et une amélioration des mécanismes d’arrêt des pertes, afin de gagner plus d’opportunités de négociation tout en conservant son avantage technique.
/*backtest
start: 2023-09-13 00:00:00
end: 2023-09-20 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands & Fibonacci Strategy", shorttitle="BB & Fib Strategy", overlay=true)
// Initialize position variables
var bool long_position = false
var bool short_position = false
// Bollinger Bands settings
length = input.int(20, title="Bollinger Bands Length")
src = input(close, title="Source")
mult = input.float(2.0, title="Standard Deviation Multiplier")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper_band = basis + dev
lower_band = basis - dev
// Fibonacci retracement levels
fib_0 = input.float(0.0, title="Fibonacci 0% Level", minval=-100, maxval=100) / 100
fib_100 = input.float(1.0, title="Fibonacci 100% Level", minval=-100, maxval=100) / 100
// Plotting Bollinger Bands
plot(upper_band, color=color.red, title="Upper Bollinger Band")
plot(lower_band, color=color.green, title="Lower Bollinger Band")
// Calculate Fibonacci levels
fib_range = ta.highest(high, 50) - ta.lowest(low, 50)
fib_high = ta.highest(high, 50) - fib_range * fib_0
fib_low = ta.lowest(low, 50) + fib_range * fib_100
// Plot Fibonacci retracement levels
plot(fib_high, color=color.blue, title="Fibonacci High")
plot(fib_low, color=color.orange, title="Fibonacci Low")
// Entry conditions
long_condition = ta.crossover(close, upper_band) and low > fib_low
short_condition = ta.crossunder(close, lower_band) and high < fib_high
// Plot arrows on the chart
plotshape(series=long_condition, title="Long Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=short_condition, title="Short Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
// Entry and exit logic
if long_condition and not short_position
strategy.entry("Long", strategy.long)
long_position := true
short_position := false
if short_condition and not long_position
strategy.entry("Short", strategy.short)
short_position := true
long_position := false
// Exit conditions (you can customize these)
long_exit_condition = ta.crossunder(close, basis)
short_exit_condition = ta.crossover(close, basis)
if long_exit_condition
strategy.close("Long")
long_position := false
if short_exit_condition
strategy.close("Short")
short_position := false