Multidimensionales Entropie-Momentum-Trend-Adaptives Handelssystem

CETP-Plus Shannon Entropy RSI ATR ADX EMA momentum 3D Histogram Volatility Filter
Erstellungsdatum: 2025-08-11 09:46:42 zuletzt geändert: 2025-08-20 16:26:32
Kopie: 4 Klicks: 353
2
konzentrieren Sie sich auf
319
Anhänger

Multidimensionales Entropie-Momentum-Trend-Adaptives Handelssystem Multidimensionales Entropie-Momentum-Trend-Adaptives Handelssystem

Überblick

Das Multidimensionelle Dynamic Trend Adaptive Trading System ist eine quantitative Trading-Strategie, basierend auf der Theorie der Quadratur, und basiert auf dem CETP-Plus-Indikator, der die “Ordnungsmäßigkeit” im Shannon-Quadratur-Grafikmodell misst. Das System kombiniert die Trendstärken der jüngsten Gewichtung des Index-Moving Average (EMA), der Dynamic Deviation des relativ starken RSI (RSI), der Volatilitätsskalierung des Average True Range (ATR) und der Average Directional Index (ADX) in einem einzigen Score. Diese einzigartige Methode vermeidet die Komplexität der Überlagerung von mehreren Indikatoren und erhöht gleichzeitig die Genauigkeit der frühen Trenddetektion und die Ausgewogenheit der Multiplex-Trading-Strategie.

Strategieprinzip

Das Kernprinzip dieser Strategie ist die Anwendung der Shannon-Einheit auf die Analyse von Graphikmodellen in Finanzmärkten. Die Shannon-Einheit stammt aus der Informatik und wird zur Quantifizierung der Unsicherheit oder “Verwirrung” von Randomisierungsvariablen verwendet. In dieser Strategie wird die Einheit berechnet und angewendet, indem:

  1. Berechnung der ErsatzquoteDie Strategie berechnet zunächst drei Schlüsselfaktorquoten - die Einheitsquote (die die Stärke des Trends widerspiegelt), die Auf- und Abwärtsquote (die die potenzielle Umkehr widerspiegelt).
  2. Gewichtung der Index-AbnahmeDie EMA arbeitet nach dem gleichen Prinzip wie die EMA: Die EMA verwendet einen Abnahmefaktor ((0.8)), um die historischen Graphikdaten mit einem höheren Gewicht zu versehen, um den jüngsten Daten ein höheres Gewicht zu geben.
  3. Dreidimensionale RechteckkartenDie Abmessungen entsprechen der Entität, der oberen und unteren Schattenlinie.
  4. Berechnung von KohlenwasserstoffenDie Schattenwerte der Lineargraphie werden mit der Shannon-Formel berechnet, wobei die niedrigen Schatten die Vorhandensein eines starken Musters anzeigen.
  5. Integration der DynamikdifferenzDie RSI-ähnliche Berechnungsmethode erfasst die Preisbewegungen und passt die Bergbau-Wertung an.
  6. Anpassung der TrendstärkeDie ADX-ähnliche Berechnungsmethode erfasst die Richtung und Stärke von Trends und passt die Bewertung weiter an.
  7. VolatilitätsanpassungATR wird verwendet, um die Signalkonformität in unterschiedlichen Umgebungen sicherzustellen.

Der endgültige CETP-Score ist das Produkt dieser Faktoren, Positiv tendiert zum Bisex und Negativ tendiert zum Bisex. Die Handelslogik ist einfach und direkt: Wenn der CETP-Score über der festgelegten Positiv-Throughschaft liegt, ist es zu viel, und wenn er unter der negativen Throughschaft liegt, ist es leer. Um Kleinstgeschäfte zu vermeiden, wurde eine Filterung für die Bewegung des Mindestpreises in die Strategie aufgenommen, um sicherzustellen, dass das aktuelle Filterbild genügend Bandbreite hat, um einen Handel auszulösen.

