Die Ressourcen sind geladen. Beförderung...

Das Dual-Momentum-Squeeze-Handelssystem (SMI+UBS-Indikatorenkombinationsstrategie)

Schriftsteller:ChaoZhang, Datum: 2024-11-28
Tags:SMIUBSSMASL

img

Übersicht

Diese Strategie ist ein kurzfristiges Handelssystem, das den Squeeze Momentum Indicator (SMI) und den Ultimate Buy/Sell (UBS) Indikator kombiniert. Die Strategie erfasst in erster Linie Leerverkaufsmöglichkeiten durch Überwachung von Dynamikveränderungen und gleitenden Durchschnitts-Crossover-Signalen. Das System beinhaltet einen prozentualen Stop-Loss-Mechanismus, um Kapital zu schützen und gleichzeitig stabile Renditen zu erzielen.

Strategieprinzipien

Die Kernlogik beruht auf der Kombination von zwei Hauptindikatoren:

  1. Squeeze Momentum Indicator (SMI): Erzeugt Impulssignale, indem es die Beziehung zwischen Schlusskurs und Hoch-/Niedrigpreisen berechnet und mit gleitenden Durchschnitten glättet.
  2. Ultimate Buy/Sell Indicator (UBS): Bestimmt den Eintrittszeitpunkt anhand von Preiskreuzungen mit gleitenden Durchschnitten. Ein kurzes Signal wird bestätigt, wenn der Preis unter den gleitenden Durchschnitt geht.
  3. Das System tritt automatisch bei Bestätigung des Signals in Short-Positionen ein und setzt für eine wirksame Risikokontrolle ein Gewinnziel von 0,4% und ein Stop-Loss-Level von 2,5%.

Strategische Vorteile

  1. Dual Signal Confirmation: Verbessert die Signalzuverlässigkeit durch die Resonanz zweier unabhängiger Indikatoren.
  2. Umfassendes Risikomanagement: klare Gewinn- und Stop-Loss-Bedingungen kontrollieren das Risiko pro Handel wirksam.
  3. Einstellbare Parameter: Schlüsselparameter wie SMI-Länge, Glättungszeit und UBS-Zeit können für verschiedene Marktbedingungen optimiert werden.
  4. Hohe Automatisierung: Eine klare Strategie-Logik erleichtert die automatisierte Handelsumsetzung.

Strategische Risiken

  1. Falsches Ausbruchrisiko: Häufige falsche Signale können in verschiedenen Märkten auftreten.
  2. Trendabhängigkeit: Die Strategie funktioniert besser auf Trending-Märkten, kann aber häufig auf Seitenmärkten anhalten.
  3. Parameterempfindlichkeit: Verschiedene Parameter-Einstellungen können zu erheblichen Leistungsunterschieden führen.
  4. Schlupfwirkung: Die tatsächlichen Ausführungspreise können bei hoher Volatilität erheblich von den Signalpreisen abweichen.

Optimierungsrichtlinien

  1. Hinzufügen von Marktumfeldfiltern: Einbeziehung von Volatilitäts- oder Trendstärkenindikatoren zur Anpassung von Strategieparametern unter unterschiedlichen Marktbedingungen.
  2. Optimieren Sie den Stop-Loss-Mechanismus: Überlegen Sie, dynamische Stopps wie Trailing Stops oder ATR-basierte Stopps zu implementieren.
  3. Hinzufügen von Zeitfiltern: Vermeiden Sie volatile Perioden und wichtige Zeitpunkte für Pressemitteilungen.
  4. Implementieren von Positionsgrößen: Dynamische Anpassung der Positionsgröße basierend auf der Signalstärke und der Marktvolatilität.

Zusammenfassung

Die Strategie baut ein relativ vollständiges Short-Selling-System auf, indem sie Squeeze-Dynamik und letztendliche Kauf-/Verkaufstechnische Indikatoren kombiniert. Ihre Stärken liegen in der hohen Signalzuverlässigkeit und der klaren Risikokontrolle, obwohl sie eine starke Abhängigkeit von den Marktbedingungen aufweist. Durch Verbesserungen bei der Filterung des Marktumfelds und der Stop-Loss-Optimierung können die Stabilität und Rentabilität der Strategie weiter verbessert werden.


/*backtest
start: 2024-10-28 00:00:00
end: 2024-11-27 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © algostudio
// Code Generated using PineGPT - www.marketcalls.in

//@version=5
strategy("Squeeze Momentum and Ultimate Buy/Sell with Stop Loss", overlay=true, process_orders_on_close = false)

// Input settings
smiLength = input.int(20, title="SMI Length")
smiSmoothing = input.int(5, title="SMI Smoothing")
ultBuyLength = input.int(14, title="Ultimate Buy/Sell Length")
stopLossPerc = input.float(2.5, title="Stop Loss Percentage", step=0.1) / 100

// Define Squeeze Momentum logic
smi = ta.sma(close - ta.lowest(low, smiLength), smiSmoothing) - ta.sma(ta.highest(high, smiLength) - close, smiSmoothing)
squeezeMomentum = ta.sma(smi, smiSmoothing)
smiUp = squeezeMomentum > squeezeMomentum[1]
smiDown = squeezeMomentum < squeezeMomentum[1]

// Define Ultimate Buy/Sell Indicator logic (you can customize the conditions)
ultimateBuy = ta.crossover(close, ta.sma(close, ultBuyLength))
ultimateSell = ta.crossunder(close, ta.sma(close, ultBuyLength))


// Trading logic: Short entry (Squeeze Momentum from green to red and Ultimate Sell signal)
shortCondition = smiDown and ultimateSell
if (shortCondition)
    strategy.entry("Short", strategy.short)

//Set short target (exit when price decreases by 0.2%)
shortTarget = strategy.position_avg_price * 0.996

// Set stop loss for short (5% above the entry price)
shortStop = strategy.position_avg_price * (1 + stopLossPerc)

// Exit logic for short
if (strategy.position_size < 0)
    strategy.exit("Exit Short", "Short", limit=shortTarget, stop=shortStop)

// Plot the Squeeze Momentum for reference
plot(squeezeMomentum, color=color.blue, linewidth=2, title="Squeeze Momentum")

// Optional: Plot signals on the chart
plotshape(series=ultimateBuy, location=location.belowbar, color=color.green, style=shape.labelup, title="Ultimate Buy Signal")
plotshape(series=ultimateSell, location=location.abovebar, color=color.red, style=shape.labeldown, title="Ultimate Sell Signal")

// For more tutorials on Tradingview Pinescript visit https://www.marketcalls.in/category/tradingview


Verwandt

Mehr