Strukturausbruch-Backtesting-Strategie
Übersicht
Diese Strategie verwendet einen Ausbruchsansatz auf Niveauebene, geht bei bestimmten Ausbruchsbedingungen long oder short und verfügt über eine automatische Backtest-Funktion, um die besten Parameterkombinationen zu finden.
Prinzip
- Die Eingabeparameter umfassen die Anzahl der zurückliegenden Tage, den Prozentsatz für Take-Profit und Stop-Loss sowie automatische Backtest-Parameter wie die Anzahl der zurückliegenden Tage, die Spanne für Take-Profit und Stop-Loss usw.
- Beim Backtest werden verschiedene Kombinationen der zurückliegenden Tage, Take-Profit- und Stop-Loss-Prozentsätze durchlaufen, und die Gewinne und Verluste für jede Kombination werden aufgezeichnet.
- Ausbruchssignal-Erkennung: Wenn der Schlusskurs das obere Band überschreitet und nicht die Einstiegsstunde ist, gehe long; wenn der Schlusskurs das untere Band unterschreitet und nicht die Einstiegsstunde ist, gehe short.
- Stop-Loss-Bedingung: Wenn kein Take-Profit erreicht wurde und die Stop-Loss-Linie ausgelöst wird, wird die Position mit Verlust geschlossen.
- Take-Profit-Bedingung: Wenn kein Stop-Loss ausgelöst wurde und die Take-Profit-Linie erreicht wird, wird die Position mit Gewinn geschlossen.
- Zeigt eine detaillierte Tabelle der Backtest-Ergebnisse an, die je nach Benutzereinstellung nach Gewinnrate, Nettogewinn oder Anzahl der Trades sortiert werden kann.
Vorteile
- Die automatische Backtest-Funktion kann schnell die besten Parameterkombinationen finden, ohne manuelle Tests.
- Die Backtest-Ergebnisse können nach Gewinnrate, Nettogewinn, Anzahl der Trades usw. sortiert werden, um flexibel die optimalen Parameter entsprechend den eigenen Bedürfnissen auszuwählen.
- Visualisiert die Gewinne und Verluste jedes einzelnen Trades.
- Die Backtest-Parameter sind anpassbar, sodass ein breiterer Parameterraum getestet und das globale Optimum gefunden werden kann.
- Die Handelsregeln der Strategie sind einfach und klar, leicht zu verstehen und umzusetzen.
Risiken und Lösungen
- Ein kurzer Backtest-Zeitraum kann zu instabilen Ergebnissen führen. Lösung: Einen längeren Backtest-Zeitraum einstellen.
- Häufige Trades können zu Slippage führen und die Gewinne beeinträchtigen. Lösung: Die Take-Profit- und Stop-Loss-Spannen angemessen erweitern.
- Backtest-Ergebnisse für ein einzelnes Instrument sind möglicherweise nicht repräsentativ. Lösung: Backtest mit verschiedenen Instrumenten, um stabile Parameterkombinationen zu finden.
- Überoptimierung der Parameter kann zu Overfitting führen. Lösung: Stabilität der Parameter in verschiedenen Instrumenten und Zeiträumen validieren.
- Vernachlässigung der Transaktionskosten kann zu verzerrten Backtest-Ergebnissen führen. Lösung: Angemessene Provisionsparameter festlegen.
Optimierungsrichtungen
- Erweiterung der Parameteroptimierungsdimension, z. B. Hinzufügen von Trailing-Stop oder Begrenzung der Handelsanzahl.
- Optimierung der Einstiegsbedingungen, Kombination mit Trendindikatoren zur Filterung.
- Optimierung der Take-Profit- und Stop-Loss-Strategien, z. B. dynamisches Take-Profit oder Trailing-Stop.
- Hinzufügen von Algorithmen wie maschinellem Lernen zur Unterstützung der Parameteroptimierung.
- Optimierung der Codestruktur zur Erhöhung der Backtest-Geschwindigkeit.
- Validierung der Parameterstabilität in mehreren Instrumenten und Zeiträumen.
- Integration einer automatischen Handelsfunktion in Betracht ziehen.
Zusammenfassung
Die allgemeine Idee dieser Strategie ist klar und leicht verständlich. Die automatische Backtest-Funktion kann Parameter schnell optimieren, und die Anzeige der Gewinne/Verluste ist hilfreich für die Verbesserung der Strategie. Es gibt bestimmte Risiken, die beachtet werden müssen, aber durch vielseitige Optimierungen kann sie kontinuierlich verbessert werden und hat einen hohen praktischen Nutzen. Insgesamt nutzt die Strategie einen einfachen Ausbruchsansatz in Kombination mit einem automatischen Backtest-Tool, um Händlern zu helfen, schnell ein stabiles Handelssystem aufzubauen.
/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// © -_-
//@version=5
// strategy("[-_-] LBAB", process_orders_on_close=true, overlay=true, max_labels_count=500, max_lines_count=500, max_boxes_count=500, default_qty_type=strategy.cash, default_qty_value=100, initial_capital=10000, commission_type=strategy.commission.percent, commission_value=0.075)
- 1