Strategische Vorteile

  1. Integrierte SignaleDer CETP-Plus-Indikator kombiniert die Vorzüge vieler traditioneller Indikatoren (EMA, RSI, ATR, ADX) und bietet ein einheitliches, klares Handelssignal, wodurch ein Risiko von Indikatorkonflikten und Über-Anpassung vermieden wird.

  2. AnpassungsfähigkeitDie Strategie kann sich automatisch an die Marktbedingungen anpassen, um sich an unterschiedliche volatile Umgebungen und die Stärke von Trends anzupassen, und kann ohne manuelle Intervention in verschiedenen Marktzuständen gut funktionieren.

  3. Symmetrische PolyfluorbehandlungStrategie: Die Strategie legt gleichermaßen Wert auf die Mehr- und Leerpositionen, so dass sie sowohl in einem Bullen- als auch in einem Bärenmarkt wirksam funktionieren können und nicht von Richtungsvoreingenommenheit beeinflusst werden.

  4. Frühe Trends erkennenDas Konzept von “Zahlen” erfasst Veränderungen in der Marktstruktur und ermöglicht eine frühzeitige Entwicklung von Trends, bevor sie von herkömmlichen Indikatoren erkannt werden, was eine bessere Eintrittszeit ermöglicht.

  5. Reduzierung der LärmbelastungDie Strategie unterscheidet zwischen echten Signalen und Marktgeräuschen und reduziert das Auftreten von Falschsignalen.

  6. AnpassbarkeitEine Vielzahl von Parametern lässt sich je nach Handelsvariante und Zeitrahmen optimieren, was eine hohe Flexibilität und Anpassungsfähigkeit der Strategie ermöglicht.

  7. Vollständige RisikomanagementDas System bietet eine integrierte, mehrschichtige Risikokontrolle, einschließlich Prozentsatzstop, ATR-basierte dynamische Stop-Loss- und Tracking-Stops sowie ein Minimal-Trading-Filter, um den Rückzug effektiv zu steuern.

Strategisches Risiko

  1. ParameterempfindlichkeitDie Strategie enthält mehrere anpassbare Parameter, die übermäßig optimiert werden können, was zu einer schlechten Performance im Live-Trading führen kann. Unterschiedliche Marktumgebungen können unterschiedliche Parameter-Einstellungen erfordern, was die Systemwartung kompliziert macht.

  2. HochfrequenzrisikenDie Strategie kann zu einem hohen Handelsvolumen führen, insbesondere in einem volatilen Markt, was zu Überhändlungen, erhöhten Provisionskosten und einer Vergrößerung der Slippage führt.

  3. Komplexität der BerechnungDie Berechnung von 3D-Rechteck-Boxen und -Ketten kann in Echtzeit hohe Rechenressourcen erfordern und zu Verzögerungen führen, insbesondere in kürzeren Zeitrahmen.

  4. Algorithmische RisikohypothesenDie Strategie basiert auf der Annahme, dass der Ansatz die Marktmuster effektiv erfasst, aber die Marktstrukturen können sich mit der Zeit ändern, was diese Annahme widerlegt.

  5. Schwankende AbhängigkeitStrategie: Verwenden Sie Volatilitätsfilter und Minimalpreis-Movement-Filter, die in einem Umfeld mit geringer Volatilität Handelschancen verpassen können und in einem Umfeld mit hoher Volatilität möglicherweise überempfindlich sind.

  6. Risiken der historischen ÜbereinstimmungTrotz der Kombination verschiedener Indikatoren besteht die Gefahr, dass die historischen Daten zu stark angepasst werden, was zu einem Rückgang der Leistung führen kann, wenn sich die Marktbedingungen in der Zukunft ändern.

Die Lösungen umfassen: die regelmäßige Optimierung der Parameter, die Stabilität der Parameter durch die Verwendung von Step-up-Tests, die Implementierung strengerer Filterbedingungen, die Reduzierung der Handelsfrequenz, die Erhöhung der Bestätigungsbedingungen, die Verbesserung der Signalqualität und die Anpassung der Risikoparameter an die Performance des Echtzeit-Monitoringsystems.

