Bollinger Bands-basierte Trendstrategie

Schriftsteller:ChaoZhang, Datum: 2024-01-18 16:37:56
Tags:

img

Übersicht

Diese Strategie verwendet Bollinger-Bänder, um die Kursentwicklungsrichtung zu bestimmen, kombiniert mit schnellen und langsamen gleitenden Durchschnitten, um Positionen einzugehen. Das Kaufsignal wird ausgelöst, wenn der Preis durch das Bollinger-Mitteband bricht und der schnelle gleitende Durchschnitt über den langsamen gleitenden Durchschnitt überschreitet. Das Verkaufssignal wird ausgelöst, wenn der Preis unter das Bollinger-Mitteband bricht und der schnelle gleitende Durchschnitt unter den langsamen gleitenden Durchschnitt überschreitet. Die Stop-Loss-Methode ist ATR Trailing Stop-Loss.

Strategie Logik

Die Strategie besteht hauptsächlich aus dem Bollinger-Band-Indikator und den gleitenden Durchschnitten.

DieBollinger-BänderDas mittlere Band ist der n-tägige einfache gleitende Durchschnitt. Das obere Band und das untere Band sind k Standardabweichungen über und unter dem mittleren Band. Wenn der Preis nahe am oberen Band ist, zeigt dies überkaufte Bedingungen an. Wenn der Preis nahe am unteren Band ist, zeigt er überverkaufte Bedingungen an. Das mittlere Band repräsentiert die Kurstrendrichtung.

DieGleitende DurchschnitteEin schneller gleitender Durchschnitt hat eine Periode von 40 und ein langsamer gleitender Durchschnitt hat eine Periode von 120. Wenn der schnelle MA den langsamen MA überschreitet, ist dies ein Kaufsignal. Wenn der schnelle MA unter den langsamen MA überschreitet, ist dies ein Verkaufssignal.

Auf der Grundlage der Regeln der oben genannten Indikatoren sind die spezifischen Handelssignale dieser Strategie:

Kaufsignal: Schließpreis durchbricht mittlere Band und schnelle MA überschreitet langsame MA

Verkaufssignal: Schließpreisbrüche unterhalb des mittleren Bandes und schnelle MA-Kreuzungen unterhalb der langsamen MA

Stop-Loss: ATR nachliegender Stop-Loss, Stop-Loss-Preis ist der aktuelle Preis minus 4 mal ATR

Analyse der Vorteile

Diese Strategie kombiniert Bollinger-Bänder und gleitende Durchschnitte, die die Kursentwicklungsrichtung effektiv bestimmen und eine übermäßige Eröffnung von Positionen während von Perioden vermeiden können.

Das mittlere Bollinger-Band kann den Preistrend deutlich widerspiegeln. Wenn der Preis durch das mittlere Band bricht, bildet es ein starkes Trendsignal. Die oberen und unteren Bande können überkaufte und überverkaufte Bedingungen effektiv beurteilen, um zu vermeiden, dass neue Höchststände und Tötungstiefstände während der Perioden verfolgt werden.

Das goldene Kreuz und das tote Kreuz von schnellen und langsamen MAs sind ebenfalls häufig verwendete Methoden, um Trends zu bestimmen.

Der ATR-Stop-Loss-System passt den Stop-Loss-Punkt an, um sich an die Marktschwankungen anzupassen, wodurch der Verlust einer einzigen Position wirksam kontrolliert wird.

Risikoanalyse

Das größte Risiko dieser Strategie besteht darin, dass der Preis nach dem Durchbrechen des mittleren Bandes schnell zurückschreckt und nicht in der Lage ist, effektiv Gewinne zu erzielen. Dies würde zu Verlusten führen. Die Lösung besteht darin, die MA-Parameter angemessen anzupassen, damit die Indikatoren besser mit den Merkmalen des Marktes übereinstimmen.

