Momentum-Strategie auf Basis von LazyBear's Squeeze

Schriftsteller:ChaoZhang, Datum: 21.12.2023 14:22:49
Tags:

img

Übersicht

Die Hauptidee dieser Strategie basiert auf dem Squeeze Momentum-Indikator von LazyBear, um den Zeitpunkt des Kaufs und Verkaufs zu analysieren. Es analysiert die Wendepunkte im Momentum-Trend und lokalisiert die Gipfel und Tiefen als Verkaufs- und Kaufsignale. Da es sich um eine lange Strategie handelt, berücksichtigt es auch den 50-Perioden-Exponential Moving Average, um Aufwärtstrends zu identifizieren. Wenn der Schlusskurs der Kerze über der 50EMA liegt und die Neigung der 50EMA nach oben neigt, wird das Kaufsignal ausgeführt.

Strategieprinzip

Diese Strategie beinhaltet Bollinger-Bänder und Keltner-Kanäle, um Trends und Quetschzonen zu identifizieren. Insbesondere berechnet sie eine 20-Perioden-Bollinger-Bänder und 20-Perioden-Keltner-Kanäle. Wenn Bollinger-Bänder vollständig in die Keltner-Kanäle fallen, wird es als Quetschsignal angesehen. Die Quetschzone wird identifiziert, wenn das untere Band der Bollinger-Bänder über das untere Band der Keltner-Kanäle geht und das obere Band der Bollinger-Bänder unter das obere Band der Keltner-Kanäle geht. Umgekehrt, wenn das untere Band der Bollinger-Bänder unter das untere Band der Keltner-Kanäle fällt und das obere Band der Bollinger-Bänder über das obere Band der Keltner-Kanäle steigt, ist es eine Nicht-Quetschzone.

Darüber hinaus nutzt die Strategie die lineare Regression, um die Veränderung der Schwungneigung zu analysieren. Sie berechnet den linearen Regressionswert des Preises in den letzten 20 Perioden abzüglich des typischen Preises. Wenn die Neigung des linearen Regressionswerts positiv ist, wird sie als Aufwärtstrend angesehen. Wenn die Neigung negativ ist, ist es ein Abwärtstrend. Innerhalb der Squeeze-Zone, wenn es eine Umkehr in der Schwungneigung gibt, signalisiert es einen Kauf oder Verkauf. Insbesondere, wenn in der Squeeze-Zone, eine Schwungneigung von positiv zu negativ gibt ein Verkaufssignal. Und wenn innerhalb der Squeeze-Zone, eine Schwungneigung von negativ zu positiv gibt ein Kaufsignal.

Um falsche Signale auszufiltern, beurteilt die Strategie auch, ob der Schlusskurs über dem 50-tägigen exponentiellen gleitenden Durchschnitt liegt und ob der 50-tägige exponentielle gleitende Durchschnitt in einer Aufwärtsneigung ist.

Analyse der Vorteile

Dies ist eine sehr clevere Strategie, die zwei verschiedene Arten von Indikatoren verwendet, um ein mehrdimensionales Urteil über den Markt zu fällen, wodurch falsche Signale effektiv vermieden werden können.

  1. Umfassende Anwendung von Bollinger-Bändern, Keltner-Kanälen und Impulsindikatoren für mehrdimensionale Analyse und verbesserte Genauigkeit.

  2. Die Zonen der Verknüpfung können die Höhen und Tiefen der Umkehrungen der Bewegungskraft effektiv erkennen und die Kurven präzise erfassen.

  3. Die Trendfilterung basierend auf dem Schlusskurs und dem 50-Tage-EMA verhindert die wiederholte Eröffnung von Positionen während der Konsolidierung.

  4. Signalen, die nur in Zonen mit hohem Druck ausgestrahlt werden, reduzieren falsche Signale und verbessern die Rentabilität.

  5. Der große Raum für die Optimierung von Parametern ermöglicht gezielte Optimierungen über Anpassungszeiten usw.

  6. Lang- und Kurzzeit kombiniert, große Zyklustrends berücksichtigt und mittelfristige Indikatoren integriert, ist die langfristige Richtung klar.

Risikoanalyse

Obwohl diese Strategie mehrere technische Indikatoren aufweist, bestehen immer noch einige Risiken:

  1. Verpasste Kauf-/Verkaufsmöglichkeiten, wenn Bollinger-Bänder und Keltner-Kanäle auseinandergehen.

  2. Bei starken Marktanstiegen oder -abstiegen können große Verluste eintreten.

  3. In Märkten mit hoher Volatilität sind möglicherweise keine Drucksituationen offensichtlich, was zu weniger Signalen führt.

  4. Anfällig für Anpassungsverluste bei Bullen-Bären-Übergängen.