Richtung der Strategieoptimierung

  1. AnpassungsmechanismenDurch die dynamische Anpassung der Parameter und die automatische Optimierung der CETP-Fenster, -Höhe und -Werte auf Basis von Marktvolatilität, -Volumen und -Trendintensität. Diese Optimierung ermöglicht es dem System, sich besser an veränderte Marktbedingungen anzupassen und die Notwendigkeit von manuellen Interventionen zu reduzieren.

  2. Integration von mehreren Zeitrahmen: Die Integration von CETP-Signalen aus verschiedenen Zeitrahmen zur Schaffung eines Schichtbestätigungssystems. Zum Beispiel wird der Handel nur ausgeführt, wenn die höheren Zeitrahmensignale mit den Handelszeitrahmensignal übereinstimmen, was die Gewinnrate erhöht.

  3. Maschinelles Lernen verstärktEinführung von Machine-Learning-Algorithmen zur Optimierung der Parameterwahl und Signalfilterung. Identifizierung der am besten funktionierenden Parameterkombinationen durch Überwachung des Lernens oder Identifizierung verschiedener Marktzustände mithilfe von Clustering-Algorithmen und entsprechende Anpassung der Strategie.

  4. Liquiditäts- und TransaktionsvolumenfilterDie Einführung von Filtern auf Basis von Handelsvolumen und Markttiefe, um sicherzustellen, dass nur unter ausreichender Liquidität gehandelt wird, reduziert die Slippage- und Ausführungsrisiken.

  5. Multi-Asset-Korrelationsanalysen- Integration von Informationen über relevante Märkte (z. B. Indizes, relevante Aktien oder Waren) zur Erhöhung der Handelssicherheit, wenn mehrere relevante Märkte einheitliche Signale erhalten.

  6. Modell zur Vorhersage von VolatilitätEntwicklung von Komponenten zur Volatilitätsprognose, vorzeitige Anpassung von Schwellenwerten und Risikoparametern zur Vorbereitung auf die bevorstehende Volatilität.

  7. Automatische Rückmeldung und OptimierungsrahmenEs ist wichtig, dass die Strategie in der Lage ist, sich an die aktuellen Marktverhältnisse anzupassen, um sicherzustellen, dass sie anpassungsfähig bleibt.

Die oben genannten Optimierungsrichtungen zielen darauf ab, die Stabilität, Anpassungsfähigkeit und Profitabilität von Strategien zu verbessern und gleichzeitig die Notwendigkeit menschlicher Interventionen und das Risiko einer Überkonformität zu reduzieren. Durch die schrittweise Umsetzung dieser Optimierungen kann ein intelligenter und autonomer Handelssystem aufgebaut werden.

Zusammenfassen

Multi-dimensionaler, dynamischer, trendorientierter, selbstappierender Handelssystem repräsentiert eine innovative Methode des quantitativen Handels, die Ordnungsmäßigkeit und Vorhersagbarkeit in Preismodellen durch die Anwendung des Konzepts von Quarks in der Informatik auf die Finanzmärkte erfasst. Die Kernvorteile dieser Strategie liegen darin, dass sie die mathematischen Prinzipien mehrerer traditioneller technischer Indikatoren integriert und ein einziges, klares Handelssignal erzeugt, wodurch Indikatorkonflikte und Signalverwechslungen vermieden werden. Der CETP-Plus-Indikator bietet eine Vielfachhandelsmöglichkeit, um frühe Trenderkennung und -ausgleich durch die Berechnung von Quarks und Quarks in dreidimensionalen Vertikelgraphen in Kombination mit Dynamikverschiebungen, Trendstärken und Volatilitätsanpassungen zu erreichen.

Obwohl die Strategie über eine starke Anpassungs- und Risikomanagement-Funktion verfügt, gibt es auch Herausforderungen wie Parameter-Sensitivität, Rechenkomplexität und Veränderungen der Marktstruktur. Durch die Implementierung von empfohlenen Optimierungsrichtungen, wie Anpassungsparametermechanismen, Multi-Time-Framework-Analysen und Machine-Learning-Verstärkungen, können die Stabilität und die langfristige Leistung der Strategie weiter verbessert werden.

Insgesamt handelt es sich um ein theoretisch fundiertes, kunstvoll konzipiertes, quantitatives Handelssystem, das für Händler mit Programmierung und statistischen Hintergründen geeignet ist, um es in sehr volatilen Märkten zu verwenden. Durch die sorgfältige Optimierung der Parameter und die kontinuierliche Überwachung des Systems hat die Strategie das Potenzial, in verschiedenen Marktumgebungen eine stabile Risiko-Rendite zu erzielen.

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