Ein weiteres Risiko besteht darin, dass die Bollinger-Bänder und gleitenden Durchschnitte während der Perioden falsche Signale geben können. Zu diesem Zeitpunkt sollten wir in Betracht ziehen, Handelssignale zu überspringen und auf klarere Trends zu warten. Oder die Positionsgröße entsprechend zu reduzieren.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Anpassung der Bollinger-Bänderparameter an die Merkmale des Marktes in verschiedenen Perioden

  2. Schnelle und langsame MA-Parameter anpassen, um sie besser an die spezifischen Handelsinstrumente anzupassen

  3. Hinzufügen anderer Hilfsindikatoren für die Kombination zur Verbesserung der Stabilität der Strategie

  4. Optimierung der Positionsgrößenmethoden, Erhöhung der Positionen während der Trendperioden und Verringerung der Positionen während der Trendperioden

  5. Verschiedene Stop-Loss-Methoden testen, um bessere Lösungen zu finden

Schlussfolgerung

Im Allgemeinen ist dies ein typischer Trend nach Strategie. Es kombiniert Bollinger Bands und gleitende Durchschnitte, um Preistrends und Handelschancen zu bestimmen. Das Strategiesignal ist relativ klar, geeignet für den automatisierten Handel. Aber es hat auch einige Risiken, Parameter und Regeln, die optimiert werden müssen, um sich an umfangreichere Marktumgebungen anzupassen. Insgesamt ist der Strategierahmen machbar und bietet großen Verbesserungsspielraum.


/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Robrecht99

//@version=5
strategy("Trend Following with Bollinger Bands", overlay=true, margin_long=100, margin_short=100, pyramiding=4)

// Bollinger Bands //

length = input.int(20, minval=1, group="Bollinger Bands Inputs")
src = input(close, title="Source", group="Bollinger Bands Inputs")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500, group="Bollinger Bands Inputs")
plot(basis, "Basis", color=color.orange, offset = offset)
p1 = plot(upper, "Upper", color=color.orange, offset = offset)
p2 = plot(lower, "Lower", color=color.orange, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(255, 0, 255, 95))

// Moving Averages //

len1 = input.int(40, minval=1, title="Length Fast MA", group="Moving Average Inputs")
len2 = input.int(120, minval=1, title="Length Slow MA", group="Moving Average Inputs")
src1 = input(close, title="Source Fast MA")
src2 = input(close, title="Source Slow MA")
maColorFast = input.color(color.new(color.red, 0), title = "Color Fast MA", group = "Moving Average Inputs", inline = "maFast")
maColorSlow = input.color(color.new(color.purple, 0), title = "Color Slow MA", group = "Moving Average Inputs", inline = "maSlow")
fast = ta.ema(src1, len1) 
slow = ta.ema(src2, len2)
plot(fast, color=maColorFast, title="Fast EMA")
plot(slow, color=maColorSlow, title="Slow EMA")

// ATR Inputs //
strategy.initial_capital = 50000

lengthATR = input.int(title="ATR Period", defval=14, minval=1, group="ATR Input")
risk = input(title="Risk Per Trade", defval=0.01, group="ATR Input")
multiplier = input(title="ATR Multiplier", defval=2, group="ATR Inputs")
atr = ta.atr(length)
amount = (risk * strategy.initial_capital / (2 * atr))

// Buy and Sell Conditions //

entrycondition1 = ta.crossover(fast, slow)
entrycondition2 = fast > slow
sellcondition1 = ta.crossunder(fast, slow)
sellcondition2 = slow > fast

// Buy and Sell Signals //

if (close > basis and entrycondition2)
    strategy.entry("long", strategy.long, qty=amount)
    stoploss = close - atr * 4
    strategy.exit("exit sl", stop=stoploss, trail_offset=stoploss)
if (sellcondition1 and sellcondition2)
    strategy.close(id="long")

if (close < basis and sellcondition2)
    strategy.entry("short", strategy.short, qty=amount)
    stoploss = close + atr * 4
    strategy.exit("exit sl", stop=stoploss, trail_offset=stoploss)
if (entrycondition1 and entrycondition2)
    strategy.close(id="short")

Mehr