Um diese Risiken zu vermeiden, können wir folgende Maßnahmen ergreifen:

  1. Optimieren Sie die Parameter, um Bollinger-Bänder und Keltner-Kanäle so weit wie möglich zu synchronisieren.

  2. Setzen Sie Stop-Loss auf Einzelverlust.

  3. Verwenden Sie diese Strategie als Teil einer Portfoliostrategie in Kombination mit anderen Strategien.

  4. Bei hoher Volatilität auf Märkten die Positionen angemessen reduzieren.

Optimierungsrichtlinien

Es gibt noch viel Raum für eine Optimierung dieser Strategie, vor allem in folgenden Richtungen:

  1. Optimieren Sie Perioden von Bollinger-Bändern und Keltner-Kanälen, um sie so weit wie möglich zu synchronisieren.

  2. Verschiedene Multiplikatorfaktoren testen, um optimale Parameterkombinationen zu finden.

  3. Versuchen Sie, andere Indikatoren zur Bestätigung einzuführen, z. B. RSI usw.

  4. Auf der Grundlage von Wen Hua Five Color Lines Modellen, wählen Sie diese Strategie abhängig von den Marktstadien.

  5. Einführung von maschinellem Lernen usw. zur dynamischen Optimierung von Parametern.

  6. Backtest auf verschiedenen Münzen, um die am besten geeigneten Handelsprodukte zu finden.

  7. Erforschen Sie die Wirksamkeit dieser Strategie in längeren Zeitrahmen (täglich, wöchentlich usw.).

Schlussfolgerung

Die LazyBear Squeeze Momentum Strategie setzt umfassend verschiedene technische Indikatoren ein, um die Umkehrung der Dynamik für den Handel während der Squeeze-Zonen genau zu identifizieren und sich während nicht-trendiger Märkte nicht wiederholt zu öffnen. Sie hat systematisch quantifizierbare Kauf- und Verkaufsregeln definiert, die bei Backtests hervorragend funktionieren. Durch die Optimierung von Parameter-Einstellungen, die Einführung neuer Beurteilungsindikatoren usw. hat diese Strategie großen Raum für Verbesserungen und ist eine gründliche Forschung und Anwendung durch Quant-Händler wert.


/*backtest
start: 2023-11-20 00:00:00
end: 2023-12-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

//
// @author LazyBear 
// List of all my indicators: https://www.tradingview.com/v/4IneGo8h/
//
initialBalance = 8000

strategy("Crypto momentum strategy", overlay=false)


length = input(20, title="BB Length")
mult = input(2.0, title="BB MultFactor")
lengthKC = input(20, title="KC Length")
multKC = input(1.5, title="KC MultFactor")

useTrueRange = input(true, title="Use TrueRange (KC)", type=input.bool)

// Calculate BB
source = close
basis = sma(source, length)
ema = ema(source, 50)
dev = multKC * stdev(source, length)
upperBB = basis + dev
lowerBB = basis - dev

// Calculate KC
ma = sma(source, lengthKC)
range = useTrueRange ? tr : high - low
rangema = sma(range, lengthKC)
upperKC = ma + rangema * multKC
lowerKC = ma - rangema * multKC

sqzOn = lowerBB > lowerKC and upperBB < upperKC
sqzOff = lowerBB < lowerKC and upperBB > upperKC
noSqz = sqzOn == false and sqzOff == false

val = linreg(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)), sma(close, lengthKC)), lengthKC, 0)

slope = (val - val[2])
emaSlope = (ema - ema[1])


bcolor = iff(slope > 0, color.lime, color.red)
scolor = noSqz ? color.green : sqzOn ? color.black : color.green
squeeze = (noSqz ? 0 : sqzOn ? 1 : 0)

plot(val, color=color.gray, style=plot.style_line, linewidth=1, title="momentum")
plot(slope, color=bcolor, style=plot.style_circles, linewidth=2, title="slope")
plot(0, color=scolor, style=plot.style_line, linewidth=2, title="squeeze-zero")

co = crossover(slope / abs(slope), 0)
cu = crossunder(slope / abs(slope), 0)

if co and source > ema and emaSlope > 0
    strategy.entry("long", strategy.long, comment="long")
if cu
    strategy.close("long")


Mehr