Bidirektionale Stop-Profit- und Stop-Loss-Strategie basierend auf dem Crossover stochastischer Indikatoren


Erstellungsdatum: 2024-03-08 15:12:42 zuletzt geändert: 2024-03-08 15:12:42
Kopie: 1 Klicks: 292
1
konzentrieren Sie sich auf
1166
Anhänger

Bidirektionale Stop-Profit- und Stop-Loss-Strategie basierend auf dem Crossover stochastischer Indikatoren

Überblick

Die Strategie nutzt das Kreuzungssignal des Stochastic Oscillators, um eine Kauf- und Verkaufsaktion auszulösen. Wenn die %K-Linie des Stochastic Oscillators die %D-Linie von unten nach oben durchläuft und der %K-Wert unter 20 liegt, wird eine Position aufgenommen. Wenn die %K-Linie die %D-Linie von oben nach unten durchläuft und der %K-Wert über 80 liegt, wird die Position aufgelöst.

Strategieprinzip

  1. Berechnen Sie die %K-Werte und %D-Werte der 14-Zyklus-Zufallsindikatoren und verwenden Sie einen einfachen Moving Average, um sie zu glätten.
  2. Beurteilen Sie, ob die %K- und %D-Linien sich kreuzen:
    • Wenn die %K-Linie die %D-Linie von unten nach oben durchquert und der %K-Wert unter 20 liegt, wird ein Kaufsignal ausgelöst, um eine Position zu eröffnen.
    • Wenn die %K-Linie die %D-Linie von oben nach unten durchquert und der %K-Wert über 80 liegt, wird ein Verkaufssignal ausgelöst, um die Position zu öffnen und zu beenden.
  3. Einstellung von Stop-Loss-Distanzen (in Ticks) für die Verwaltung von offenen Positionen:
    • Für mehrköpfige Positionen ist der Stop-Loss-Preis ein Ticks oberhalb des Eröffnungspreises und der Stop-Loss-Preis ein SL Ticks unterhalb des Eröffnungspreises.
    • Für leere Positionen, setzen Sie den Stop-Loss-Preis als TP Ticks unterhalb des Eröffnungspreises und den Stop-Loss-Preis als SL Ticks über dem Eröffnungspreis.
    • Wenn der Preis den Stop-Loss-Preis erreicht hat, wird die entsprechende Position ausgeglichen.
  4. Setzen Sie die logischen Bedingungen für eine Niedrigposition:
    • Wenn die %K-Linie die %D-Linie von oben nach unten durchquert und der %K-Wert kleiner als 80 ist, werden alle Mehrkopfpositionen ausgeglichen.
    • Wenn die %K-Linie die %D-Linie von unten nach oben durchquert und der %K-Wert größer als 20 ist, werden alle leeren Positionen ausgeglichen.

Analyse der Stärken

  1. Die Strategie verwendet Zufallsindikatoren als primäre Handelssignalindikatoren, die in der Quantifizierung von Geschäften weit verbreitet sind und die Überkauf- und Überverkaufszustände des Marktes besser erfassen können.
  2. Die Strategie setzt gleichzeitig einen Stop-Loss-Stopp und eine logische Ausgleichsbedingung ein, um das Risiko bis zu einem gewissen Grad zu kontrollieren und eine Vergrößerung der Verluste zu vermeiden.
  3. Die Strategie ist klar, leicht zu verstehen und zu implementieren, und für Anfänger geeignet.

Risikoanalyse

  1. Zufällige Indikatoren können in schwankenden Märkten zu einem hohen Fehlsignal führen, was zu einer hohen Handelsfrequenz und erhöhten Handelskosten führt.
  2. Die Strategie ist nicht dynamisch an die Position angepasst, und die feste Stop-Loss-Distanz kann das Risiko bei starken Marktschwankungen nicht wirksam kontrollieren.
  3. Die Parameter der Strategie (z. B. Zufallsindikator-Perioden, Stop-Loss-Distanz usw.) sind fest und nicht für verschiedene Marktbedingungen optimiert, was die Anpassungsfähigkeit der Strategie beeinträchtigen kann.

Optimierungsrichtung

  1. Es kann in Erwägung gezogen werden, andere technische Indikatoren oder Marktstimmungsindikatoren einzuführen, die in Kombination mit Zufallsindikatoren verwendet werden, um die Zuverlässigkeit der Handelssignale zu verbessern und die Fehlersignale zu reduzieren.
  2. Optimierung der Positionsverwaltung, Anpassung der Stop-Loss-Distanz an die Dynamik der Marktschwankungen oder die Anwendung von fortgeschrittenen Methoden zur Vermögensverwaltung, wie z. B. der Kelly-Formel
  3. Optimierungsmethoden wie genetische Algorithmen und Gittersuche werden verwendet, um die Strategieparameter zu optimieren und die optimale Kombination von Parametern zu finden, die für verschiedene Marktbedingungen geeignet sind.
  4. Betrachten Sie die Möglichkeit, Filterbedingungen, wie z. B. Handelszeiträume und die Volatilität der Handelsarten, hinzuzufügen, um den Handel unter ungünstigen Marktbedingungen zu reduzieren.

Zusammenfassen

Die zweiseitige Stop-Loss-Strategie basierend auf der Kreuzung von Zufallsindikatoren ist eine einfache und verständliche quantitative Handelsstrategie, die durch die Kreuzung von Signalen von Zufallsindikatoren eine Kauf- und Verkaufsaktion auslöst und die Stop-Loss- und Logik-Platzbedingungen einrichtet, um das Risiko zu verwalten. Der Vorteil der Strategie liegt in der Logik, die klar ist und für Anfänger geeignet ist, zu lernen und zu verwenden.

Strategiequellcode
/*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")