
Die Strategie kombiniert zwei wichtige Indikatoren: den Volatilitätsindikator (VMI) und die Kapazitätsgewichtung des Preiszentrums (VWPC). Das VMI misst die Schwankungsgeschwindigkeit, die eingesetzt wird, wenn der Markt von einer ruhigen Phase in eine aktive Phase übergeht, und tritt aus, wenn die Schwankungen einen chaotischen Höhepunkt erreichen. Der VWPC dient als ein auf der Handelsmenge basierender Trendfilter, um die Gesamtmarktrichtung durch typische Preise zu bestimmen.
Die Kernprinzipien dieser Strategie sind die Nutzung der Volatilität des Marktes, der Veränderung der Zyklen und der Richtung der Trends, um Handelsentscheidungen zu treffen.
Berechnung des VMI:
Kapazitätsgewichtete Preiszentren (VWPC) Berechnung:
Transaktionslogik in zwei Phasen umgesetzt:
Die Strategie erlaubt die Konfiguration der Handelsrichtung ((nur mehr, nur weniger oder in beide Richtungen) und die Optimierung der Parameter für verschiedene Marktumstände.
Eine eingehende Analyse des Strategie-Codes zeigt folgende Vorteile:
Die Wahl des Handelszeitpunkts basierend auf den MarktzyklenDie Strategie identifiziert die Wechselpunkte zwischen niedrigen und hohen Marktfluktuationen durch den VMI-Indikator, der häufig den Beginn einer neuen Preisentwicklung darstellt, und hilft bei der Eintrittsphase zu Beginn eines Trends.
Bestätigung des Trends in Verbindung mit der TransaktionsmengeDie VWPC bietet einen Trendindikator, der mehr repräsentativ ist als ein einfacher Moving Average, und reduziert die Anzahl der Falschsignale durch die Hinzufügung von Handelsgewichten.
Genaue Ein- und AusstiegsbedingungenStrategie: Die Strategie hat eine klare Eintrittslogik ((die Schwankung beginnt zu steigen) und eine Ausstiegslogik ((die Schwankung erreicht die Obergrenze), wobei subjektive Urteile vermieden werden.
Äußerst anpassungsfähigDurch Parameteroptimierung kann die Strategie an unterschiedliche Marktumgebungen und Handelsarten angepasst werden. Insbesondere die Ruhezonen- und Chaoszonen-Thresholds des VMI können an die Merkmale des Marktes angepasst werden.
Risikomanagement-IntegrationDie Strategie beinhaltet eine integrierte Positionsverwaltung (default 15% des Kontos) und eine umgekehrte Handelsbeschränkung (pyramiding = 0), um das Risiko zu kontrollieren.
Visuelle UnterstützungDie Strategie zeichnet VWPC-Trendlinien und Ein- und Ausstiegssignale auf den Diagrammen ab, um den Händlern ein visuelles Verständnis der Marktsituation und der Strategielogik zu ermöglichen.
Hohe RechenleistungDurch die Verwendung von integrierten Funktionen wie ta.rma und ta.barssince ist die Strategie berechenbar und eignet sich für Echtzeit-Trading-Anwendungen.
Obwohl diese Strategie viele Vorteile hat, gibt es folgende potenzielle Risiken:
Die Gefahr eines vorübergehenden False-BreaksDie Lösung ist die Anpassung der VMI-Stille-Zone-Temperature oder die Erhöhung der Bestätigungsbedingungen.
Trendschätzung verzögertDer VWPC kann als Trendindikator etwas zurückbleiben und bei einer starken Marktwende nicht rechtzeitig reagieren. Eine Unterstützung in Verbindung mit einem kurzfristigen Dynamikindikator kann in Betracht gezogen werden.
ParameterempfindlichkeitDie Strategie-Performance ist auf die Parameter-Einstellungen (insbesondere die VMI-Länge und die Threshold-Werte) empfindlich und kann in verschiedenen Marktumgebungen unterschiedliche Parameterkombinationen erfordern. Es wird empfohlen, die Parameter-Optimierung für verschiedene Marktumgebungen durch Rückmeldung durchzuführen.
Unsicherheit über die Häufigkeit des HandelsDa die Strategie auf Volatilität basiert, kann die Häufigkeit der Handelssignale in verschiedenen Marktphasen stark variieren, was sich auf die Gesamtrendite und die Rückzugskontrolle auswirkt.
Auswirkungen auf die TransaktionskostenObwohl die Strategie die Handelskommission ((0,075%) berücksichtigt, können Gleitpunkte und andere Transaktionskosten die Strategie-Performance im tatsächlichen Handel weiter beeinträchtigen.
Abhängig von TransaktionsvolumenDer VWPC-Indikator ist abhängig von Transaktionsvolumen, die in bestimmten Märkten oder Zeitabschnitten ungenau oder unzuverlässig sein können, was die Genauigkeit des Indikators beeinträchtigt.
Durch eine tiefere Analyse des Codes können folgende Optimierungsmöglichkeiten vorgeschlagen werden:
HinzugefügtEs kann ein dynamischer Wertminderungs-Anpassungsmechanismus eingeführt werden, der auf der historischen Volatilität basiert, so dass die Stillstands- und Chaos-Zonen-Wertminderungen des VMI sich automatisch an das allgemeine Marktschwankungsniveau anpassen können, um die Strategieadaptivität zu verbessern.
Erweiterte Trendbestätigungsmechanismen: Es ist möglich, mehrere Zeitrahmen-Trendbestätigungen auf der Grundlage von VWPC zu erweitern oder in Kombination mit anderen Trendindikatoren (z. B. dem Richtungsindikator ADX) zu verwenden, um die Genauigkeit der Trendbeurteilung zu verbessern.
Optimierung der AusspielungsmechanismenEs kann in Betracht gezogen werden, Stopps und Zielgewinnniveaus hinzuzufügen, oder eine dynamische Stop-Loss-Strategie basierend auf der Volatilität, um das Risiko besser zu kontrollieren und die Gewinne zu sperren.
Erhöhung des FiltervolumensEs ist möglich, die Bestätigung der Transaktionsmenge zu ergänzen, und nur bei einem Anstieg der Transaktionsmenge zu betreten, um den Handel in einem Umfeld mit geringer Liquidität zu vermeiden.
Zeitfilter hinzufügenEs ist möglich, dass in bestimmten Märkten in bestimmten Zeitabschnitten ein schwankendes Modell vorhanden ist, so dass Zeitfilterbedingungen hinzugefügt werden können, um bekannte, ineffiziente Handelszeiten zu vermeiden.
Anpassungsmechanismus der ParameterEs kann ein Mechanismus entwickelt werden, der die Parameter automatisch anpasst, basierend auf der jüngsten Marktentwicklung, damit die Strategie besser an Marktveränderungen angepasst werden kann.
Optimierung der KapitalverwaltungDas System ermöglicht eine dynamische Positionsverwaltung basierend auf der Volatilität, die Größe des Handels unter unterschiedlichen Umständen anpasst und Risiken und Gewinne ausgleicht.
Die Schwankungsmasse- und Kapazitätsgewichtung-Trendkreuzstrategie ist ein quantifiziertes Handelssystem, das Volatilitätsanalyse und Trendverfolgung kombiniert. Es greift die Marktreise vom ruhigen zum aktiven Punkt durch den VMI-Indikator ein und verlässt den Markt, wenn die Schwankung ihren Höhepunkt erreicht; gleichzeitig wird der VWPC-Indikator verwendet, um sicherzustellen, dass die Handelsrichtung mit der Gesamttrend übereinstimmt. Der Kernvorteil der Strategie liegt in der Fähigkeit, wichtige Wendepunkte in den Marktfluktuationszyklen zu erfassen und die Handelsqualität zu verbessern, in Kombination mit der Trendrichtung der Filterung von Handelsvolumeninformationen.
Die Strategie sieht sich jedoch auch mit Herausforderungen konfrontiert, wie z. B. Volatilitätsfalse-Breakouts, Trend-Beschluss-Verzögerungen und Parameter-Sensitivität. Die Robustheit und Adaptivität der Strategie kann durch die Einführung von dynamischen Schwellenwertanpassungen, die Erweiterung der Trendbestätigungsmechanismen, die Optimierung der Ausgangslogik und die Realisierung von Adaptionsparametern weiter verbessert werden.
Letztendlich bietet die Strategie einen Handelsrahmen, der auf Marktzusammenbrüchen und Volatilitätszyklen basiert und für verschiedene Marktumgebungen geeignet ist, wobei die Optimierung der Parameter und die Anpassung der Strategie an die spezifischen Handelsarten und Marktcharakteristiken erforderlich ist, um optimale Effekte zu erzielen.
/*backtest
start: 2024-07-14 00:00:00
end: 2025-07-12 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":200000}]
*/
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TiamatCrypto
//@version=5
strategy("Market Entropy Strategy V2.5",
overlay=true,
initial_capital=10000,
default_qty_type=strategy.percent_of_equity,
default_qty_value=15, // Slightly more aggressive allocation
commission_type=strategy.commission.percent,
commission_value=0.075,
pyramiding=0) // Allow only one trade in one direction
// --- General Settings ---
trade_direction = input.string("Both", "Trade Direction", options=["Long", "Short", "Both"], group="General Settings")
// --- Inputs for Optimization ---
// VMI Settings
vmi_length = input.int(14, "VMI Length", group="VMI Settings")
atr_period = input.int(10, "ATR Period for VMI", group="VMI Settings")
vmi_calm_zone = input.int(25, "VMI Calm Zone (Entry Level)", group="VMI Settings", step=5)
vmi_chaos_zone = input.int(85, "VMI Chaos Zone (Exit Level)", group="VMI Settings", step=5)
// VWPC Settings
vwpc_length = input.int(50, "VWPC Filter Length", group="VWPC Trend Filter")
setup_lookback = input.int(10, "How far to look for 'Armed' (candles)", group="Entry Logic")
// --- Indicator #1: Volatility Momentum Index (VMI) ---
current_atr = ta.atr(atr_period)
atr_change = current_atr - current_atr[1]
up_accel = atr_change > 0 ? atr_change : 0
down_accel = atr_change < 0 ? -atr_change : 0
avg_up_accel = ta.rma(up_accel, vmi_length)
avg_down_accel = ta.rma(down_accel, vmi_length)
rs_vmi = avg_down_accel == 0 ? 0 : avg_up_accel / avg_down_accel
vmi = avg_down_accel == 0 ? 100 : avg_up_accel == 0 ? 0 : 100 - (100 / (1 + rs_vmi))
// --- Indicator #2: Volume-Weighted Price Center (VWPC) ---
// Function to calculate VWPC
f_vwpc(length) =>
sum_price_volume = 0.0
sum_volume = 0.0
// We use the typical price, which better represents the candle
typical_price = (high + low + close) / 3
for i = 0 to length - 1
sum_price_volume += typical_price[i] * nz(volume[i])
sum_volume += nz(volume[i])
sum_volume == 0 ? typical_price : sum_price_volume / sum_volume
vwpc = f_vwpc(vwpc_length)
// --- Strategy Logic ---
// Trend Definition
is_uptrend = close > vwpc
is_downtrend = close < vwpc
// Phase 1: "Armed" Condition (Setup)
// We check if VMI WAS in the calm zone in the recent past
was_calm_recently = ta.barssince(vmi < vmi_calm_zone) < setup_lookback
// Phase 2: "Fire" Condition (Trigger)
// VMI is currently crossing the Calm Zone upwards
trigger_fire = ta.crossover(vmi, vmi_calm_zone)
// Combination for ENTRY
buy_signal = is_uptrend and was_calm_recently and trigger_fire
sell_signal = is_downtrend and was_calm_recently and trigger_fire
// Condition for EXIT ("Exhaustion")
// The same condition applies for both long and short - peak chaos
exit_signal = ta.crossover(vmi, vmi_chaos_zone)
// --- Executing Orders ---
// Entry Conditions
allow_longs = trade_direction == "Long" or trade_direction == "Both"
allow_shorts = trade_direction == "Short" or trade_direction == "Both"
// Entries
if (buy_signal and allow_longs)
strategy.entry("Buy", strategy.long, comment="Enter LONG (Armed->Fire)")
if (sell_signal and allow_shorts)
strategy.entry("Sell", strategy.short, comment="Enter SHORT (Armed->Fire)")
// Exits
if (strategy.position_size > 0 and exit_signal)
strategy.close("Buy", comment="Exit LONG (Chaos)")
if (strategy.position_size < 0 and exit_signal)
strategy.close("Sell", comment="Exit SHORT (Chaos)")
// --- Plotting on the chart for visual inspection ---
plot(vwpc, "VWPC Center of Gravity", color=color.new(color.yellow, 0), linewidth=2)
plotshape(buy_signal and allow_longs, "LONG Entry", shape.labelup, location.belowbar, color=color.new(color.aqua, 0), text="ENTRY ↑", textcolor=color.white, size=size.small)
plotshape(sell_signal and allow_shorts, "SHORT Entry", shape.labeldown, location.abovebar, color=color.new(color.fuchsia, 0), text="ENTRY ↓", textcolor=color.white, size=size.small)
// Plotting the exit signal for a better overview
exit_marker_y_pos = strategy.position_size > 0 ? high : low
plotshape(series=(exit_signal and strategy.position_size != 0 ? exit_marker_y_pos : na), title="Exit", style=shape.xcross, location=location.absolute, color=color.new(color.orange, 0), size=size.tiny, text="END")