Delta Footprint Chart
- Indikatoren
-
Yuxin Lyu
I build chart and volume tools for MetaTrader 5 — session volume profiles, order-flow style strength visuals, and lightweight manual trading panels. - Version: 1.12
- Aktualisiert: 5 November 2026
- Aktivierungen: 10
Übersicht
Delta Footprint Chart ist ein Canvas-basierter Footprint-Chart-Indikator für MetaTrader 5. Er zeigt selbstgezeichnete Kerzen, numerische Kauf-×-Verkauf-Footprint-Leitern, das kumulative Volumendelta (CVD) und einen Inspektor für ausgewählte Balken an – alles auf einer einzigen Bitmap-Überlagerung. Keine Chart-Objekte, keine Puffer-Plots, keine überlagerten Fenster.
Datenquelle & ehrliche Einschränkungen
Ansichten im Order-Flow-Stil werden aus den Ticks Ihres Brokers (CopyTicks / Range-APIs) erstellt. Die Aggressor-Seite verwendet AggressorRule_v1. Ein Tick nimmt nur dann den Handelspfad an, wenn er gleichzeitig den letzten Kurs, das Volumen und TICK_FLAG_BUY oder TICK_FLAG_SELL enthält. Andernfalls leitet der Kurspfad die Richtung aus der Bewegung von Bid/Ask/Last ab. Der Datenquellen-Chip (bernsteinfarben = synthetisch, grün = Handel, blau = Mischung) in der Symbolleiste zeigt Ihnen an, welcher Pfad die Zahlen erzeugt hat.
- Kein Level-2-Börsendatenfeed
- Kein vollständiges Markt-Tape
- Kein institutioneller Orderfluss
Dies ist ein ehrlicher synthetischer Datenabdruck für Devisen-/CFD-Händler – wird niemals als Börsentiefe vermarktet.
Hauptmerkmale
- Footprint-Leitern – Innerhalb jeder Kerze zeigt jede Preiszeile das Bid-Volumen (links) und das Ask-Volumen (rechts) an. Die Zellen stellen die relative Volumenintensität als Heatmap dar. Ist die Zelle breit genug, werden die vollständigen Ask×Bid-Ziffern angezeigt; ist sie schmaler, ein vorzeichenbehaftetes Delta; ist sie zu klein, ein farbiges Symbol.
- Ungleichgewicht & gestapelte Ebenen – Zeilen, in denen eine Seite um ein konfigurierbares Verhältnis (Standard 3:1) dominiert, werden hervorgehoben. Aufeinanderfolgende Zeilen mit Ungleichgewicht in derselben Richtung erhalten eine Stapelmarkierung – ein visueller Hinweis auf Absorption oder Erschöpfung.
- POC (Point of Control) – Die Kurszeile mit dem höchsten Gesamtvolumen in jedem Balken wird mit einem bernsteinfarbenen Balken markiert.
- CVD-Streifen – Eine in der Größe anpassbare kumulative Volumen-Delta-Kurve unterhalb des Charts, skaliert auf das sichtbare Fenster. Optionales Delta-Histogramm und eine dreizeilige Datentabelle (Volumen / Delta / Kumulativ), die unter jedem Balken ausgerichtet ist.
- CVD-Divergenz – Optionale gelbe Kreise markieren Balken, bei denen sich Schlusskurs und CVD in entgegengesetzte Richtungen bewegten – eine neutrale Beobachtung, kein Handelssignal.
- Inspektor-Panel – Tabelle auf der rechten Seite, die für den ausgewählten Balken die OHLC-Werte, das Gesamt-Ask/Bid/Delta, den POC-Kurs, die Tick-Aufschlüsselung (Handel vs. Kursnotierung vs. neutral vs. ignoriert) sowie eine scrollbare Kursleiter anzeigt.
- Delta-Tabelle – Werte für Volumen, Delta und kumulatives Delta pro Balken in einem kompakten Streifen unterhalb der CVD-Kurve.
- Unabhängiges Ansichtsfenster – Zoomen mit dem Mausrad, Verschieben mit Umschalt+Pfeil nach links (Zeit + Kurs), Skalieren durch Ziehen der Kursachse. Die Balken können jeweils auf bis zu 280 px verbreitert werden.
- Instrumentenvoreinstellungen – Umschaltung per einem Tick zwischen Gold-/FX-/Index-Profilen (Zeilengröße, Spread-Obergrenze, CVD-Höhe, Farben).
- Leistungsvoreinstellungen – „Balanced“ / „Gold“ / „Lite“ / „Manual“ – Abstimmung zwischen CPU-Auslastung und Historientiefe.
- Zweisprachige Benutzeroberfläche – Englische/chinesische Symbolleiste, Inspektor und Beschriftungen.
Installation und Verwendung
- In MetaTrader 5 → Navigator → Indikatoren → DeltaFootprintChart öffnen (oder auf ein Chart ziehen).
- Beginnen Sie während der Handelszeiten mit XAUUSD M5 (oder einem anderen liquiden Symbol), damit sich die Tick-Leitern füllen.
- Behalten Sie beim ersten Start die meisten Standardeinstellungen bei. Stellen Sie die Sprache auf Englisch oder Chinesisch ein und wählen Sie eine „InstrumentPreset“-Voreinstellung, wenn Sie mit einem Klick für Gold, Devisen oder Indizes starten möchten.
- Klicken Sie auf „OK“. Warten Sie, bis die ersten Ticks neu berechnet wurden (Historientiefe = „HistoryBarsTarget“).
- Verwenden Sie das Mausrad zum Zoomen, bis die Bid×Ask-Ziffern lesbar sind. Wenn die Ziffern verdeckt bleiben, erhöhen Sie „MaxPxPerBar“ oder zoomen Sie weiter.
- Klicken Sie auf eine Kerze, um den Inspektor anzuheften. Verwenden Sie die Symbolleisten-Chips für CVD / Inspektor / Ungleichgewicht / Instrumentenwechsel.
- Leere Ladders bei geschlossenem Markt (keine Ticks) sind normal – warten Sie auf Live-Ticks.
Chart-Steuerelemente (nach dem Anfügen)
- Mausrad – Balken zoomen (px/Balken). Ziffern werden nur angezeigt, wenn Balkenbreite und Zellenhöhe die Schwellenwerte überschreiten.
- Umschalt + Ziehen nach links – Zeit und Kurs gemeinsam verschieben; jede Verschiebung löscht „Follow-last-bar“.
- Ziehen mit der linken Maustaste auf der Preisachse – Skalieren Sie den Preisspannbereich (wie in MT5). Zeilenhöhe und Ziffernschriftart passen sich an.
- Einfaches Ziehen mit der linken Maustaste auf dem Chart – Freies Verschieben von MT5-Objekten (Rechteck usw.); Verschieben erfolgt mit Umschalt + Links.
- Doppelklick auf die Kursachse oder den Chart, F oder „Anpassen“ in der Symbolleiste — An sichtbares Hoch/Tief anpassen.
- Home — Letzte Kerze verfolgen und Kurs anpassen.
- [ / ] – Inspektor auf ältere / neuere Kerze verschieben. Auf den Chart klicken, um die Auswahl zu fixieren.
- E – Ausgewählte Kerze als CSV in „Common/Files“ exportieren (Kopfzeile „Honesty“ + Zeilen für Kurs, Geldkurs, Briefkurs, Delta).
- I / Esc – „Über“-Fenster ein-/ausblenden (Regelübersicht, Cache-Schlüssel, Tick-Anzahl, Selbstteststatus).
- Strg+Rad / Umschalt+Rad / Rad auf der Preisachse – Preisbereich zoomen.
- Oberkante des CVD ziehen — Höhe des CVD-Balkens anpassen (96–520 px vor UiScale).
- Symbolleiste — Instrumentenvoreinstellung, Layout, Volumenmodus, CVD, Inspektor, Sprache, „Über“.
Instrumentenvoreinstellungen
| Voreinstellung | Leistung | Zeilengröße | Spreizung | CVD-Höhe | Palette |
|---|---|---|---|---|---|
| Aus | Von den Eingängen | Von den Eingängen | Von den Eingängen | Von den Eingängen | Aus Eingaben |
| Gold | Gold | Manuell 50pt | 250 pt | 280px | Warmes Gold/Grün/Rot |
| FX | Ausgewogen | Auto | 80pt | 220 px | Kühles Blau/Grün |
| Index | Lite | Manuell 20pt | 400 pt | 200px | Gedämpftes Grau |
Voreinstellungen ändern die Zeilengröße, die Spread-Obergrenze, die CVD-Höhe und die Farben. Bereits im Speicher befindliche Ticks werden dabei nicht gelöscht. Eine Änderung der Zeilengröße oder des Spreads führt lediglich zu einer Neuberechnung der Leitern.
Empfohlene Anfangseinstellungen
- Gold (XAUUSD): InstrumentPreset = Gold oder PerformancePreset = Gold, RowSizeMode = Manuell mit einem RowSizePoints-Wert, der den Stellen Ihres Brokers entspricht.
- Währungs-Majors: InstrumentPreset = FX, PerformancePreset = Balanced, RowSizeMode = Auto.
- Indizes: InstrumentPreset = Index, PerformancePreset = Lite, wenn die CPU ausgelastet ist.
- Übersichtliche Benutzeroberfläche: UiScale 1,40–1,80, FontSizeUi 14–16, FontSizeDigits 11–13, ShowDeltaTable = true.
- Übersichtliches Erscheinungsbild: „ShowSessionShade“ = false, „HideNativeCandles“ = true, „FollowLastBar“ = true, „RightPaddingBars“ = 3.
Parameter – So konfigurieren Sie das System
Daten
- HistoryBarsTarget – Anzahl der Balken, die in den Footprint-Ladders beibehalten werden (Standard 400). Höherer Wert = mehr Historie, mehr RAM/CPU-Belastung.
- TickChunkSize – Soft-Cap pro „CopyTicksRange“-Block (Standard: 80.000).
- SyntheticTickWeight – Gewichtung, wenn das Tick-Volumen 0 beträgt (Standard 1,0).
- MaxSpreadPoints – Filter für große Spreads: -1 automatisch (200 Metalle / 80 Devisen), 0 aus, sonst in Punkten.
- „PreferTradeTicks“ – Verwende echte BUY/SELL-Flags, wenn der Feed diese bereitstellt (Standard: „true“).
- AggressorRuleVersion – Beibehaltung von AggressorRule_v1 für die Produktion.
- EnableSynthesisAudit – nur zur Fehlersuche; Synthese wiedergeben/vergleichen (auf „false“ belassen).
Zeilen
- RowSizeMode — „Auto“ (anpassend) oder „Manual“.
- RowSizePoints – Bucket-Höhe in Punkten bei „Manuell“ (z. B. benötigt Gold oft einen größeren Schritt).
- PriceMapMode – SideAware (Standard), Last oder Mid – wie Ticks auf Kurszeilen abgebildet werden.
Footprint
- LadderLayout – „Beside“ (Leiter neben der Kerze) oder „Inside“ (innerhalb des Kerzenkörpers).
- VolumeDisplay — AskBid (Standard), Delta oder TotalDelta.
- ShowImbalance / ImbalanceRatio / MinImbalanceVolume / StackedLevels – Regeln zur Hervorhebung von Ungleichgewichten (Standardverhältnis 3,0, Stapel 3).
- MinPxPerBarForDigits / MinCellHeightForDigits – Mindestzoomstufe, ab der Bid×Ask-Zahlen angezeigt werden.
Kerzen
- ShowCandles, BodyOpacity, BullColor, BearColor — Darstellung der Kerzen auf der Leinwand.
CVD
- ShowCVD — CVD-Leiste anzeigen (wird auch automatisch aktiviert, wenn die Delta-Tabelle aktiviert ist).
- CVDReset — Keine / Täglich / Sitzung / Manuelle Verankerung.
- SessionTemplate — FX London-Überlappung oder Benutzerdefiniert; bei „Benutzerdefiniert“ werden SessionStartHour / SessionEndHour verwendet.
- CVDManualAnchorTime – Anker zurücksetzen, wenn CVDReset = ManualAnchor.
- ShowSessionShade – sanfte Sitzungsüberblendung (standardmäßig deaktiviert für ein klares, einheitliches Diagramm).
- CvdStripHeight / ShowCvdCurve – Streifenhöhe und ob die CVD-Kurve gezeichnet wird.
Divergenz
- ShowCvdDivergence – gelbe neutrale Kreise auf dem CVD (standardmäßig aktiviert). Keine Handelspfeile.
- CvdDivMarkSize / CvdDivMarkColor – Markierungsgröße und -farbe.
Ansichtsfenster
- MinPxPerBar / MaxPxPerBar — Zoombereich (erhöhen Sie „Max“, um die Ziffern lesbar zu halten; max. 280).
- DefaultBarsVisible – Anzahl der beim ersten Laden angezeigten Balken (Standard: 32).
- FollowLastBar — Bleibt bei der aktuellen Kerze, bis Sie den Bildausschnitt verschieben.
- RightPaddingBars — Anzahl der leeren Balken rechts neben der Live-Kerze (Standard: 3).
- HideNativeCandles — MT5-Kerzen ausblenden, sodass nur Canvas-Kerzen angezeigt werden (Standard: „true“).
- CanvasBehindObjects – Bubble/Objekte über dem Canvas weiterhin zeichnungsfähig lassen.
UI
- UiScale – globale UI-Skalierung (Standardwert 1,60). Symbolleiste und Inspektor werden gemeinsam skaliert.
- FontSizeUi / FontSizeDigits – UI-Beschriftungen vs. Ziffern im Footprint.
- ShowDeltaTable / DeltaTableHeight / ShowDeltaHistogram — unterer Block „Volumen|Delta|Kumuliert“.
Inspektor
- ShowInspector / InspectorWidth – Bereich für den ausgewählten Balken auf der rechten Seite.
Leistung
- PerformancePreset — Ausgewogen (Standard), Gold (stärker / dichter), Lite (leichter), Manuell (eigene TimerMs- und Obergrenzenwerte).
- TimerMs – Aktualisierungs-Timer bei „Manuell“ (Standardwert 75).
- MaxTicksInStore – Obergrenze für den Tick-Speicher (Standard: 3.000.000).
Voreinstellung
- InstrumentPreset — Aus (Eingaben beibehalten), Gold, FX, Index. Die Umschaltung kann live über die Symbolleiste erfolgen. Bei „Aus“ bleiben Ihre eingegebenen Werte erhalten.
Ehrlichkeit / Sprache / Farben / Warnmeldungen / Debug
- ShowHonestyBadge – nur in der Konfigurationsdatei; wird standardmäßig nicht im Chart angezeigt.
- Sprache — Lang_zh oder Lang_en.
- Ask/Bid/Delta/Ungleichgewicht/POC/Hintergrundfarben – visuelles Design.
- Farben der Sitzungsschattierung / zweite Sitzung — nur optionale Schattierung; setzt CVD nicht zurück, es sei denn, CVDReset = Session.
- EnableAlerts + Cooldown / Popup / Push / E-Mail — optionale Warnmeldungen (standardmäßig deaktiviert).
- VerboseLog – Experten protokollieren Störsignale zur Fehlerbehebung (auf „false“ belassen).
Ehrlichkeitserklärung
Die Ehrlichkeitserklärung – „Synthetischer Orderfluss, kein Börsen-Level-2 / kein vollständiges Markt-Tape“ – erscheint in:
- der #property-Beschreibung (sichtbar im Indikator-Dialog)
- dem Expertenprotokoll bei der Initialisierung
- Im „Über“-Fenster (Symbolleiste „i“ oder Taste „I“)
- Jede exportierte CSV-Kopfzeile
Das Badge im Chart ist standardmäßig deaktiviert. Das Datenquellen-Symbol (Synth / Trade / Mix) in der Symbolleiste spiegelt stets den aktiven Klassifizierungspfad wider.
Architektur
- Eine Bitmap – Alle Pixel (Kerzen, Leitern, Achsen, CVD, Inspektor, Symbolleiste) werden auf einem einzigen CCanvas gezeichnet. Keine OBJ_LABEL-, OBJ_TEXT-, OBJ_RECTANGLE- oder ObjectCreate-Aufrufe.
- Das Tick-Fenster ist maßgeblich – Ticks werden in absoluter Millisekundenzeit gespeichert. Balkenleitern sind ein Wiedergabe-Cache. Ein Zeitrahmenwechsel erhöht die Generationsnummer, löscht alle Leitern und verwirft alle noch in Bearbeitung befindlichen Tick-Kopien, deren Generationsnummer nicht mehr übereinstimmt.
- Generationsschutz – m_ctxGen schützt vor veralteten „CopyTicksRange“-Ergebnissen bei Symbol- oder Periodenwechseln.
- Inkrementelle Aktualisierung – Der neueste Balken wird inkrementell aktualisiert, sobald neue Ticks eintreffen; abgeschlossene Balken werden festgeschrieben und nicht erneut wiedergegeben, es sei denn, ihre Zeilengröße oder ihr Spread-Filter ändert sich.
- Behandlung leerer Ticks – Wenn „CopyTicksRange“ ohne Fehler den Wert 0 zurückgibt, wird der Bereich zweimal erneut abgefragt und dann als leer akzeptiert. Balken ohne Ticks werden als offline markiert und als Kerzen ohne Leitern dargestellt – niemals als gefälschte Zeilen mit Delta gleich Null.
- Selbsttest – RunSelfTest() wird bei jedem OnInit ausgeführt. 45 Testfälle überprüfen die Klassifizierungsregel, die Zeilenakkumulation, vorläufige gegenüber wiedergegebenen Balken, Ungleichgewicht/Stapel, den Zellenmodus, den Cache-Schlüssel und die Serienabfrage. Bei einem Fehler wird ein roter Chip in der Symbolleiste angezeigt.
Leistungsvoreinstellungen
| Voreinstellung | Verlaufsbalken | Tick-Obergrenze | Timer | Standard-Balken | Zielzeile |
|---|---|---|---|---|---|
| Ausgewogen | 500 | 3.000.000 | 75 ms | 32 | 14 |
| Gold | 180 | 1.200.000 | 100 ms | 30 | 10 |
| Lite | 120 | 600.000 | 75 ms | 24 | 8 |
| Manuell | 20–800 | 50.000–5.000.000 | 25–250 ms | 5+ | ab Eingabe |
„Balanced“ wählt automatisch Gold-Kondensatoren für die Symbole XAU/GOLD/XAG/SILVER aus. Der Timer lädt Ticks herunter und spielt sie ab; „OnCalculate“ aktualisiert die Kurse nur, wenn sich die Anzahl der Balken ändert. Die Frame-Zeit wird in der Symbolleiste angezeigt und leuchtet bei über 16 ms gelb.
Erwartetes Verhalten
Ein leerer Footprint bei geschlossenem Markt bzw. fehlenden Ticks ist normal. Dasselbe Symbol bei verschiedenen Brokern kann unterschiedliche Ladders erzeugen. Die Synthese erfolgt ehrlich nach Pfad A für FX/CFD, wenn keine Handelsflags vorhanden sind – wird niemals als Börsen-L2 vermarktet.
Ergänzungen
Funktioniert zusammen mit Delta-Tools im Bubble-Stil und Workflows für das Sitzungs-Volumenprofil. Dieses Produkt ist ein Footprint- + CVD-Chart – kein Bubble-Klon und kein Ersatz für das Sitzungs-VP.
Haftungsausschluss
Nur zu Analysezwecken. Keine Gewinnversprechen. Verwalten Sie stets Ihr eigenes Risiko.
