Identifizierung von Umkehrpunkten über mehrere Perioden und automatisierte Handelsstrategien

MAGIC-9/13 DRP CROSSOVER CONSECUTIVE PATTERNS STOP-LOSS TAKE-PROFIT
Erstellungsdatum: 2025-06-13 13:58:08 zuletzt geändert: 2025-06-13 13:58:08
Kopie: 0 Klicks: 258
2
konzentrieren Sie sich auf
319
Anhänger

Identifizierung von Umkehrpunkten über mehrere Perioden und automatisierte Handelsstrategien Identifizierung von Umkehrpunkten über mehrere Perioden und automatisierte Handelsstrategien

Überblick

Die Multi-Cycle-Return-Point-Identifizierung und Automatische-Trading-Strategie ist ein quantitatives Trading-System, das auf der Erkennung von Magic-913-Mustern und Richtungs-Return-Points (DRP) basiert. Die Strategie fängt Markt-Return-Signale auf, indem sie Preis-Kontinuität-Muster und Dynamik-Veränderungspunkte erkennt, und führt die Transaktionen automatisch aus. Die Strategie basiert auf der Kombination von traditionellen technischen Analyse-Konzepten mit modernen quantitativen Methoden, um potenzielle Markt-Return-Punkte zu identifizieren, um zu Beginn eines Preis-Return-Punktes in den Markt zu gelangen.

Strategieprinzip

