Momentum-Trend-Strategie auf Basis von MACD und Bollinger-Bändern

Schriftsteller:ChaoZhang, Datum: 2024-02-29 13:49:03
Tags:

img

Übersicht

Die Strategie wird Momentum Trend genannt. Sie kombiniert die Vorteile des MACD-Indikators und der Bollinger-Bänder, um eine Trendverfolgungsstrategie umzusetzen. Die Strategie verwendet MACD-Schnelllinie und langsame Linie, um Bollinger-Bänder zu erstellen. Die mittlere Linie der Bollinger-Bänder ist die MACD-Signallinie. Sie geht kurz, wenn der Preis durch die obere Schiene der Bollinger-Bänder bricht, und lang, wenn der Preis durch die untere Schiene der Bollinger-Bänder bricht.

Strategieprinzip

Die Kernindikatoren dieser Strategie sind MACD und Bollinger Bands. Der MACD-Indikator besteht aus einer schnellen Linie, einer langsamen Linie und einem MACD-Histogramm. Die schnelle Linie ist normalerweise ein 12-tägiger EMA und die langsame Linie ein 26-tägiger EMA. Der Unterschied zwischen ihnen ist das MACD-Histogramm. Diese Strategie verwendet den Unterschied zwischen der schnellen Linie und der langsamen Linie als Basismittellinie der Bollinger Bands. Ober- und unteren Schienen sind um die mittlere Linie gesetzt, um Bollinger Bands zu konstruieren.

Ein Kaufsignal wird erzeugt, wenn der Preis durch die untere Schiene der Bollinger Bands nach oben bricht. Ein Verkaufssignal wird erzeugt, wenn der Preis durch die obere Schiene der Bollinger Bands nach unten bricht. Um das Risiko zu verringern, gefangen zu werden und Umkehrmöglichkeiten zu verpassen, tritt diese Strategie nicht sofort nach dem Ausbruch in den Markt ein. Stattdessen wartet sie auf den Rückzug, um die mittlere Linie der Bollinger Bands vor dem Eintritt zu testen.

Darüber hinaus können die oberen und unteren Schienen auch als Widerstand und Unterstützung verwendet werden. Wenn der Preis steigt, ist die oberen Schienen Widerstand und die unteren Schienen Unterstützung. Wenn der Preis sinkt, wird die oberen Schienen Unterstützung und die unteren Schienen Widerstand.

Analyse der Vorteile

Diese Strategie kombiniert die Vorteile von MACD und Bollinger Bands, um eine Trendverfolgung zu erreichen, mit folgenden Stärken:

  1. Der MACD hat eine starke Trendbeurteilung. Bollinger Bands können sich anpassungsfähig anpassen. Die Kombination kann effektiv Trendumkehrpunkte bestimmen.

  2. Der Pullback-Eintritt kann das Stop-Loss-Risiko effektiv vermeiden und mittelfristige Trends verfolgen.

  3. Die Nutzung von Widerstand und Unterstützung bei Bollinger Bands kann weitere Gewinne erzielen.

  4. Die MACD- und Bollinger-Band-Parameter können flexibel an unterschiedliche Marktumgebungen angepasst werden.

Risikoanalyse

Für diese Strategie sind auch einige Risiken zu beachten:

  1. Bei schwankenden Trends können MACD und Bollinger Bands mehrere ungültige Signale erzeugen.

  2. Der Stop-Loss sollte während des Pullback-Eintritts eingestellt werden, um eine Verlustvergrößerung durch einen zu tiefen Pullback zu vermeiden.

  3. Die Bollinger Bands-Parameter müssen anhand der Marktvolatilität angepasst werden, da eine unsachgemäße Parameterstellung die Wahrscheinlichkeit eines falschen Ausbruchs erhöht.

  4. Ein gutes Risikomanagement und eine gute Positionsgröße sind der Schlüssel zur Gewinnsicherung dieser Strategie.

Optimierungsrichtlinien

Die Strategie kann auch in folgenden Aspekten optimiert werden:

  1. Optimieren Sie die MACD-Parameter auf 8-tägige schnelle Linie und 20-tägige langsame Linie.

  2. Hinzufügen von Aufwärts- und Abwärtstrendbeurteilungen zur Optimierung der Bollinger-Band-Parameter und zur Verringerung falscher Signale in schwankenden Märkten.

  3. Setzen Sie Stop-Loss-Linie mit Bollinger Bands oberen und unteren Schienen, um Risiken zu kontrollieren.

  4. Einbeziehung anderer Indikatoren zur Überprüfung zur Verbesserung der Strategie-Stabilität.

Schlussfolgerung

Die Momentum-Trend-Strategie auf Basis von MACD und Bollinger Bands verfolgt mittelfristige Trends durch Indikatorenkombinationen und geht auf Pullbacks ein, um Risiken zu reduzieren. Sie optimiert Parameter-Einstellungen und steuert Risiken. Sie funktioniert gut bei Trending-Produkten. Aber keine Strategie ist perfekt. Wir müssen uns ständig an die sich ständig ändernden Marktumgebungen anpassen.


/*backtest
start: 2023-02-22 00:00:00
end: 2024-02-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Simple strategy based on MACD and Bollinger Bands, where BBs are calculatend from macd signal.
strategy("Strategy MACD vs BB", overlay=false)

fast_length = input(title="Fast MA period", type=input.integer, defval=8)
slow_length = input(title="Slow MA period", type=input.integer, defval=21)
src = input(close,"Source")


// ----------MA calculation - ChartArt-------------
smoothinput = input(1, minval=1, maxval=4, title='Moving Average Calculation: (1 = SMA), (2 = EMA), (3 = WMA), (4 = Linear)')

fast_ma = smoothinput == 1 ? sma(src, fast_length):smoothinput == 2 ? ema(src, fast_length):smoothinput == 3 ? wma(src, fast_length):smoothinput == 4 ? linreg(src, fast_length,0):na
slow_ma = smoothinput == 1 ? sma(src, slow_length):smoothinput == 2 ? ema(src, slow_length):smoothinput == 3 ? wma(src, slow_length):smoothinput == 4 ? linreg(src, slow_length,0):na
//----------------------------------------------
macd = fast_ma - slow_ma
p1=plot(macd,"macd signal",color=color.blue)
length = input(40, minval=1)
mult = input(2.0,"BB multiplier")

basis = sma(macd, length)
dev = mult * stdev(macd, length)
plot(basis,"BB basis",color=color.orange)
upper = basis + dev
lower = basis - dev
p2=plot(upper,"BB upper",color=color.red)
p3=plot(lower,"BB basis",color=color.green)

longCondition = crossover(macd, lower)
shortCondition = crossunder(macd, upper)

plotshape(longCondition?lower:na, title="Long", style=shape.xcross, location=location.absolute, text="Long", color=color.green, transp=0, size=size.tiny)
plotshape(shortCondition?upper:na, title="Short", style=shape.xcross, location=location.absolute, text="Short", color=color.red, transp=0, size=size.tiny)
fill(p1,p3,color=macd<lower?color.green:na,transp=90,title="support")
fill(p1,p2,color=macd>upper?color.red:na,transp=90,title="resistance")

if longCondition
    strategy.entry("Long",strategy.long)
if shortCondition
    strategy.entry("Short",strategy.short)


Mehr