// @version=6
strategy("Canuck Trading Traders Strategy [Candle Entropy Edition]", overlay=true, default_qty_value = 10)
// Note: Set Properties "Order size" to "100% of equity" for equity-based sizing or fixed contracts (e.g., 100).

// === CETP-Plus Settings ===
cetp_window = input.int(5, "CETP Window", minval=1, maxval=20, group="CETP-Plus Settings")
cetp_bins = input.int(3, "CETP Bins per Dimension", minval=1, maxval=10, group="CETP-Plus Settings")
long_threshold = input.float(0.1, "Long Threshold", minval=0.01, maxval=5.0, step=0.01, group="CETP-Plus Settings")
short_threshold = input.float(-0.1, "Short Threshold", minval=-0.8, maxval=-0.01, step=0.01, group="CETP-Plus Settings")
cetp_k = input.float(0.8, "CETP Momentum Weight", minval=0.1, maxval=5.0, step=0.1, group="CETP-Plus Settings")
mom_scale = input.float(6.0, "Momentum Scale", minval=1.0, maxval=20.0, step=1.0, group="CETP-Plus Settings")
body_weight = input.float(1.0, "Body Ratio Weight", minval=0.0, maxval=2.0, step=0.1, group="CETP-Plus Settings")
upper_weight = input.float(0.8, "Upper Wick Ratio Weight", minval=0.0, maxval=2.0, step=0.1, group="CETP-Plus Settings")
lower_weight = input.float(1.0, "Lower Wick Ratio Weight", minval=0.0, maxval=2.0, step=0.1, group="CETP-Plus Settings")
decay_factor = 0.8  // Hardcoded decay for exponential weighting (recent candles weighted more)

// === Trade Settings ===
min_score_strength = input.float(0.03, "Min CETP Score Strength", minval=0.0, maxval=5, step=0.01, group="Trade Settings")
stop_loss_pct = input.float(0.5, "Stop Loss (%)", minval=0.1, maxval=5.0, step=0.1, group="Trade Settings")
atr_mult = input.float(3.0, "ATR Multiplier", minval=0.5, maxval=10.0, step=0.1, group="Trade Settings")
trail_mult = input.float(5.0, "Trailing ATR Mult", minval=0.5, maxval=10.0, step=0.1, group="Trade Settings")
trail_offset_pct = input.float(1.0, "Trail Start Offset (%)", minval=0.5, maxval=10.0, step=0.1, group="Trade Settings")
min_price_move_mult = input.float(2.0, "Min Price Move ATR Mult (to avoid tiny trades)", minval=0.5, maxval=10.0, step=0.1, group="Trade Settings")  // Filter tiny moves

// Indicators (ATR for stops/trails only)
atr = nz(ta.atr(14), 0.0)

// Volatility Filter (CV < 15% to avoid chop)
vol_threshold = ta.stdev(close, 20) / ta.sma(close, 20) * 100
trade_allowed = vol_threshold < 15.0

// Minimum Price Move Filter (candle range > ATR multiple, floored by min tick)
min_price_move = math.max(atr * min_price_move_mult, syminfo.mintick * 10)  // Avoid sub-penny moves; 10x tick for robustness
price_move_condition = (high - low) > min_price_move  // Fixed: Use high - low instead of ta.range()

// CETP-Plus Calculation (Blended EMA, RSI, ATR, ADX theses)
epsilon = 1e-5
body_ratio = (close - open) / (high - low + epsilon) * body_weight
upper_wick_ratio = (high - math.max(open, close)) / (high - low + epsilon) * upper_weight
lower_wick_ratio = (math.min(open, close) - low) / (high - low + epsilon) * lower_weight

// EMA-like weighting: Exponentially weight recent candles with fixed-size rolling arrays
var float[] body_arr = array.new_float(cetp_window, 0.0)
var float[] upper_arr = array.new_float(cetp_window, 0.0)
var float[] lower_arr = array.new_float(cetp_window, 0.0)

// Shift and decay older values, add new at the end
for i = 0 to cetp_window - 2
    array.set(body_arr, i, array.get(body_arr, i + 1) * decay_factor)
    array.set(upper_arr, i, array.get(upper_arr, i + 1) * decay_factor)
    array.set(lower_arr, i, array.get(lower_arr, i + 1) * decay_factor)

