Erweiterter gleitender Durchschnitt kombiniert mit der quantitativen Strategie des Engulfing-Musters

SMA MA 结构突破 吞没形态 技术分析 趋势跟踪 量化交易
Erstellungsdatum: 2025-07-28 13:20:35 zuletzt geändert: 2025-07-28 13:20:35
Kopie: 0 Klicks: 230
2
konzentrieren Sie sich auf
319
Anhänger

Erweiterter gleitender Durchschnitt kombiniert mit der quantitativen Strategie des Engulfing-Musters Erweiterter gleitender Durchschnitt kombiniert mit der quantitativen Strategie des Engulfing-Musters

Überblick

Die Quantifizierungsstrategie für die hochrangige Durchschnittslinie kombiniert mit dem Absorptionsformat ist ein Handelssystem, das mehrere technische Indikatoren kombiniert, um Handelssignale zu ermitteln, die hauptsächlich auf den Moving Average, dem Absorptionsformat und dem Preisstrukturbruch basieren. Die Strategie erhöht die Zuverlässigkeit des Handels durch die Suche nach den Zusammenhängen mehrerer Faktoren und nutzt eine Trendfolge-Strategie, um nach Einstiegsmöglichkeiten in der bestätigten Marktrichtung zu suchen.

Strategieprinzip

