Bollinger-Bänder und Fibonacci-Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 21.09.2023
Tags:

Übersicht

Diese Strategie kombiniert die Bollinger Bands und Fibonacci Retracement Indikatoren für einen Multi-Indikator-Ansatz. Sie gehört zum typischen kombinierten Indikator-Strategietypen. Die Bollinger Bands bestimmen die Trendrichtung und die Fibonacci-Level identifizieren wichtige Unterstützungs- und Widerstandszonen für die Erzeugung von Handelssignalen.

Strategie Logik

Die Strategie basiert auf zwei Hauptindikatoren:

  1. Bollinger-Bänder

    Berechnet die oberen, mittleren und unteren Bands. Der Preisbruch über dem unteren Band ist ein langes Signal und der Bruch unter dem oberen Band ist ein kurzes Signal.

  2. Fibonacci-Retracements

    Berechnet die 0%- und 100%-Retracement-Niveaus basierend auf historischen Höchst- und Tiefstniveaus, die als wichtige Unterstützungs- und Widerstandsniveaus dienen.

Die spezifische Handelslogik lautet:

Langes Signal: Der Preis bricht über den oberen Band und liegt über der 0% Fibonacci-Unterstützung.

Kurzsignal: Der Preis bricht unter den unteren Band und liegt unter dem 100% Fibonacci-Widerstand.

Die Ausgänge liegen um das mittlere Band für Take Profit oder Stop Loss.

Vorteile

  • Kombination von Bollinger-Bändern und Fibonacci-Indikatoren
  • Bands beurteilen den Trend, Fibonacci identifiziert Schlüsselniveaus
  • Die Gesamtwahrscheinlichkeit für falsche Signale ist geringer
  • Mittlere Band-Ausgänge Kontrollmengen
  • Klare Ein- und Ausstiegsregeln, die leicht umzusetzen sind

Risiken

  • Die auf der MA basierenden Indikatoren können zurückbleiben und die besten Werte verfehlen
  • Reine Indikatororientierung, langsame Reaktion auf große Ereignisse
  • Doppelfilter begrenzen die Handelsfrequenz
  • Fehlende Parameter beeinflussen Bands und Retracements negativ
  • Parameter müssen für verschiedene Produkte optimiert werden

Die Risiken können verringert werden, indem

  • Optimierung für die besten Parameterkombinationen
  • Erleichterung der Einstiegskriterien wie das Hinzufügen von Leuchtermustern
  • Verbesserte Ausgänge mit Haltestellen
  • Getrennte Parameterprüfungen nach Produkten
  • Anpassung des Positionsgrößensystems

Anweisungen zur Verbesserung

Die Strategie kann verbessert werden, indem

  1. Optimierung der Bollinger-Band-Parameter

    Finden eines optimalen Verhältnisses zwischen oberen und unteren Bands

  2. Optimierung von Fibonacci-Retracement-Perioden

    Verschiedene Lookback-Perioden für Retracings testen

  3. Erleichterung der Einreisebedingungen

    Beobachtung von Kerzenmustern bei Bandpausen

  4. Verbesserung der Ausgänge

    Überlegungen über die Mechanismen zur Verhinderung der Verzögerung

  5. Produktspezifische Parameterprüfung

    Parameter müssen für verschiedene Produkte abgestimmt werden

Zusammenfassung

Diese Strategie kombiniert die Stärken von Bollinger Bands und Fibonacci Retracements für qualitativ hochwertigere Signale. Aber Herausforderungen wie schwierige Parameteroptimierung bestehen. Verbesserungen können durch Parameter-Tuning, Entspannung der Einstiegskriterien, Verbesserung der Ausgänge usw. vorgenommen werden, um die Strategie zu verfeinern und gleichzeitig ihren Vorteil zu erhalten.


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



Mehr