Zweiseitige Stop-Loss-Take-Profit-Strategie auf der Grundlage von Stochastic Crossover

Schriftsteller:ChaoZhang, Datum: 2024-03-08 15:12:42
Tags:

img

Übersicht

Diese Strategie nutzt die Crossover-Signale des Stochastischen Oszillators, um Kauf- und Verkaufsaktionen auszulösen. Wenn die %K-Linie über die %D-Linie überschreitet und der %K-Wert unter 20 liegt, öffnet sie eine Long-Position; wenn die %K-Linie unter die %D-Linie überschreitet und der %K-Wert über 80 liegt, öffnet sie eine Short-Position. Darüber hinaus setzt die Strategie Profit- und Stop-Loss-Distanzen ein, um Positionen zu verwalten und die Ausweitung von Verlusten zu verhindern. Darüber hinaus setzt die Strategie auch logische Bedingungen für die Schließung von Positionen. Wenn der Stochastische Oszillator ein Crossover-Signal gegenüber dem Eröffnungssignal zeigt, schließt er die entsprechende Long- oder Short-Position, auch wenn der Profit- oder Stop-Loss-Preis nicht erreicht wurde.

Strategieprinzip

  1. Berechnen Sie die Werte %K und %D des 14-Perioden-Stochastischen Oszillators und glätten Sie sie mit einfachen gleitenden Durchschnitten.
  2. Bestimmen, ob sich die Zeile %K und die Zeile %D gekreuzt haben:
    • Wenn die %K-Linie über die %D-Linie geht und der %K-Wert unter 20 liegt, wird ein Kaufsignal ausgelöst und eine Longposition eröffnet.
    • Wenn die %K-Linie unterhalb der %D-Linie kreuzt und der %K-Wert über 80 liegt, wird ein Verkaufssignal ausgelöst und eine Short-Position eröffnet.
  3. Einstellung der Gewinn- und Stop-Loss-Distanzen (in Ticks) zur Verwaltung offener Positionen:
    • Für Long-Positionen wird der TP-Tick des Take-Profit-Preises über dem Einstiegspreis und der SL-Tick des Stop-Loss-Preises unter dem Einstiegspreis gesetzt.
    • Für Short-Positionen werden die TP-Tickets des Take-Profit-Preises unter dem Einstiegspreis und die SL-Tickets des Stop-Loss-Preises über dem Einstiegspreis gesetzt.
    • Wenn der Preis den Take-Profit- oder Stop-Loss-Preis erreicht, schließen Sie die entsprechende Position.
  4. Festlegen logischer Bedingungen für die Schließung von Positionen:
    • Wenn die Linie %K unterhalb der Linie %D kreuzt und der Wert %K 80 oder weniger beträgt, werden alle Longpositionen geschlossen.
    • Wenn die Linie %K über die Linie %D kreuzt und der Wert %K größer oder gleich 20 ist, werden alle Shortpositionen geschlossen.

Analyse der Vorteile

  1. Diese Strategie verwendet den Stochastischen Oszillator als Haupthandelssignalindikator, der im quantitativen Handel weit verbreitet ist und Marktverhältnisse von Überkauf und Überverkauf effektiv erfassen kann.
  2. Die Strategie legt sowohl Gewinn-/Stop-Loss-Ansprüche als auch logische Bedingungen für das Schließen von Positionen fest, die Risiken bis zu einem gewissen Grad kontrollieren und eine Ausweitung der Verluste vermeiden können.
  3. Die Strategielogik ist klar, leicht verständlich und umsetzbar und für Anfänger geeignet.

Risikoanalyse

  1. Der Stochastische Oszillator kann in einem unruhigen Markt viele falsche Signale erzeugen, was zu einer hohen Handelsfrequenz und erhöhten Transaktionskosten führt.
  2. Diese Strategie passt die Positionen nicht dynamisch an, und feste Gewinn- und Stop-Loss-Distanzen können Risiken bei starken Marktschwankungen möglicherweise nicht wirksam kontrollieren.
  3. Die Parameter in der Strategie (z. B. Stochastic Oscillator Period, Take Profit- und Stop Loss-Distanzen usw.) sind fest und nicht für unterschiedliche Marktbedingungen optimiert, was die Anpassungsfähigkeit der Strategie beeinträchtigen kann.

