
Die ADX- und Supertrend-basierte Strategie für kontinuierliche Einstiegshandel ist eine quantitative Handelsmethode, die Richtungsindikatoren mit Trendbestätigungsinstrumenten kombiniert. Die Strategie baut ein umfassendes Handelssystem auf, indem sie den mittleren Richtungsindex (ADX), den Richtungsbewegungsindikator (DMI) und den Supertrend-Indikator integriert und eine umfangreich gewichtete Auftragsblockanalyse (Order Block) ergänzt. Die Strategie legt besonderen Wert auf eine kontinuierliche Bedingungsprüfung, d. h. die Auslösung eines Handelssignals erst nach Erfüllung mehrerer technischer Bedingungen.
Die Kernlogik der Strategie basiert auf folgenden Schlüsselkomponenten:
ADX- und DMI-Analyse: Das System misst die Stärke der Markttrends mit dem ADX-Indikator und bestimmt die Richtung der Trends durch den Vergleich der +DI- und -DI-Werte. Wenn der ADX-Wert höher ist als die eingestellte Schwelle ([default 25], zeigt dies eine starke Tendenz auf dem Markt; +DI größer als -DI zeigt eine Beobachtungs-Tendenz an, umgekehrt eine Abwärts-Tendenz.
Bestätigung des SupertrendsDer Supertrend-Indikator dient als zweitrangige Trendbestätigungsinstrument und unterstützt den Kauf, wenn er ein bullishes Signal (trend == -1) zeigt, und den Verkauf, wenn er ein bearishes Signal (trend == 1) zeigt. Die Veränderung des Supertrends wird ebenfalls als Trigger für ein Ausstiegssignal verwendet.
Lieferungsgewichtete AuftragsblockDie Strategie führt die Identifizierung von dynamischen Unterstützungs- und Widerstandsbereichen basierend auf der Transaktionsmenge ein. Wenn die Transaktionsmenge ein bestimmtes Vielfaches des Durchschnitts überschreitet (standardmäßig 2x) und der Preis einen lokalen Höchst- oder Tiefpunkt erreicht, markiert das System diese Bereiche als potenzielle Auftragsblöcke und hält sie für einen festgelegten Zeitraum (standardmäßig 15 Zyklen) gültig.
NachhaltigkeitsprüfungDas einzigartigste Teil der Strategie ist die kontinuierliche Bestätigung der Bedingungen. Das System verfolgt die Handelsbedingungen anhand von vier Bull-Zeichen: Trendbedingungen, ADX-Bedingungen, DMI-Bedingungen und Regionalbedingungen. Die Handelssignale werden nur ausgelöst, wenn alle Bedingungen erfüllt sind.
Kaufbedingungen:
Verkaufsbedingungen:
Ausstiegslogik: Wenn der Supertrend-Indikator die Richtung des Trends ändert, wird die Strategie die aktuelle Position aufgelöst.
MehrfachbestätigungDurch die Integration mehrerer technischer Indikatoren reduziert die Strategie erheblich die Anzahl der Falschsignale und erhöht die Handelsgenauigkeit. Insbesondere die Kombination von ADX und Supertrend gewährleistet sowohl die Stärke der Trends als auch eine klare Richtung.
NachhaltigkeitsprüfungDie Strategie hat eine kontinuierliche Verifizierungsmechanik, die es dem System erlaubt, zu handeln, wenn alle Bedingungen erfüllt sind, anstatt einen Handel nur aufgrund eines einzigen Signals auszulösen. Diese Konstruktion erhöht die Stabilität der Strategie erheblich und reduziert unnötige Geschäfte unter ungünstigen Marktbedingungen.
Identifizierung von dynamischen Unterstützungen und WiderständenDie Analyse der Auftragsblöcke basierend auf der Transaktionsmenge bietet eine dynamische Referenz für Unterstützung und Widerstand für die Strategie, wodurch die Handelsentscheidungen näher an der Marktmikrostruktur angepasst werden und ein rückläufiger Handel in den Schlüsselpreisbereichen vermieden wird.
Genaue AusstiegsmechanismenDie Strategie nutzt die Supertrend-Umkehrung als Ausstiegssignal, bietet eine objektive und zeitnahe Stop-and-Stop-Methode und verwaltet das Risiko für jeden Handel effektiv.
Äußerst anpassungsfähigDie Strategie kann an unterschiedliche Marktumgebungen und Handelsarten angepasst werden, was ihre Funktionalität und Flexibilität erhöht.
ParameterempfindlichkeitDie Auswahl von Parametern wie ADX-Länge, Supertrend-Multiplier und ATR-Perioden hat einen signifikanten Einfluss auf die Strategie. Unpassende Parameter-Einstellungen können zu Übertrieben oder verpassten wichtigen Gelegenheiten führen. Die Lösung besteht darin, die Parameter durch historische Rückvergleiche zu optimieren und verschiedene Parameterkombinationen für verschiedene Marktumstände vorzubereiten.
TrendumkehrrisikoTrotz der Verwendung von Mehrfachbestätigungsmechanismen kann die Strategie unter starken Marktumdrehungen oder hohen Volatilitätsbedingungen mit einem Rückstandsrisiko konfrontiert sein. Die Lösung besteht darin, die Einführung eines Volatilitätsfilters oder die dynamische Anpassung der ADX-Temperature an unterschiedliche Marktschwankungen zu berücksichtigen.
Gefahr von TransplantationsstörungenDie Strategie ist auf die Analyse von Transaktionen angewiesen und kann bei Transaktionsanomalien (z. B. bei unregelmäßig großen Transaktionen) zu einer falschen Identifizierung von Auftragsblöcken führen. Die Lösung besteht darin, die Transaktionsglättung zu erhöhen oder zusätzliche Anomalien-Erkennungssysteme einzuführen.
Überoptimierte RisikenDie Lösung besteht darin, eine Strategie durch Forward-Tests und Off-Sample-Tests zu stabilisieren.
LiquiditätsrisikenIn einem markt mit geringer liquidität kann ein hoher handelsaufkommen zu rutschen oder verzögerten ordenausführungen führen, was die wirksamkeit der strategie beeinträchtigt. die lösung besteht darin, in einem markt mit geringer liquidität zusätzliche liquiditätsfilterbedingungen hinzuzufügen oder die positiongröße anzupassen.
Anpassung der dynamischen ParameterDie Strategie kann weiter optimiert werden, um die ADX-Trendierung und die Supertrend-Parameter automatisch an die Marktvolatilität anzupassen. So kann beispielsweise die ADX-Trendierung erhöht werden, um falsche Durchbruchsignale zu reduzieren, wenn die Marktvolatilität hoch ist. Die Strategie kann die Trendierung reduzieren, um die Sensitivität zu erhöhen, wenn die Marktvolatilität niedrig ist.
Zeit-Filter-IntegrationDie Einführung eines Zeitfilters verhindert, dass die Börsen zu den Zeiten des Marktoppens, des Marktoppens oder der geringeren Liquidität gehandelt werden. Diese Optimierung gilt insbesondere für die Tageshandelsstrategie und kann die unnötigen Geschäfte, die durch Marktlärm verursacht werden, erheblich reduzieren.
Mehrfache ZeitrahmenanalyseDurch die Integration von Trendinformationen aus höheren Zeitrahmen kann die Strategie sicherstellen, dass die Handelsrichtung mit den größeren Trends übereinstimmt. Zum Beispiel kann der Handel nur ausgeführt werden, wenn die Tages- und die Stundenlinie in die gleiche Richtung verlaufen, was die Gewinnquote erhöht und das Risiko eines rückläufigen Handels verringert.
Erweiterte RisikomanagementDie Ausstiegsmechanismen der aktuellen Strategie sind relativ einfach und können durch die Hinzufügung von mobilen Stop-Losses, Verlustprozentsatz-Filtern oder der Berechnung von Stop-Loss-Punkten basierend auf der Volatilität verbessert werden. Diese Verbesserungen können die Gewinne besser schützen und das Risiko pro Handel kontrollieren.
Klassifizierung der MarktsituationEinführung eines Klassifikationsmechanismus für die Marktsituation, der es der Strategie ermöglicht, verschiedene Marktumgebungen, wie z. B. Korrekturphasen, Trendphasen und Hochvolatilitätsphasen, zu erkennen und die Handelslogik entsprechend anzupassen. Diese Optimierung verhindert den Handel unter Marktbedingungen, die nicht für die Strategie geeignet sind, und verbessert die Stabilität der Strategie weiter.
Die ADX- und Supertrend-basierte Continuous Entry-Trading-Strategie baut ein umfassendes und robustes Trading-System auf, indem sie mehrere technische Indikatoren und einzigartige Continuous-Condition-Verification-Mechanismen integriert. Die Strategie legt besonderen Wert auf den Handel unter idealen Marktbedingungen und vermeidet viele häufige Fehlsignal-Fallen. Durch die Kombination von ADX, DMI und Supertrend ist die Strategie in der Lage, ein starkes Trendumfeld zu identifizieren und die richtige Handelsrichtung zu bestimmen.
Trotz der vielen Vorteile dieser Strategie müssen die Benutzer auf potenzielle Probleme wie Parameter-Sensitivität, Trendwechselrisiken und Überoptimierung achten. Die Strategie hat viel Optimierungsraum durch die Einführung von dynamischen Parameteranpassungen, Multi-Time-Frame-Analysen und erweiterten Risikomanagementmechanismen. Letztendlich stellt diese Methode, die technische Kennzahlen und die Analyse der Marktmikrostruktur kombiniert, eine ausgewogene und umfassende quantitative Handelsideologie dar, die für Anleger geeignet ist, die nach hochwertigen Handelssignalen und nicht nach Hochfrequenzhandel streben.
/*backtest
start: 2024-07-22 00:00:00
end: 2025-07-20 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":2000000}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © algostudio
//Code Generated using PineGPT - www.marketcalls.in
//@version=6
strategy("ADX + Supertrend Persistent Entry Logic", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10, process_orders_on_close=true, calc_on_every_tick=true, max_bars_back=500)
// === INPUTS === //
adxLen = input.int(7, "ADX Length")
dilen = input.int(7, "+DI/-DI Length")
adxThresh = input.float(25, "ADX Threshold")
supertrendFactor = input.float(2.0, "Supertrend Multiplier", minval=0.1)
supertrendLen = input.int(7, "Supertrend ATR Length")
volLookback = input.int(10, "Volume Zone Lookback")
volMult = input.float(2.0, "Volume Threshold Multiplier")
zoneDuration = input.int(15, "Zone Display Duration")
// === ADX AND DI CALCULATION === //
[plusDI, minusDI, adx] = ta.dmi(dilen, adxLen)
// === SUPER TREND CALCULATION === //
[supertrend, trend] = ta.supertrend(supertrendFactor, supertrendLen)
bullishSupertrendShift = trend == -1 and trend[1] == 1
bearishSupertrendShift = trend == 1 and trend[1] == -1
// === DYNAMIC ORDER BLOCK ZONES (Volume weighted) === //
volThreshold = ta.sma(volume, volLookback) * volMult
volHighs = high == ta.highest(high, 5) and volume > volThreshold
volLows = low == ta.lowest(low, 5) and volume > volThreshold
obSupportValid = ta.valuewhen(volLows, low, 0)
bbResistanceValid = ta.valuewhen(volHighs, high, 0)
obSupportStart = ta.valuewhen(volLows, bar_index, 0)
bbResistanceStart = ta.valuewhen(volHighs, bar_index, 0)
obSupportEnd = obSupportStart + zoneDuration
bbResistanceEnd = bbResistanceStart + zoneDuration
inObZone = bar_index >= obSupportStart and bar_index <= obSupportEnd
inBbZone = bar_index >= bbResistanceStart and bar_index <= bbResistanceEnd
// === PLOT ZONES === //
plot(inObZone ? obSupportValid : na, title="OB Support Line", color=color.green, linewidth=2)
plot(inBbZone ? bbResistanceValid : na, title="BB Resistance Line", color=color.red, linewidth=2)
plot(supertrend, color=trend == 1 ? color.red : color.green, title="Supertrend")
// === PERSISTENT FLAGS === //
var bool buyTrendMet = false
var bool buyAdxMet = false
var bool buyDiMet = false
var bool buyZoneClear = false
var bool sellTrendMet = false
var bool sellAdxMet = false
var bool sellDiMet = false
var bool sellZoneClear = false
// === READY FLAGS (declare early to resolve use-before-declare issues) === //
buyReady = buyTrendMet and buyAdxMet and buyDiMet and buyZoneClear
sellReady = sellTrendMet and sellAdxMet and sellDiMet and sellZoneClear
// Track condition flags
buyTrendMet := trend == -1 ? true : buyTrendMet
buyAdxMet := adx > adxThresh ? true : (buyReady ? buyAdxMet : false)
buyDiMet := plusDI > minusDI ? true : buyDiMet
buyZoneClear := not inBbZone ? true : buyZoneClear
sellTrendMet := trend == 1 ? true : sellTrendMet
sellAdxMet := adx > adxThresh ? true : (sellReady ? sellAdxMet : false)
sellDiMet := minusDI > plusDI ? true : sellDiMet
sellZoneClear := not inObZone ? true : sellZoneClear
// Recalculate readiness after condition updates
buyReady := buyTrendMet and buyAdxMet and buyDiMet and buyZoneClear
sellReady := sellTrendMet and sellAdxMet and sellDiMet and sellZoneClear
// === STRATEGY ENTRIES === //
if buyReady
strategy.entry("Buy", strategy.long)
buyTrendMet := false
buyAdxMet := false
buyDiMet := false
buyZoneClear := false
if sellReady
strategy.entry("Sell", strategy.short)
sellTrendMet := false
sellAdxMet := false
sellDiMet := false
sellZoneClear := false
// === STRATEGY EXITS === //
if strategy.position_size > 0 and trend == 1
strategy.close("Buy")
if strategy.position_size < 0 and trend == -1
strategy.close("Sell")
// === PLOTS === //
plotshape(buyReady, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellReady, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// For more tutorials on Tradingview Pinescript visit , visit https://www.marketcalls.in/category/tradingview