Leapfrog-Preisdurchbruch-Trendstrategie – quantitatives Handelssystem basierend auf Schlüsselpreisniveaus für mehrere Perioden

HOD LOD PMH PML PDH PDL MA RSI ATR ADX
Erstellungsdatum: 2025-01-06 16:06:30 zuletzt geändert: 2025-01-06 16:06:30
Kopie: 1 Klicks: 328
1
konzentrieren Sie sich auf
1617
Anhänger

Leapfrog-Preisdurchbruch-Trendstrategie – quantitatives Handelssystem basierend auf Schlüsselpreisniveaus für mehrere Perioden

Überblick

Bei der Strategie handelt es sich um ein Breakout-Handelssystem, das auf mehreren wichtigen Preisniveaus basiert. Dabei werden hauptsächlich sechs Schlüsselpunkte verfolgt: Intraday-Hoch (HOD), Intraday-Tief (LOD), Vorbörsliches Hoch (PMH), Vorbörsliches Tief (PML), Vortageshoch (PDH) und Vortagestief (PDL). Preis Ebenen, Handelssignale werden durch den Preisdurchbruch durch diese Ebenen generiert. Die Strategie nutzt automatisierten Handel, um Kauf- und Verkaufstransaktionen auf der Grundlage von Preisen auszuführen, die wichtige Niveaus überschreiten.

Strategieprinzip

Die Kernlogik der Strategie umfasst die folgenden Schlüsselelemente:

  1. Berechnung der wichtigsten Preisniveaus: Verwenden Sie die Funktion request.security, um Preisdaten für verschiedene Zeiträume abzurufen und sechs wichtige Preisniveaus zu berechnen.
  2. Festlegen der Eröffnungsbedingungen: Öffnen Sie eine Long-Position, wenn der Preis PMH oder PDH nach oben durchbricht. Öffnen Sie eine Short-Position, wenn der Preis PML oder PDL nach unten durchbricht.
  3. Einstellung der Schließbedingungen: Wenn eine Long-Position gehalten wird und der Preis HOD erreicht, wird die Position geschlossen; wenn eine Short-Position gehalten wird und der Preis LOD erreicht, wird die Position geschlossen.
  4. Grafische Visualisierung: Verwenden Sie horizontale Linien unterschiedlicher Farbe, um die einzelnen Preisniveaus zu markieren: Weiß für HOD, Lila für LOD, Orange für PDH, Blau für PDL, Grün für PMH und Rot für PML.

Strategische Vorteile

  1. Mehrdimensionale Preisreferenz: Verstehen Sie Markttrends umfassend, indem Sie wichtige Preisniveaus über mehrere Zeiträume hinweg überwachen.
  2. Die Logik des Durchbruchshandels ist klar: Handelssignale werden auf der Grundlage von Preisdurchbrüchen generiert und die Handelsregeln sind klar und leicht verständlich.
  3. Hoher Automatisierungsgrad: Das System berechnet automatisch verschiedene Preisniveaus und führt Transaktionen aus, wodurch menschliche Eingriffe reduziert werden.
  4. Starker Visualisierungseffekt: Jedes Preisniveau wird intuitiv durch horizontale Linien unterschiedlicher Farbe angezeigt, was für die Analyse und Beurteilung praktisch ist.
  5. Starke Anpassungsfähigkeit: Die Strategie lässt sich auf unterschiedliche Handelsprodukte und Zeiträume anwenden.

Strategisches Risiko

  1. Risiko eines falschen Ausbruchs: Es kann zu einem falschen Ausbruch auf dem Markt kommen, der ein falsches Signal zur Folge hat.
  2. Volatilitätsabhängigkeit: In Umgebungen mit geringer Volatilität kann die Performance von Strategien schlecht sein.
  3. Unzureichende Risikokontrolle: Fehlen dynamischer Stop-Loss- und Gewinnmitnahmemechanismen.
  4. Abhängigkeit vom Marktumfeld: Kann häufig in einem Seitwärtsmarkt handeln, in dem der Trend nicht offensichtlich ist.
  5. Auswirkungen von Slippage: In Märkten mit geringer Liquidität kann es zu stärkerer Slippage kommen.