array.set(body_arr, cetp_window - 1, body_ratio)
array.set(upper_arr, cetp_window - 1, upper_wick_ratio)
array.set(lower_arr, cetp_window - 1, lower_wick_ratio)

// Volatility scaling (ATR thesis)
bin_size = 2.0 / cetp_bins * (1 + atr / ta.sma(atr, 14))
hist_size = cetp_bins * cetp_bins * cetp_bins
var int[] hist = array.new_int(hist_size, 0)
array.fill(hist, 0)

for i = 0 to cetp_window - 1
    body_val = array.get(body_arr, i)
    upper_val = array.get(upper_arr, i)
    lower_val = array.get(lower_arr, i)
    
    body_bin = math.max(0, math.min(cetp_bins - 1, math.floor((body_val + 1) / bin_size)))
    upper_bin = math.max(0, math.min(cetp_bins - 1, math.floor((upper_val + 1) / bin_size)))
    lower_bin = math.max(0, math.min(cetp_bins - 1, math.floor((lower_val + 1) / bin_size)))
    
    bin_idx = body_bin * (cetp_bins * cetp_bins) + upper_bin * cetp_bins + lower_bin
    array.set(hist, bin_idx, array.get(hist, bin_idx) + 1)

entropy = 0.0
for i = 0 to hist_size - 1
    count = array.get(hist, i)
    p = count / cetp_window
    if p > 0
        entropy := entropy - p * math.log(p)

max_entropy = math.log(hist_size)
norm_entropy = max_entropy > 0 ? entropy / max_entropy : 0.0

// RSI-like momentum bias
avg_gain = ta.rma(math.max(close - close[1], 0), cetp_window)
avg_loss = ta.rma(math.max(close[1] - close, 0), cetp_window)
rsi_bias = avg_loss > 0 ? avg_gain / avg_loss : 1.0
momentum = ta.mom(close, cetp_window) / (close[cetp_window] != 0 ? close[cetp_window] : 1e-5)
momentum_adj = momentum * (1 + rsi_bias)

// ADX-like trend strength (automated and symmetric for bull/bear)
di_plus = ta.rma(math.max(high - high[1], 0), cetp_window) / atr
di_minus = ta.rma(math.max(low[1] - low, 0), cetp_window) / atr
trend_strength = di_plus > di_minus ? 1.2 : (di_minus > di_plus ? 1.2 : 1.0)

// CETP-Plus Score (optimized: no abs on momentum_adj to preserve sign for better short detection)
avg_body = nz(array.avg(body_arr), 0.0)
raw_score = avg_body * (1 - norm_entropy) * (cetp_k + momentum_adj * mom_scale)
cetp_score = nz(raw_score * trend_strength, 0.0)

// Position State
var float entry_price = na
var int bars_held = 0

if barstate.isconfirmed
    bars_held := strategy.position_size != 0 ? bars_held + 1 : 0

// Trade Logic: Rely solely on current CETP score for entries/exits/reversals, with min price move filter
if bar_index >= cetp_window and math.abs(cetp_score) > min_score_strength and trade_allowed and price_move_condition
    if cetp_score > long_threshold
        if strategy.position_size < 0
            strategy.close("Short", comment="Reverse to Long")
        if strategy.position_size <= 0
            strategy.entry("Long", strategy.long)
            entry_price := close
            sl = entry_price * (1 - stop_loss_pct / 100) - atr * atr_mult
            strategy.exit("Long Exit", "Long", stop=sl, trail_points=atr * trail_mult * syminfo.pointvalue, trail_offset=entry_price * (trail_offset_pct / 100))
            bars_held := 1
    else if cetp_score < short_threshold
        if strategy.position_size > 0
            strategy.close("Long", comment="Reverse to Short")
        if strategy.position_size >= 0
            strategy.entry("Short", strategy.short)
            entry_price := close
            sl = entry_price * (1 + stop_loss_pct / 100) + atr * atr_mult
            strategy.exit("Short Exit", "Short", stop=sl, trail_points=atr * trail_mult * syminfo.pointvalue, trail_offset=entry_price * (trail_offset_pct / 100))
            bars_held := 1