Adaptive Trailing-Retracement-Balance-Trading-Stop-Profit- und Stop-Loss-Strategie

OCA GAP
Erstellungsdatum: 2024-12-12 14:25:36 zuletzt geändert: 2024-12-12 14:25:36
Kopie: 2 Klicks: 413
1
konzentrieren Sie sich auf
1617
Anhänger

Adaptive Trailing-Retracement-Balance-Trading-Stop-Profit- und Stop-Loss-Strategie

Überblick

Die Strategie ist ein auf Lücke und Preisschwankungen basierendes, anpassungsfähiges Handelssystem, das stabile Gewinne erzielt, indem es flexible Einstiegspunkte und dynamische Stop-Loss-Systeme einrichtet. Die Strategie nutzt eine pyramidenartige Positionserhöhung, während das Risiko in Verbindung mit dem OCA-Ordermanagementsystem kontrolliert wird. Das System passt die Positionseinstellung automatisch an die Marktentwicklung an und schließt die Positionsverluste rechtzeitig, wenn ein Umkehrsignal vorliegt.

Strategieprinzip

Die Strategie arbeitet hauptsächlich über folgende Kernmechanismen:

  1. Handelsplatz-Mechanismus: Identifizieren von Auf- und Abwärts-Platz, Setzen von Stop-Loss-Einträgen an der Position des Platzes
  2. Trendverfolgung: Beurteilung der Trendrichtung anhand der Beziehung zwischen dem Eröffnungs- und dem Schlusskurs
  3. Pyramiden-Platzierung: maximal 100 Aufträge in derselben Richtung erlaubt
  4. Dynamischer Stop-Loss: Stop-Loss auf Basis eines dynamisch eingestellten Durchschnittswertes
  5. OCA-Ordermanagement: Verwendung von OCA-Portfolio-Orders, um die Ausführung von Stop-Loss- und Stop-Loss-Orders gegeneinander auszuschließen
  6. Intra-Tag-Beschränkungen: Risiken durch maximale Intra-Tag-Bestellungen kontrollieren

Strategische Vorteile

  1. Anpassungsfähigkeit: Die Strategie ist in der Lage, die Handelsrichtung und die Positionsmenge automatisch an die Marktlage anzupassen
  2. Risikomanagement: Risikomanagement durch mehrere Mechanismen, einschließlich Stop-Loss, OCA-Orders und Intraday-Beschränkungen
  3. Hohe Flexibilität: Unterstützung von Pyramiden, um bei Trends mehr zu verdienen
  4. Effiziente Ausführung: Eintritt mit Stop-Loss-Einzeln und schnelle Positionen zu Schlüsselpreisen
  5. Hochgradige Systematik: vollständige Systematik der Handelsentscheidungen, reduziert die emotionalen Auswirkungen menschlicher Eingriffe

Strategisches Risiko

  1. Rutschrisiko: Bei schnellen Fahrten kann es zu schweren Rutschen kommen.
  2. Übertriebsrisiko: Häufige Ein- und Ausgänge können zu höheren Transaktionskosten führen
  3. Systemische Risiken: Gefährliche Verluste bei starken Marktschwankungen
  4. Risiken bei der Vermögensverwaltung: Pyramidenhaushalte können zu einer zu hohen Kapitalnutzung führen
  5. Technische Risiken: Unterbrechungen des Programms können zu Problemen bei der Auftragsverwaltung führen

Richtung der Strategieoptimierung

  1. Einführung von Volatilitätsindikatoren: Anpassung der Stop-Loss-Parameter an die Dynamik der Marktfluktuation
  2. Optimierung der Aufschlagsmöglichkeiten: Genauere Aufschlagregeln entwickeln, um übermäßigen Kapitalverbrauch zu vermeiden
  3. Verbesserung der Windkontrolle: Erhöhung der Windkontrolle-Indikatoren, wie maximaler Rückzug pro Tag
  4. Verbesserung der Auftragsabwicklung: Optimierung der Auftragseingangsmechanismen und Verringerung der Auswirkungen von Ausrutschpunkten
  5. Steigerung der Marktstimmung: Zeit für die Optimierung des Eintritts in Indikatoren wie die kombinierte Umsatzmenge

Zusammenfassen

Es handelt sich um eine vernünftige, logisch sorgfältige Handelsstrategie, die durch mehrere Mechanismen für die Stabilität und Sicherheit des Handels sorgt. Die Kernvorteile der Strategie liegen in ihrer Anpassungsfähigkeit und Risikokontrolle, aber auch in der Beachtung der Risiken, die von Marktschwankungen ausgehen. Durch kontinuierliche Optimierung und Verbesserung wird die Strategie in der Lage sein, in verschiedenen Marktumgebungen eine stabile Leistung zu erzielen.

Strategiequellcode
/*backtest
start: 2024-12-04 00:00:00
end: 2024-12-11 00:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Greedy Strategy - maclaurin", pyramiding = 100, calc_on_order_fills=false, overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
backtestStartDate = input(timestamp("1 Jan 1990"),
     title="Start Date", group="Backtest Time Period",
     tooltip="This start date is in the time zone of the exchange " +
     "where the chart's instrument trades. It doesn't use the time " +
     "zone of the chart or of your computer.")
backtestEndDate = input(timestamp("1 Jan 2023"),
     title="End Date", group="Backtest Time Period",
     tooltip="This end date is in the time zone of the exchange " +
     "where the chart's instrument trades. It doesn't use the time " +
     "zone of the chart or of your computer.")
inTradeWindow = true
tp = input(10)
sl = input(10)
maxidf = input(title="Max Intraday Filled Orders", defval=5)
// strategy.risk.max_intraday_filled_orders(maxidf)
upGap = open > high[1]
dnGap = open < low[1]
dn = strategy.position_size < 0 and open > close
up = strategy.position_size > 0 and open < close
if inTradeWindow and upGap
    strategy.entry("GapUp", strategy.long, stop = high[1])
else
    strategy.cancel("GapUp")
if inTradeWindow and dn
    strategy.entry("Dn", strategy.short, stop = close)
else
    strategy.cancel("Dn")
if inTradeWindow and dnGap
    strategy.entry("GapDn", strategy.short, stop = low[1])
else
    strategy.cancel("GapDn")
if inTradeWindow and up
    strategy.entry("Up", strategy.long, stop = close)
else
    strategy.cancel("Up")
XQty = strategy.position_size < 0 ? -strategy.position_size : strategy.position_size
dir = strategy.position_size < 0 ? -1 : 1
lmP = strategy.position_avg_price + dir*tp*syminfo.mintick
slP = strategy.position_avg_price - dir*sl*syminfo.mintick
float nav = na
revCond = strategy.position_size > 0 ? dnGap : (strategy.position_size < 0 ? upGap : false)
if inTradeWindow and not revCond and XQty > 0
    strategy.order("TP", strategy.position_size < 0 ? strategy.long : strategy.short, XQty, lmP, nav, "TPSL",  "TPSL")
    strategy.order("SL", strategy.position_size < 0 ? strategy.long : strategy.short, XQty, nav, slP, "TPSL", "TPSL")
if XQty == 0 or revCond
    strategy.cancel("TP")
    strategy.cancel("SL")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)