Die Kernprinzipien der Strategie basieren auf zwei wichtigen technischen Kennzahlen: dem Magic-913-Modus und dem Richtungsumkehrpunkt (DRP).

  1. Magic-913 Modulerkennung:

    • Das System überwacht das Preisverhalten in neun aufeinanderfolgenden Zyklen und sucht nach einheitlichen Preismustern
    • Hochpunktmodus ((high_9)): entsteht, wenn der Preis 9 Mal in Folge höher als der Schlusskurs seiner vorherigen 4 Perioden ist, aber nicht den 10. Satz erfüllt
    • Low-Punkt-Modell ((low_9)): entsteht, wenn der Preis 9 Mal in Folge unter dem Schlusskurs seiner vorherigen 4 Perioden liegt, aber nicht den 10. Satz erfüllt
  2. Dreh-Rück-Punkt (DRP) Berechnung:

    • Durch die Analyse der Preisbeziehung zwischen der angegebenen Länge (input) und der Preisbeziehung vor der Rücklauflänge (lookback)
    • Berechnen Sie den Aufwärtszähler ((up_count): die Anzahl der Male, in denen der aktuelle Preis höher ist als der Rücklaufpreis
    • Berechnen Sie den Abwärtszähler ((down_count): die Anzahl der Male, in denen der aktuelle Preis unter dem Rücklaufpreis liegt
    • Wenn down_count gleich der eingestellten Länge ist, markiert als Aufwärts-Wendepunkt (Wert 1)
    • Wenn up_count gleich der eingestellten Länge ist, markiert als Fallende Wendepunkt (Wert -1)
  3. Handelssignale erzeugt:

    • Kaufsignal: wird ausgelöst, wenn Low_9 erkannt wird und der Richtungsumkehrpunkt von einem negativen oder nullwertigen Wert nach oben geht
    • Ausverkaufssignal: wird ausgelöst, wenn ein high_9 Modus erkannt wird und der Richtungsumkehrpunkt von Positiv oder Null nach unten überschreitet
  4. Risikomanagement:

    • Automatische Stop-Loss: 10 Stop-Loss-Punkte in der entgegengesetzten Richtung des Kurses
    • Automatische Stopps: Ein 10-Punkte-Stopp in der entgegengesetzten Richtung des Börsenpreises
  5. Hilfsfunktion:

    • get_first_non_na_value: Funktion, die einen nicht-NA-Wert erhält
    • count_consecutive_occurrences: Berechnet die Anzahl der aufeinanderfolgenden Vorkommnisse
    • check_condition_occurrence: Überprüft, ob eine Bedingung in einem bestimmten Zeitraum auftritt
    • filter_occurrences: Anzahl der Vorkommnisse der Filterung auf Basis von Rücklaufzeiten

Strategische Vorteile

  1. Früher Erkennen von MarktumkehrDurch die Kombination des Magic-913-Modus mit dem Richtungsumkehrpunkt ist es möglich, die Signale in den frühen Phasen der Marktumkehr zu erfassen und eine bessere Einstiegszeit zu bieten.

  2. MehrfachbestätigungDie Strategie erfordert die gleichzeitige Erfüllung zweier unabhängiger Bedingungen (Magic-Modus und Richtungsumkehrpunktüberschreitung), reduziert die Wahrscheinlichkeit von Falschsignalen und erhöht die Qualität des Handels.

  3. Automatisierte RisikokontrolleDie integrierte Stop-Loss- und Stop-Stop-Funktion verhindert, dass das Risiko eines einzelnen Handels ohne manuelle Intervention kontrolliert wird und emotionale Handelsentscheidungen getroffen werden.

  4. Visualisierung von HandelssignalenDie Handelssignale werden durch die Farbänderung der Etiketten und Diagramme visuell dargestellt, um den Händlern die Möglichkeit zu geben, potenzielle Handelsmöglichkeiten schnell zu erkennen.

  5. Anpassbarkeit der ParameterDie Strategie bietet die Option, die zwei wichtigen Parameter, die Länge und die Rücklauflänge, anzupassen, um den Händlern die Optimierung für verschiedene Marktbedingungen und Handelsarten zu ermöglichen.

  6. DatenverarbeitungsstabilitätEs enthält Mechanismen für die Bearbeitung von NA-Werten, die die Stabilität der Strategie unter verschiedenen Datenbedingungen verbessern.

  7. Zyklische AnpassungsfähigkeitStrategie: Die Strategie kann auf Diagramme für verschiedene Zeiträume angewendet werden, von Minuten- bis Tagesdiagrammen, was eine flexible Auswahl an Handelszeiträumen ermöglicht.

Strategisches Risiko

  1. ParameterempfindlichkeitStrategie-Performance hängt stark von der Einstellung der Parameter für die Länge und die Rücklauflänge ab. Unterschiedliche Marktumgebungen können unterschiedliche Parameterkombinationen erfordern. Die falsche Parameter-Einstellung kann zu überhändlerischen oder verpassten Handelsmöglichkeiten führen.

  2. Risiken von MarktschwankungenDie Lösung: Die Einstellung des Stop-Loss-Punktes auf eine dynamische, nicht auf eine feste Anzahl von Punkten basierende Werte der Marktfluktuation (z. B. ATR).

  3. Entwicklung der MarktentwicklungDie Strategie richtet sich hauptsächlich an die Design-Umkehrpunkte, die häufig falsche Signale in starken Trendmärkten erzeugen können. Lösung: Hinzufügen von Trendfiltern, die nur dann ein Handelssignal auslösen, wenn bestätigt wird, dass der Markt nicht in einem starken Trend ist.

  4. Rutschpunkte und LiquiditätsrisikenLösungsansatz: Erhöhung der Liquiditätsfilterbedingungen oder Berücksichtigung von Schlupffaktoren bei der Ausführung von Aufträgen.

  5. Risiko einer Über-AnpassungDie Strategie verwendet mehrere Bedingungen und Parameter, wodurch das Risiko besteht, dass die historischen Daten übermäßig angepasst werden. Lösung: Die Stabilität der Strategie wird durch Out-of-sample-Testing und Forward-Testing überprüft.

  6. Kontinuierliche SignalansammlungenLösung: Implementierung eines Signalfiltermechanismus, der die Anzahl der Ausführungen eines Signals in derselben Richtung in kurzer Zeit einschränkt.

  7. Fixed Stop-Loss-BegrenzungLösungen: Implementierung eines dynamischen Stop-Stop-Mechanismus, der auf Marktfluktuationen basiert, oder die Einführung einer Stop-Loss-Strategie, die auf Verlust verfolgt.

Richtung der Strategieoptimierung

  1. Anpassung der dynamischen Parameter:

    • Mechanismen zur automatischen Anpassung der length_input- und lookback_length-Parameter basierend auf Marktschwankungen
    • Prinzip: Unterschiedliche Schwankungsraten erfordern unterschiedliche Parameter für die Empfindlichkeit, und dynamische Anpassungen können die Anpassungsfähigkeit der Strategie verbessern
    • Implementierungsmethode: Formel, die die Parameter des ATR-Designs auf der Grundlage der letzten N-Zyklen anpasst
  2. Trendfilter hinzufügen:

    • Integration von Trend-Erkennungs-Indikatoren (wie beispielsweise Moving Averages, ADX, etc.), die nur dann ausgeführt werden, wenn sie mit der Trendrichtung übereinstimmen
    • Prinzip: Umkehrstrategien sind in der Regel schlechter in trendigen Märkten und Trendfilter reduzieren falsche Signale
    • Umsetzungsmethode: Zugabe von langfristigen Moving Averages als Referenz für die Trendrichtung, nur wenn der Preis über dem Durchschnitt liegt und der Kurs unter dem Durchschnitt liegt
  3. Optimieren Sie den Stop-Loss- und Take-Profit-Mechanismus:

    • Ersetzen Sie die Festpunkt-Einstellung durch eine dynamische Stop-Loss-Stopp-Einstellung basierend auf der Fluktuation
    • Prinzip: Die Marktschwankungen variieren stark zwischen den Zeiten, und eine feste Punktzahl ist nicht für alle Marktbedingungen geeignet
    • Umsetzungsmethode: Stop-Loss-Stopp-Punkt-Einstellungen mit den Multiplikatoren des ATR, z. B. 1,5 mal ATR als Stop-Loss und 3 mal ATR als Stop-Off
  4. Erhöhung des Filtervolumens:

    • Einbeziehung von Volumenfaktoren und Ausführung von Signalen nur bei Bestätigung des Volumens
    • Prinzip: Der Umsatz ist eine wichtige Bestätigung für die Effektivität von Preisänderungen und kann falsche Durchbrüche verringern
    • Umsetzungsmethode: Überprüfen Sie, ob die Transaktionsmenge, die bei einem Signal auftritt, höher ist als die durchschnittliche Transaktionsmenge der letzten N-Zyklen
  5. Zeit-Filter:

    • Vermeiden Sie den Handel in bestimmten Zeitabschnitten (z. B. vor und nach Markteintritts- und Schlusseiten oder nach der Veröffentlichung wichtiger Wirtschaftsdaten)
    • Prinzip: In bestimmten Zeitabschnitten ist die Volatilität ungewöhnlich oder die Richtung unklar und die Risiken im Handel sind höher
    • Umsetzungsmethode: Erhöhung der Zeitvoraussetzungen und Verbot der Erzeugung neuer Signale in Zeiten des hohen Risikos
  6. Positionsmanagement hinzugefügt:

    • Positionsgröße, die sich dynamisch an die Marktvolatilität und das Risikoniveau des Kontos anpasst
    • Prinzip: Eine feste Position kann sich nicht an verschiedene Risikoumgebungen anpassen, eine dynamische Position kann das Risiko kontrollieren, während die erwarteten Erträge beibehalten werden
    • Umsetzungsmethode: Konzeption einer Positionsrechnung auf Basis des Maximal-Rücknahme-Prozentsatzes
  7. Signalstärke-Rating realisiert:

    • Verleihung einer Stärkebewertung für jedes Handelssignal, wobei nur Signale über der Schwelle ausgeführt werden
    • Prinzip: Nicht alle qualifizierten Signale haben die gleiche Qualität. Die Bewertungssysteme können hochwertige Signale auswählen
    • Umsetzungsmethode: Gesamtbewertung basierend auf Faktoren wie Entfernung von der Preis-Mittellinie, Klarheit des Magic-Modus und Intensität des Wendepunkts
  8. Erhöhung der Marktbestätigung:

    • Einführung von relevanten Markt- oder Indexdaten als zusätzliche Bestätigung
    • Prinzip: Die Bestätigung der Konsistenz der relevanten Märkte verbessert die Signalsicherheit
    • Umsetzungsmethode: Überprüfung, ob die wichtigsten Indizes oder die relevanten Märkte ähnliche Anzeichen für eine Umkehr zeigen

Zusammenfassen

Die Multi-Zyklus-Wendepunkt-Erkennung und die automatische Handelsstrategie ist ein quantitatives Handelssystem, das auf einer Kombination von technischen Kennzahlen basiert und die potenziellen Wendepunkte des Marktes durch die Identifizierung des Magic-913-Modells in Kombination mit der Analyse der Wendepunkte erfasst. Die Kernvorteile der Strategie liegen in ihren mehrfachen Bestätigungsmechanismen und integrierten Risikomanagementfunktionen, die in der Lage sind, relativ zuverlässige Handelssignale in den frühen Zeiten der Marktwende bereitzustellen und gleichzeitig das Risiko durch die automatische Stop-Loss-Kontrolle zu kontrollieren.

Die Strategie ist jedoch auch mit Einschränkungen konfrontiert, wie Parameter-Sensitivität, Marktumfeldanpassungsfähigkeit und festen Stop-Loss-Stufen. Durch die Implementierung von Optimierungsmaßnahmen wie dynamische Parameteranpassungen, zusätzliche Trendfilter, Optimierung von Stop-Loss-Stufen und Erhöhung der Bestätigung von Transaktionen können die Anpassungsfähigkeit und Leistungsstabilität der Strategie erheblich verbessert werden.

Für Händler bietet die Strategie einen Rahmen, um systematisch Marktwendepunkte zu erfassen, jedoch mit einer vernünftigen Parameteranpassung und -optimierung in Kombination mit persönlichen Risikopräferenzen und Marktverständnis. In der Praxis wird empfohlen, die Strategie zunächst in Simulationen ausreichend zu testen, um die Eigenschaften der Strategie in verschiedenen Marktumgebungen zu verstehen, und dann schrittweise auf den echten Handel anzuwenden. Durch ständige Optimierung und Verbesserung kann die Strategie zu einem wirksamen Werkzeug in der Toolkit des Händlers werden, insbesondere bei der Erfassung von Marktwendepunkten.

Strategiequellcode
/*backtest
start: 2025-06-05 00:00:00
end: 2025-06-05 15:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy('L3 Magic-9/13 Strategy', overlay=true, max_bars_back=4000, max_labels_count=500)

// 输入参数
length_input = input.int(title='Length', defval=9, minval=1)
lookback_length = input.int(title='Lookback Length', defval=4, minval=1)

// 获取第一个非 NA 值的函数
get_first_non_na_value(values, length) =>
    result = float(na)
    if length >= 1
        for i = 0 to length - 1
            if na(result) or not na(values[i])
                result := values[i]
    result

// 计算连续条件出现次数的函数
count_consecutive_occurrences(condition, length) =>
    count = 0
    for i = 1 to length
        if condition[i - 1]
            count += 1
    count

// 检查条件是否在给定周期内出现的函数
check_condition_occurrence(condition, length) =>
    occurrence = count_consecutive_occurrences(condition, length) != 0 ? 1 : 0
    occurrence

// 基于回溯周期过滤出现次数的函数
filter_occurrences(condition, lookback_period) =>
    output = 0.0
    temp = 0
    for i = lookback_period to 0
        if temp > 0
            output := 0.0
            temp := temp[1] - 1
        else
            if not condition[i]
                output := 0.0
            else
                output := 1.0
                temp := lookback_period + 1
    output_bool = output == 1 ? true : false
    output_bool

// Magic-9/13 逻辑
high_9 = count_consecutive_occurrences(close > get_first_non_na_value(close, 4), 9) == 9 and count_consecutive_occurrences(close > get_first_non_na_value(close, 4), 10) == 9
low_9 = count_consecutive_occurrences(close < get_first_non_na_value(close, 4), 9) == 9 and count_consecutive_occurrences(close < get_first_non_na_value(close, 4), 10) == 9

// 计算方向反转点
up_count = 0
down_count = 0
for i = 0 to length_input - 1
    up_count += (nz(close[i]) > nz(close[i + lookback_length]) ? 1 : 0)
    down_count += (nz(close[i]) < nz(close[i + lookback_length]) ? 1 : 0)

directional_reversal_point = down_count == length_input ? 1 : up_count == length_input ? -1 : 0

// 定义交易信号
buy_signal = check_condition_occurrence(low_9, 2) and ta.crossover(directional_reversal_point, 0)
sell_signal = check_condition_occurrence(high_9, 2) and ta.crossunder(directional_reversal_point, 0)

// 执行交易
if (buy_signal)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Take Profit", "Buy", limit=close + 10 * syminfo.pointvalue, stop=close - 10 * syminfo.pointvalue)

if (sell_signal)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Take Profit", "Sell", limit=close - 10 * syminfo.pointvalue, stop=close + 10 * syminfo.pointvalue)

// 绘制标签
labels = buy_signal ? label.new(bar_index, low, 'B', color=color.new(color.red, 40), textcolor=color.white, style=label.style_label_up, yloc=yloc.price, size=size.small) : sell_signal ? label.new(bar_index, high, 'S', color=color.new(color.lime, 40), textcolor=color.white, style=label.style_label_down, yloc=yloc.price, size=size.small) : na

// 绘制蜡烛图颜色
signal = directional_reversal_point > 0 or up_count > down_count ? 1 : directional_reversal_point < 0 or down_count > up_count ? -1 : 0
drp_color = signal > 0 ? color.green : signal < 0 ? color.red : color.black
barcolor(drp_color)