Richtung der Strategieoptimierung

  1. Technische Indikatorenfilterung hinzufügen:
  • Einführung des RSI-Indikators zum Filtern von überkauften und überverkauften
  • Verwenden von ATR zum Festlegen eines dynamischen Stop-Loss
  • Kombinieren Sie ADX, um die Trendstärke zu bestimmen
  1. Verbessern Sie das Risikomanagement:
  • Richten Sie einen dynamischen Stop-Loss-Mechanismus ein
  • Trailing-Stop-Funktion hinzugefügt
  • Richten Sie einen gewinnbringenden Mechanismus in Chargen ein
  1. Bestätigung des Optimierungssignals:
  • Bestätigung zur Lautstärkeerhöhung
  • Mehrperioden-Trendbestätigung hinzugefügt
  • Einrichten eines Bestätigungsmechanismus für Signalverzögerungen

Zusammenfassen

Diese Strategie nutzt Marktchancen durch die Überwachung und Nutzung mehrerer wichtiger Preisniveaus und zeichnet sich durch eine klare Logik und einen hohen Automatisierungsgrad aus. Es gibt jedoch auch bestimmte Risiken, die durch das Hinzufügen technischer Indikatorenfilter, die Verbesserung der Risikomanagementmechanismen usw. optimiert werden müssen. Der Hauptvorteil der Strategie liegt in ihrem mehrdimensionalen Preisreferenzsystem, das ein besseres Erfassen von Markttrends ermöglicht. In der tatsächlichen Anwendung sind jedoch gezielte Parameteranpassungen entsprechend den unterschiedlichen Marktumgebungen erforderlich.

Strategiequellcode
/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tradingbauhaus

//@version=6
strategy("HOD/LOD/PMH/PML/PDH/PDL Strategy by tradingbauhaus ", shorttitle="HOD/LOD Strategy", overlay=true)

// Daily high and low
dailyhigh = request.security(syminfo.tickerid, 'D', high)
dailylow = request.security(syminfo.tickerid, 'D', low)

// Previous day high and low
var float previousdayhigh = na
var float previousdaylow = na
high1 = request.security(syminfo.tickerid, 'D', high[1])
low1 = request.security(syminfo.tickerid, 'D', low[1])
high0 = request.security(syminfo.tickerid, 'D', high[0])
low0 = request.security(syminfo.tickerid, 'D', low[0])

// Yesterday high and low
if (hour == 9 and minute > 30) or hour > 10
    previousdayhigh := high1
    previousdaylow := low1
else
    previousdayhigh := high0
    previousdaylow := low0

// Premarket high and low
t = time("1440", "0000-0930") // 1440 is the number of minutes in a whole day.
is_first = na(t[1]) and not na(t) or t[1] < t
ending_hour = 9
ending_minute = 30

var float pm_high = na
var float pm_low = na

if is_first and barstate.isnew and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute))
    pm_high := high
    pm_low := low
else 
    pm_high := pm_high[1]
    pm_low := pm_low[1]

if high > pm_high and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute))
    pm_high := high
    
if low < pm_low and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute))
    pm_low := low

// Plotting levels
plot(dailyhigh, style=plot.style_line, title="Daily high", color=color.white, linewidth=1, trackprice=true)
plot(dailylow, style=plot.style_line, title="Daily low", color=color.purple, linewidth=1, trackprice=true)
plot(previousdayhigh, style=plot.style_line, title="Previous Day high", color=color.orange, linewidth=1, trackprice=true)
plot(previousdaylow, style=plot.style_line, title="Previous Day low", color=color.blue, linewidth=1, trackprice=true)
plot(pm_high, style=plot.style_line, title="Premarket high", color=color.green, linewidth=1, trackprice=true)
plot(pm_low, style=plot.style_line, title="Premarket low", color=color.red, linewidth=1, trackprice=true)

// Strategy logic
// Long entry: Price crosses above PMH or PDH
if (ta.crossover(close, pm_high) or ta.crossover(close, previousdayhigh)) and strategy.opentrades == 0
    strategy.entry("Long", strategy.long)

// Short entry: Price crosses below PML or PDL
if (ta.crossunder(close, pm_low) or ta.crossunder(close, previousdaylow)) and strategy.opentrades == 0
    strategy.entry("Short", strategy.short)

// Exit long: Price reaches HOD
if strategy.position_size > 0 and ta.crossover(close, dailyhigh)
    strategy.close("Long")

// Exit short: Price reaches LOD
if strategy.position_size < 0 and ta.crossunder(close, dailylow)
    strategy.close("Short")