Optimierungsrichtung

  1. Es sollte in Erwägung gezogen werden, andere technische Indikatoren oder Marktstimmungsindikatoren einzuführen, die zusammen mit dem stochastischen Oszillator verwendet werden sollen, um die Zuverlässigkeit der Handelssignale zu verbessern und falsche Signale zu reduzieren.
  2. Optimierung der Positionsverwaltung durch dynamische Anpassung der Gewinn- und Stop-Loss-Distanzen auf der Grundlage von Marktvolatilitätsbedingungen oder Annahme fortschrittlicherer Geldverwaltungsmethoden wie dem Kelly-Kriterium.
  3. Verwenden Sie Optimierungsmethoden wie genetische Algorithmen und Rastersuche, um Strategieparameter zu optimieren und die optimale Parameterkombination zu finden, die sich an verschiedene Marktbedingungen anpasst.
  4. Es sollte in Betracht gezogen werden, Filterbedingungen wie Handelszeiten und Volatilität von Handelsinstrumenten hinzuzufügen, um den Handel unter ungünstigen Marktbedingungen zu reduzieren.

Zusammenfassung

Die bidirektionale Stop-Loss-Take-Profit-Strategie basierend auf dem Stochastic-Crossover ist eine einfache und leicht verständliche quantitative Handelsstrategie. Sie löst Kauf- und Verkaufsaktionen durch die Crossover-Signale des Stochastic-Oszillators aus und setzt Profit-/Stop-Loss-Taken und logische Bedingungen für das Schließen von Positionen fest, um Risiken zu managen. Der Vorteil dieser Strategie besteht darin, dass die Logik klar und für Anfänger zu erlernen und zu verwenden geeignet ist; sie birgt jedoch auch einige Risiken, wie der Stochastic-Oszillator kann viele falsche Signale in einem unruhigen Markt erzeugen, und feste Positionsmanagementmethoden können sich möglicherweise nicht an verschiedene Marktbedingungen anpassen. Um die Leistung der Strategie weiter zu verbessern, können wir andere Indikatoren einführen, Positionsmanagement, Parameteroptimierung und Filterbedingungen hinzufügen. Im Allgemeinen kann diese Strategie als grundlegende quantitative Handelsstrategie


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

//@version=5
strategy("How to force strategies fire exit alerts not reversals", initial_capital = 1000, slippage=1, commission_type = strategy.commission.cash_per_contract, commission_value = 0.0001, overlay=true) 
// disclaimer: this content is purely educational, especially please don't pay attention to backtest results on any timeframe/ticker

// Entries logic: based on Stochastic crossover
k = ta.sma(ta.stoch(close, high, low, 14), 3)
d = ta.sma(k, 3)
crossover = ta.crossover(k,d)
crossunder = ta.crossunder(k,d)

if (crossover and k < 20)
	strategy.entry("Buy", strategy.long, alert_message="buy")
if (crossunder and k > 80)
	strategy.entry("Sell", strategy.short, alert_message="sell")

// StopLoss / TakeProfit exits:
SL = input.int(600, title="StopLoss Distance from entry price (in Ticks)")
TP = input.int(1200, title="TakeProfit Distance from entry price (in Ticks)")
strategy.exit("xl", from_entry="Buy", loss=SL, profit=TP, alert_message="closebuy")
strategy.exit("xs", from_entry="Sell", loss=SL, profit=TP, alert_message="closesell")

// logical conditions exits:
if (crossunder and k <= 80)
	strategy.close("Buy", alert_message="closebuy")
if (crossover and k >= 20)
	strategy.close("Sell", alert_message="closesell")

Mehr