Die Kernprinzipien der Strategie basieren auf der synchronisierten Bestätigung von mehreren technischen Indikatoren und umfassen die folgenden Schlüsselkomponenten:

  1. Doppelte mobile GleichschaltungDie Strategie verwendet einen einfachen Moving Average (SMA) mit 66 und 85 Perioden, um die Gesamttrendrichtung des Marktes zu bestimmen. Wenn der Preis über den beiden Durchschnittslinien liegt, wird er als bullish angesehen; wenn der Preis unter den beiden Durchschnittslinien liegt, wird er als bearish angesehen.

  2. Formerkennung verschluckt

    • Schauen Sie sich die Form des Ankerverschlucks an: Der aktuelle Schlusskurs ist höher als der Eröffnungskurs ((Sun), und der aktuelle Schlusskurs ist höher als der Schlusskurs des vorherigen Ankers, während der aktuelle Eröffnungskurs niedriger als oder gleich dem Schlusskurs des vorherigen Ankers ist.
    • Abwärtsverschwemmung: Der aktuelle Schlusskurs liegt unter dem Eröffnungskurs (Cline) und der aktuelle Schlusskurs liegt unter dem Schlusskurs des vorherigen Kurses, während der aktuelle Eröffnungskurs höher oder gleich dem Schlusskurs des vorherigen Kurses ist.
  3. Preisstrukturen durchbrechen Erkenntnis

    • Hoch- und Tiefpunkte der beiden vorne und hinten gelegenen Säulen zur Identifizierung von schwingenden Höhen und Tiefen
    • Bestätigung der bullish-Struktur, wenn der Preis die vorherigen Schwankungen überschreitet
    • Bestätigung der Beobachtungsstruktur, wenn der Preis die vorherigen Schwankungen überschreitet
  4. MehrfachbestätigungDie Strategie erfordert, dass mindestens zwei der vier Bedingungen erfüllt sind, um ein Handelssignal zu erzeugen:

    • Bestätigung des Untergangs
    • Bestätigung eines Preisstrukturbruchs
    • Die Position des Preises gegenüber der Moving Average
    • Reservierter Fibonacci-Rückrufbereich ((im Code als Positionierer)
  5. AbkühlzeitDie Strategie implementiert eine Richtungskühlung, die innerhalb der angegebenen Anzahl von K-Linien nach dem Auslösen des Handelssignals kein Handelssignal in derselben Richtung wiederholt erzeugt, um einen Überhandel zu vermeiden.

Strategische Vorteile

  1. MehrfachbestätigungDie Anforderung, dass mindestens zwei technische Kennzahlen gleichzeitig erfüllt sind, um ein Handelssignal zu erzeugen, reduziert die Wahrscheinlichkeit von Falschsignalen erheblich und erhöht die Zuverlässigkeit des Signals.

  2. Kombination von Trend und UmkehrungDurch die Erfassung von mittleren und langen Trends durch eine bewegliche Mittellinie und gleichzeitig die Nutzung von Engulfing-Formen, um kurzfristige Umkehrmöglichkeiten zu erfassen, wird eine organische Kombination von Trend- und Umkehrstrategie erreicht.

  3. PreisstrukturanalyseDie Analyse der Marktstrukturen, die die Beständigkeit von Trends durch die Identifizierung von Höhen und Tiefen durchbringt, ist eine weiter entwickelte Methode der technischen Analyse.

  4. KühlmechanismusDie Funktion “Cooling-Periode” wurde entwickelt, um die übermäßigen Transaktionsprobleme zu vermeiden, die durch kontinuierliche Signale verursacht werden, und hilft, die Handelsfrequenz zu kontrollieren.

  5. Anpassbarkeit der ParameterDie wichtigsten Parameter der Strategie (z. B. Durchschnittszyklus, Länge der Abkühlungsperiode) können an unterschiedliche Märkte und Zeitrahmen angepasst werden und sind sehr anpassungsfähig.

  6. Optimierung der RisikobeträgeDie Strategie Tests haben gezeigt, dass ein profitabler Handel, obwohl die Gewinnrate bei etwa 30% liegt, einen signifikanten Vorteil gegenüber einem verlustreichen Handel hat, was dem Handelsprinzip “Lassen Sie die Gewinne laufen, kontrollieren Sie die Verluste” entspricht.

Strategisches Risiko

  1. Falsche DurchbruchgefahrDie Lösung besteht darin, Bestätigungsmechanismen hinzuzufügen, die beispielsweise die Kontinuität nach dem Durchbruch verlangen, oder eine kombinierte Traffic-Analyse zu integrieren.

  2. DurchschnittsverzögerungEs kann sein, dass die beweglichen Durchschnittswerte in einem schnell wechselnden Markt nicht in der Lage sind, die Preisänderungen rechtzeitig zu reflektieren, was zu einer Verzögerung des Einstiegssignals führt. Es kann in Erwägung gezogen werden, die Verwendung von sensibleren Indikatoren wie EMAs oder die Anpassung der Durchschnittszyklus zu verwenden, um dieses Problem zu mildern.

  3. ÜberhändlerrisikenTrotz der Kühlmechanismen wird von den Strategie-Autoren erwähnt, dass die Strategie immer noch mehr Signale erzeugt, was zu zu häufigen Transaktionen führen kann. Es wird empfohlen, strengere Filterbedingungen oder längere Kühlzeiten hinzuzufügen.

  4. Abhängigkeit vom MarktumfeldDie Strategie funktioniert am besten in trendschaffenden Märkten, aber in schrägen oder hochflüchtigen Märkten kann sie mehr Fehlsignale erzeugen. Sie kann eine Marktaufklärung hinzufügen, um die Strategieparameter in verschiedenen Marktzuständen anzupassen oder den Handel auszusetzen.

  5. Fehlende SchadensbegrenzungDer Code enthält keine eindeutige Stop-Loss-Strategie, was zu einem zu hohen Einzelschaden führen kann. Es wird empfohlen, ein strenges Stop-Loss-Mechanismus zu implementieren, z. B. ein Stop-Loss auf der Grundlage von ATR oder ein Fix-Prozent-Stop.

Richtung der Strategieoptimierung

  1. Fibonacci-Rückruf-Gebiete verbessernDie Fibonacci-Rückrufprüfung im aktuellen Code ist ein Positionszeichen ((für immer wieder true)), das eine echte Fibonacci-Rückruf-Bereichserkennung ermöglicht und eine präzisere Preisniveauunterstützung für die Einstiegspunkte bietet.

  2. Bestätigung zur LautstärkeerhöhungDie Einbindung von Transaktionsmengenanalysen in die Strategie kann helfen, die Effektivität von Preis-Breakouts zu bestätigen und das Risiko von False-Breakouts zu reduzieren. Besonders bei strukturellen Breakouts kann die Kombination mit Abgaben die Zuverlässigkeit von Breakouts erhöhen.

  3. Dynamische AnpassungsparameterDie Strategie kann auf Basis von Marktschwankungen (z. B. ATR-Indikatoren) die Länge der Durchschnitts- und Abkühlzeit dynamisch anpassen, um sich besser an unterschiedliche Marktbedingungen anzupassen.

  4. Hinzufügen von Stop-Loss-Mechanismen: Einführung von Stop-Loss-Strategien, die auf Risikomanagement basieren, wie beispielsweise dynamische Stop-Loss-Strategien, die auf ATR basieren, oder die Verwendung von vorläufigen Unterstützungswiderstandspunkten als Stop-Loss-Standpunkte.

  5. Marktumfeld-Filter: Hinzufügen von Modulen zur Erkennung der Marktumgebung, z. B. die Verwendung von ADX-Indikatoren, um zu beurteilen, ob ein Markt im Trend ist, den Handel in einem nicht-trendenden Markt auszusetzen oder Strategieparameter anzupassen.

  6. Zeit-FilterEs ist wichtig, die Zeit zu filtern, um Zeiten mit hoher Volatilität oder geringer Liquidität zu vermeiden, z. B. wenn wichtige Wirtschaftsdaten veröffentlicht werden oder wenn der Markt geöffnet und geschlossen wird.

  7. SignalstärkenDie Größe der Positionen wird entsprechend angepasst, um eine genauere Positionsverwaltung zu ermöglichen.

Zusammenfassen

Die Quantifizierung der High-Even-Level-Strategie ist ein integriertes Handelssystem, das mehrere Methoden der technischen Analyse kombiniert, um potenzielle Handelschancen durch die Synergie von beweglichen Meanlines, Engulfing-Formen und Preisstrukturen zu identifizieren. Der Hauptvorteil der Strategie liegt in ihrer Mehrfachbestätigung, die die Falschsignale wirksam reduziert und die Handelsqualität verbessert. Die Abkühlung der Strategie hilft, die Handelsfrequenz zu kontrollieren und Überhändlungen zu vermeiden.

Die Strategie ist jedoch auch mit Risiken verbunden, wie False Breaks, Verzögerung der Durchschnittslinie und Abhängigkeit von der Marktumgebung. Die Leistung der Strategie wird durch optimierende Maßnahmen wie die Verbesserung der Identifizierung von Fibonacci-Rückschrittgebieten, die Erhöhung der Transaktionsmengenbestätigung, die dynamische Anpassung der Parameter und die Hinzufügung eines besseren Risikomanagements verbessert.

Insgesamt hat die Strategie eine gute theoretische Grundlage und praktische Potenzial, besonders für Trader geeignet, die dazu neigen, mehrere technische Indikatoren für ihre Handelsentscheidungen zu verwenden. Es ist jedoch zu beachten, dass jede Handelsstrategie vor der praktischen Anwendung ausreichend getestet und verifiziert werden muss und entsprechend der persönlichen Risikobereitschaft und der Marktumgebung angepasst werden muss.

Strategiequellcode
/*backtest
start: 2024-07-28 00:00:00
end: 2025-07-26 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

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

//@version=6
//@version=6
strategy("Refined MA + Engulfing (M5 + Confirmed Structure Break)", overlay=true, default_qty_type=strategy.fixed, default_qty_value=5)

// === INPUTS ===
ma1Len = input.int(66, title="MA1 Length")
ma2Len = input.int(85, title="MA2 Length")
cooldownBars = input.int(5, title="Directional Cooldown (bars)")

// === MOVING AVERAGES ===
ma1 = ta.sma(close, ma1Len)
ma2 = ta.sma(close, ma2Len)
plot(ma1, color=color.orange, title="MA 66")
plot(ma2, color=color.blue, title="MA 85")

aboveMAs = close > ma1 and close > ma2
belowMAs = close < ma1 and close < ma2

// === ENGULFING LOGIC ===
bullEngulf = close > open and close > close[1] and open <= close[1]
bearEngulf = close < open and close < close[1] and open >= close[1]

// === SWING HIGH/LOW DETECTION ===
pivotHigh = ta.pivothigh(high, 2, 2)
pivotLow  = ta.pivotlow(low, 2, 2)

var float lastSwingHigh = na
var float lastSwingLow = na
var string marketStructure = "none"  // can be "bullish", "bearish", or "none"
var bool structureConfirmed = false

// Track last swing points
if not na(pivotHigh)
    lastSwingHigh := pivotHigh
if not na(pivotLow)
    lastSwingLow := pivotLow

// Confirm structure breaks
bullBreakConfirmed = not na(lastSwingHigh) and close > lastSwingHigh
bearBreakConfirmed = not na(lastSwingLow) and close < lastSwingLow

if bullBreakConfirmed
    marketStructure := "bullish"
    structureConfirmed := true
if bearBreakConfirmed
    marketStructure := "bearish"
    structureConfirmed := true

bullishStructure = marketStructure == "bullish" and structureConfirmed
bearishStructure = marketStructure == "bearish" and structureConfirmed

// === PLACEHOLDER FOR FIB CONFLUENCE ===
inFibLong = true
inFibShort = true

// === CONFLUENCE CHECK (2 of 4) ===
longConfluence = 0
longConfluence += bullEngulf ? 1 : 0
longConfluence += bullishStructure ? 1 : 0
longConfluence += aboveMAs ? 1 : 0
longConfluence += inFibLong ? 1 : 0

shortConfluence = 0
shortConfluence += bearEngulf ? 1 : 0
shortConfluence += bearishStructure ? 1 : 0
shortConfluence += belowMAs ? 1 : 0
shortConfluence += inFibShort ? 1 : 0

longReady = longConfluence >= 2
shortReady = shortConfluence >= 2

// === COOLDOWN TRACKING ===
var int lastLongBar = na
var int lastShortBar = na
canLong = na(lastLongBar) or (bar_index - lastLongBar >= cooldownBars)
canShort = na(lastShortBar) or (bar_index - lastShortBar >= cooldownBars)

// === FINAL ENTRY CONDITIONS ===
longCondition = longReady and canLong and bullishStructure and aboveMAs
shortCondition = shortReady and canShort and bearishStructure and belowMAs

if (longCondition)
    strategy.entry("Long", strategy.long)
    lastLongBar := bar_index

if (shortCondition)
    strategy.entry("Short", strategy.short)
    lastShortBar := bar_index