Durchbruch Höhen und Tiefen Backtesting Strategie

Schriftsteller:ChaoZhang, Datum: 2024-01-08 16:13:44
Tags:

img

Übersicht

Diese Strategie beurteilt die Trendrichtung basierend auf dem Durchbrechen periodischer Höchst- und Tiefststände. Sie geht lang, wenn der Preis durch das periodische Höchststand durchbricht, und geht kurz, wenn der Preis unter das periodische Tiefstand bricht. Sie gehört zur Trendverfolgungsstrategie.

Grundsätze

Die Strategie liest zunächst den vom Benutzer definierten Zyklus (täglich, wöchentlich usw.) und die Lookback-Perioden. Dann erhält sie die höchsten und niedrigsten Preise für den Lookback-Periode basierend auf diesen Parametern. Wenn sie beispielsweise auf täglich und Lookback 1 Periode gesetzt ist, nimmt sie die höchsten und niedrigsten Preise für den vorherigen Tag.

Im tatsächlichen Handel wird der Schlusskurs, wenn er größer oder gleich dem niedrigsten Preis der Rückblickperiode ist, als Aufbruch beurteilt und es geht lang.

Durch das Erfassen der Trendrichtung durch das Durchbrechen periodischer Höhen und Tiefen gehört diese Strategie zu einer Art Trendverfolgungsstrategie.

Analyse der Vorteile

Die wichtigsten Vorteile dieser Strategie sind:

  1. Der große Trend nach einer starken Konsolidierung zu erfassen, indem die Richtung auf der Grundlage von Durchbruchspunkten beurteilt wird.

  2. Einfach und leicht verständlich, sehr geeignet für Anfänger zum Erlernen und Verwenden.

  3. Leicht zu optimieren, indem periodische Parameter angepasst werden, die für verschiedene Sorten anwendbar sind.

  4. Kann Rückwärts-Eingabe für Rückwärts-Betrieb einstellen, Strategie Verwendung bereichern.

  5. Periodische Höchst- und Tiefstände ziehen, um das Urteilen zu unterstützen und Multi-Validierung zu erstellen.

Risikoanalyse

Es gibt auch einige Risiken:

  1. Kann nicht effektiv seitliche Volatilität filtern, möglicherweise mehrere Fehloperationen.

  2. Es besteht ein gewisses Verlustrisiko.

  3. Aufgrund der Handelskosten kann das tatsächliche PnL abweichen.

  4. Die Position kann nicht begrenzt werden, da ein Risiko besteht, dass die Positionen überhändelt werden.

Um diese Risiken zu beheben, können Methoden wie das Setzen von Stop-Loss, die Optimierung der Filterbedingungen und die Steuerung der Positionsgröße verwendet werden.

Optimierung

Die wichtigsten Optimierungsrichtungen sind:

  1. Hinzufügen von Filtermechanismen zur Vermeidung häufiger Öffnungen während der Seitenbewegung. Festlegen von Preiskanal, Volatilitätsfiltern usw.

  2. Einrichtung von Trailing Stop Loss oder Time Stop Loss, um das Risiko eines einzelnen Verlustes zu kontrollieren und die Gesamtrentabilität zu gewährleisten.

  3. Optimierung der Positionsgröße und des Geldmanagements, um Überhandelungen zu vermeiden und Stabilität zu gewährleisten.

  4. Testeinflüsse verschiedener periodischer Parameter und wähle optimale Parameterkombinationen aus.

  5. Erhöhen Sie die Anzahl der algorithmischen Handelsmodule, verwenden Sie Algorithmen für maschinelles Lernen, um die Entscheidungsfähigkeit zu verbessern.

Zusammenfassung

Zusammenfassend lässt sich sagen, dass diese bahnbrechende High Low Backtest-Strategie einfach zu bedienen ist, basierend auf Trend-Tracking, geeignet für Anfänger zu lernen, aber Risiken bestehen, dass sie gefangen werden. Durch das Hinzufügen von Optimierungen wie Filter, Stopps, Positionskontrolle können diese Risiken reduziert und die Strategieergebnisse verbessert werden. Es kann Ideen und Referenzen für unsere weitere Forschung und Verbesserung liefern.


/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 03/07/2018
// This script shows a high and low period value.
//    Width - width of lines
//    SelectPeriod - Day or Week or Month and etc.
//    LookBack - Shift levels 0 - current period, 1 - previous and etc.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="High and Low Levels Backtest", shorttitle="HL Levels", overlay = true)
SelectPeriod = input("D", defval="D")
LookBack = input(1,  minval=0)
reverse = input(false, title="Trade reverse")
xHigh  = request.security(syminfo.tickerid, SelectPeriod, high[LookBack])
xLow   = request.security(syminfo.tickerid, SelectPeriod, low[LookBack])
vS1 = xHigh
vR1 = xLow
pos = iff(close > vR1, 1,
       iff(close < vS1, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 

Mehr