Les bandes de Bollinger et la stratégie de négociation de Fibonacci

Auteur:ChaoZhang est là., Date: le 21 septembre 2023
Les étiquettes:

Résumé

Cette stratégie combine les bandes de Bollinger et les indicateurs de retracement de Fibonacci pour une approche multi-indicateurs. Elle appartient au type de stratégie typique des indicateurs combinés.

La logique de la stratégie

La stratégie repose sur deux indicateurs principaux:

  1. Les bandes de Bollinger

    Calcule les bandes supérieures, moyennes et inférieures.

  2. Rétrécissements de Fibonacci

    Calcule les niveaux de retracement de 0% et 100% en fonction des hauts et des bas historiques.

La logique de négociation spécifique est la suivante:

Signal long: le prix dépasse la bande supérieure et dépasse le support Fibonacci de 0%.

Signal court: le prix dépasse la bande inférieure et est inférieur à la résistance de Fibonacci à 100%.

Les sorties sont autour de la bande du milieu pour prendre profit ou stop loss.

Les avantages

  • Combine les bandes de Bollinger et les indicateurs de Fibonacci
  • Les bandes jugent la tendance, Fibonacci identifie les niveaux clés
  • La probabilité combinée de faux signaux est inférieure
  • Les sorties de contrôle de la bande médiane
  • Des règles d'entrée et de sortie claires, faciles à mettre en œuvre

Les risques

  • Les indicateurs basés sur l'AM peuvent être en retard, manquant les meilleurs niveaux
  • Résistance à l'événement
  • Les doubles filtres limitent la fréquence de négociation
  • Les paramètres incorrects ont une incidence négative sur les bandes et les retracements
  • Les paramètres doivent être optimisés pour différents produits

Les risques peuvent être réduits par:

  • Optimisation pour les meilleures combinaisons de paramètres
  • Des critères d'entrée plus souples comme l'ajout de motifs de chandeliers
  • Amélioration des sorties avec arrêt de traîneau
  • Épreuves séparées de paramètres par produit
  • Système de dimensionnement de la position

Directions de renforcement

La stratégie peut être améliorée par:

  1. Optimisation des paramètres des bandes de Bollinger

    Trouver des ratios optimaux pour les bandes supérieures/inférieures

  2. Optimisation des périodes de retracement de Fibonacci

    Test de différentes périodes de rétrospective pour les retraces

  3. Conditions d'entrée assouplies

    Observation des modèles de chandeliers sur les intervalles de bande

  4. Amélioration des sorties

    Considérant les mécanismes d'arrêt de trail

  5. Épreuves de paramètres spécifiques au produit

    Les paramètres doivent être ajustés pour différents produits

Résumé

Cette stratégie combine les atouts des bandes de Bollinger et des rétracements de Fibonacci pour des signaux de meilleure qualité. Mais des défis tels que l'optimisation de paramètres difficiles existent. Des améliorations peuvent être apportées grâce à l'ajustement des paramètres, au relâchement des critères d'entrée, à l'amélioration des sorties, etc. pour affiner la stratégie tout en conservant son avantage.


/*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



Plus de