Trendverfolgungsstrategie auf Basis von Bollinger-Bändern und exponentiellen gleitenden Durchschnitten

Schriftsteller:ChaoZhang, Datum: 2023-11-17 17:36:43
Tags:

img

Übersicht

Diese Strategie verwendet Bollinger-Bänder, um die aktuelle Trendrichtung und den exponentiellen gleitenden Durchschnitt für Stop Loss zu bestimmen und Gewinnmanagement zu übernehmen, um den Trend effektiv zu erfassen.

Grundsätze

Die Strategie berechnet zunächst die mittlere Linie, das obere Band und das untere Band der Bollinger Bands. Die mittlere Linie ist der einfache gleitende Durchschnitt des Schlusskurses über n Tage. Die oberen und unteren Bands werden um zwei Standardabweichungen von der mittleren Linie nach oben und unten verschoben. Wenn der Schlusskurs über dem oberen Band liegt, zeigt er einen Aufwärtstrend an. Wenn der Schlusskurs unter dem unteren Band liegt, zeigt er einen Abwärtstrend an.

Die Strategie beurteilt die aktuelle Trendrichtung, indem sie die Beziehung zwischen dem Schlusskurs und den oberen/unteren Bands der Bollinger-Bänder vergleicht.

Darüber hinaus wird der exponentielle gleitende Durchschnitt als Trailing-Stop für Stop-Loss und Take-Profit eingeführt. Insbesondere, wenn sich der Preis nach dem Long-Gehen nach unten bewegt, bewegt sich die Stop-Loss-Linie entsprechend nach unten und verschärft allmählich die Stop-Loss-Distanz, um die Gewinnverbindung zu maximieren. Wenn der Preis weiter steigt, bewegt sich die Stop-Loss-Linie auch nach oben, um den Gewinn laufen zu lassen. Der Stop-Loss-Mechanismus funktioniert umgekehrt für Short-Positionen.

Vorteile

Die Strategie, die Bollinger-Bänder für die Trendrichtung und EMA für das Stop-Loss-/Take-Profit-Management kombiniert, hat folgende Vorteile:

  1. Die Verwendung von Bollinger Bands kann die Trendrichtung effektiv bestimmen und schnell auf Ausbrüche reagieren.

  2. Ein EMA-basierter Stop-Loss/Take-Profit kann die Gewinnbindung maximieren und gleichzeitig die Risiken kontrollieren.

  3. Die Strategie hat nur wenige Parameter, die leicht umzusetzen sind - nur einen für BB und einen für EMA, sehr einfach.

  4. Es kann auf unterschiedliche Produkte mit großer Anpassungsfähigkeit angewendet werden.

Risiken und Optimierung

Die Strategie birgt auch einige Risiken:

  1. Durchbrechen der BB-Ober-/Unterbänder kann das Risiko falscher Ausbrüche nicht vollständig vermeiden.

  2. Die Einstellung der EMA-Parameter erfordert eine sorgfältige Prüfung gemäß bestimmten Produkten. Zu kurze EMA-Periode kann die Stop-Loss-Zeiten erhöhen. Zu lange wird die Trailing-Effizienz verringern.

  3. Eine Überoptimierung ist zu vermeiden, da zu viele Kombinationen von BB- und EMA-Parametern zu einer Überanpassung führen können.

Zur Bewältigung der Risiken und Optimierungsrichtungen können Folgendes in Betracht gezogen werden:

  1. Um falsche Breakout-Signale zu filtern, fügen Sie Volumen oder MACD usw. hinzu.

  2. Optimierung der EMA-Periode durch Tests, um den für bestimmte Produkte am besten geeigneten Parameter zu finden.

  3. Versuchen Sie, die BB- und EMA-Parameter so weit wie möglich stabil zu halten, um Risiken einer Überanpassung durch Überoptimierung zu vermeiden.

  4. Überlegen Sie, ob Sie den RSI usw. verwenden, um die Positionsanpassung im mittelfristigen Trend zu bestimmen.

Zusammenfassung

Diese Strategie integriert die Verwendung von Bollinger Bands zur Bestimmung des Trends und EMA für das Stop-Loss/Take-Profit-Management, um ein relativ vollständiges Trend-Tracking-System zu bilden. Sie kann schnell die Trendrichtung erfassen und durch kontinuierliche Anpassung der Stop-Loss-Linie Gewinne einzahlen. Insgesamt ist die Strategie relativ einfach, praktisch und anpassungsfähig, lohnt sich weiter zu testen und zu optimieren. Aber die Parameter-Einstellungen und die Risikokontrolle müssen beachtet werden, um Fehleinschätzungen und Überoptimierung zu vermeiden.


/*backtest
start: 2022-11-10 00:00:00
end: 2023-11-16 00:00:00
period: 1d
basePeriod: 1h
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/
// © zxcv55602
//@version=4
strategy(shorttitle=" BB+EMA", title="Bollinger Bands", overlay=true)
date1 = input(title="Start Date", type=input.time, defval=timestamp("2020-01-01T00:00:00"))
date2 = input(title="Stop Date", type=input.time, defval=timestamp("2030-01-01T00:00:00"))
length = input(40, minval=1)
src = input(close, title="Source")
mult = input(2.0,title="StdDev",step=0.1)
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
//offset = input(0, "Offset", minval = -500, maxval = 500)
offset=0
stopcon=input(title="stopcon/lot", type=input.bool, defval=true)
lot1=input(title="lot",defval=1)
stoploss=input(title="stopcon",defval=1000)
emacon=input(title="emacon", type=input.bool, defval=true)
ema_value=input(title="value",defval=30, minval=2,step=1)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=color.new(color.blue,50), offset = offset)
p2 = plot(lower, "Lower", color=color.new(color.blue,50), offset = offset)
ema1=ema(close,ema_value)
plot(ema1, "SMA", color=#2962FF)
period() => true
//-----------
if period()
    if strategy.opentrades==0 and ema1<upper
        if close>upper
            lot_L=stoploss/((close-lower)/2)
            strategy.entry("OP_L",strategy.long,qty=stopcon==true?lot_L:lot1,stop=emacon==true?max(basis,ema1):basis)
    if strategy.opentrades==0 and ema1>lower
        if close<lower
            lot_S=stoploss/((upper-close)/2)
            strategy.entry("OP_S",strategy.short,qty=stopcon==true?lot_S:lot1,stop=emacon==true?min(basis,ema1):basis)
    if strategy.position_size>0
        strategy.exit("OP_L",stop=emacon==true?max(basis,ema1):basis,comment="exit_L")
    if strategy.position_size<0
        strategy.exit("OP_S",stop=emacon==true?min(basis,ema1):basis,comment="exit_S")

Mehr