Tollgate Spread Atlas
- Utilitys
-
Syarief Azman Bin Rosli
Hallo und herzlich willkommen auf meinem offiziellen MQL5-Profil!
Ich bin Syarief Azman Bin Rosli, Entwickler algorithmischer Handelssysteme und Software-Ingenieur mit über zehn Jahren Erfahrung in der Entwicklung robuster automatisierter Handelslösungen für MetaTrader 5 und MetaTrader 4. - Version: 1.0
- Aktivierungen: 10
Tollgate Spread Atlas zeigt, was das Trading bei Ihrem Broker wirklich kostet. Es liest die echte Tick-Historie des Chartsymbols und von bis zu 8 Watchlist-Symbolen, baut eine Spread-Karte nach Wochenstunde (Montag bis Freitag, 24 Serverstunden), vergleicht den Live-Spread mit dem typischen Spread der aktuellen Stunde und rechnet Spread, Kommission und Swap in Round-Trip-Kosten und in Kosten als Anteil der ATR auf sechs Zeitrahmen um. Es arbeitet nur lesend: Es eröffnet, ändert oder schließt niemals Positionen.
Schnellstart
- Ziehen Sie das Utility auf einen beliebigen Chart (zum Beispiel XAUUSD oder EURUSD). Algo Trading muss nicht erlaubt sein, da es nie handelt.
- Das Panel zeigt SCANNING TICK HISTORY mit einem SCAN-Prozentwert, während es die Historie liest (Lookback Window, Standard 28 Tage). Der erste Scan kann eine Minute dauern, während das Terminal die Ticks lädt.
- Danach zeigt die Live-Karte LIVE SPREAD, TYPICAL, RATIO und einen Status: CHEAP, NORMAL, WIDE oder SPIKE.
- Setzen Sie Cost Calculator Lot Size auf Ihre übliche Lotgröße und wählen Sie Commission Source.
- Zur Kontrolle fahren Sie über eine Kartenzelle (Tooltip) oder klicken CSV, um den Atlas zu speichern.
So entsteht der Atlas
- Der Spread jeder Quote (Ask minus Bid, in ganzen Punkten) zählt für die Sekunden bis zur nächsten Quote, begrenzt durch Max Seconds Credited Per Quote; Lücken und geschlossene Märkte zählen nicht. Gewichtet wird nach Zeit, nicht nach Tickanzahl.
- Jede Zelle (Wochentag x Serverstunde) speichert eine Spread-Verteilung. Daraus kommen MEDIAN, P90 (90. Perzentil) und MEAN (zeitgewichteter Mittelwert). Werte sind bis 31 Punkte exakt, danach in 16 Stufen pro Verdopplung (angezeigt wird die untere Grenze).
- Typischer Spread = Median der aktuellen Zelle. Hat die Zelle weniger als Minimum Coverage For A Cell, wird dieselbe Stunde aller Wochentage verwendet, danach die ganze Woche. Die Quelle steht als [CELL], [HOUR] oder [WEEK].
- Mit Add Live Quotes To The Atlas wird der aktuelle Spread jedes Symbols einmal pro Sekunde hinzugefügt, solange seine Quote aktuell ist.
- Der Atlas wird einmal pro Servertag zur Daily Rebuild Hour neu aus der Historie aufgebaut (das Fenster rollt weiter) sowie bei RESCAN.
Statusregeln
RATIO = Live-Spread / max(typisch, 1 Punkt). Überschuss = live minus typisch.
- SPIKE: RATIO mindestens SPIKE From und Überschuss mindestens Minimum Excess For WIDE / SPIKE.
- WIDE: RATIO mindestens WIDE From mit derselben Überschussregel.
- CHEAP: RATIO unter CHEAP Below.
- NORMAL: alles andere.
- NO DATA: noch keine Quote oder kein typischer Spread.
Die Überschussregel verhindert, dass Raw- oder ECN-Konten (typisch 0-2 Punkte) winzige Änderungen melden.
Panel
Kopfzeile
- LED: grün oder türkis (NORMAL, CHEAP), bernstein (WIDE oder Scan), rot (SPIKE), grau (NO DATA).
- TOLLGATE SPREAD ATLAS, das Fokussymbol und SERVER TIME (alle Stunden sind Serverzeit des Brokers).
- [-] verkleinert das Panel zu einer Pille mit TSA, Symbol, Ratio und Status; [+] stellt es wieder her.
Live-Karte
- LIVE SPREAD in Punkten (und Pips bei 3/5-stelligen Symbolen).
- TYPICAL mit Quelle [CELL], [HOUR] oder [WEEK]; RATIO; das Status-Abzeichen.
- Anzeige von 0 bis zum 3-fachen typischen Spread (METER 0-3x) mit weißen Marken bei CHEAP Below, WIDE From und SPIKE From.
- TODAY MAX: größter Spread seit Servermitternacht; Anzahl gelesener Quotes; Tage der Historie.
Kostenkarte (ROUND-TRIP COST, Kontowährung)
- SPREAD: Spreadkosten für die Lotgröße beim Live- und beim typischen Spread (Punkte x Tickwert x Punkt / Tickgröße x Lots).
- COMMISSION pro Lot und Seite mit Quelle: [HISTORY] (aus Ihren Deals), [FIXED] oder [NONE].
- TOTAL: Round Trip live und typisch (Spread + 2 x Kommission x Lots) sowie die Live-Summe in Punkten.
- SWAP / NIGHT Long (L) und Short (S) für die Lotgröße und der Tag des dreifachen Swaps (3x WED). Swaps in Punkten oder in der Einzahlungswährung werden umgerechnet; andere Swap-Modi zeigen den Rohwert mit Einheit (Währung/LOT, %/YEAR oder RAW). SWAP OFF, wenn Swaps deaktiviert sind.
- COST / ATR: Live-Round-Trip-Kosten in Preis geteilt durch die ATR des letzten geschlossenen Balkens, x 100, für M1, M5, M15, H1, H4 und D1. Grün unter 5%, bernstein 5-15%, koralle ab 15%; der Balken ist bei 30% voll. Ein hoher Wert bedeutet, dass die Kosten einen großen Teil eines typischen Balkens in diesem Zeitrahmen fressen.
Schaltflächen
- METRIC: MEDIAN / METRIC: P90 / METRIC: MEAN wechselt die Kartenkennzahl.
- RESCAN lädt die Kommission neu und baut alle Atlanten aus der Historie neu auf.
- CSV speichert den Fokus-Atlas (nach dem Scan) unter MQL5\Files\Tollgate_<SYMBOL>.csv.
- ALERTS ON / ALERTS OFF schaltet SPIKE-Alarme für diese Sitzung.
- click cell = pin: Hinweis, dass Zellen angeheftet werden können.
Änderungen per Schaltfläche fallen auf die Eingabewerte zurück, wenn das Utility neu initialisiert wird (Zeitrahmenwechsel, erneutes Anhängen, Neustart).
Karte (HOUR-OF-WEEK ... SPREAD)
- Zeilen MON bis FRI, Spalten 00-23 Serverstunden. Farbe = Zellwert / dieselbe Kennzahl über die ganze Woche (WEEK MEDIAN, WEEK P90 oder WEEK MEAN): türkis 0.6x oder weniger, grün 1.0x, gold 1.6x, koralle 2.6x oder mehr. Dunkle Zellen = keine Daten (Abdeckung unter dem Minimum).
- Goldener Rand = aktuelle Stunde (now). Weißer Rand = angeheftete Zelle.
- Tooltip: Median, P90, Mittelwert und Abdeckung der Zelle. Klick auf eine Zelle heftet sie an; erneuter Klick löst sie.
- Detailzeile: NOW (aktuelle Zelle) oder PINNED mit MEDIAN, P90, MEAN und COVERAGE.
- CHEAPEST HOURS und DEAREST HOURS: die drei Serverstunden mit dem niedrigsten und höchsten zeitgewichteten Mittelspread über alle Wochentage.
- Wochenend-Quotes zählen in den HOUR- und WEEK-Werten, werden aber nicht gezeichnet. Die Karte aktualisiert sich alle 30 Sekunden.
Watchlist
Spalten WATCHLIST, LIVE, TYPICAL, RATIO, STATUS und COST/ATR H1 (Live-Round-Trip gegenüber H1-ATR). Ein Klick auf eine Zeile macht dieses Symbol zum Fokus des ganzen Panels (hervorgehobene Zeile). NOT FOUND = der Broker hat dieses Symbol nicht; SCANNING = Historie lädt noch; no watchlist symbols bei leerer Liste.
Alarme
Bleibt ein Symbol (Chart oder Watchlist) SPIKE Must Last Sekunden lang auf SPIKE, wird pro Symbol und Alert Cooldown ein Alarm gesendet, zum Beispiel: [Tollgate Atlas] XAUUSD spread SPIKE 51 pts = 5.1x typical 10 pts (THU 23:00 server) Er erscheint im Experten-Protokoll und kommt über Terminal Pop-Up Alerts, Audible Alerts (alert.wav, nur bei ausgeschalteten Pop-ups, da das Pop-up einen eigenen Ton hat) und Push Notifications To Mobile (MetaQuotes ID unter Extras, Optionen, Benachrichtigungen).
Signale für andere EAs (globale Terminalvariablen)
Mit Publish Terminal Global Variables jede Sekunde nach dem Scan für jedes Symbol:
- TSA_<SYMBOL>_RATIO: live / typisch.
- TSA_<SYMBOL>_TYPICAL: typischer Spread in Punkten (-1 = keine Daten).
- TSA_<SYMBOL>_OK: 1 = CHEAP oder NORMAL, 0 = WIDE oder SPIKE, -1 = NO DATA.
Sie werden beim Entfernen des Utility gelöscht.
if(GlobalVariableCheck("TSA_EURUSD_OK") && GlobalVariableGet("TSA_EURUSD_OK") == 0)
return; // spread is WIDE or SPIKE: skip new entries Nebenwirkungen
- Fügt Watchlist-Symbole zur Marktübersicht hinzu. Erstellt Chartobjekte mit dem Object Name Prefix (werden mit dem Utility entfernt). Nutzt einen 250-ms-Timer.
- Schreibt nur bei CSV eine Datei: 168 Zeilen mit day, hour, median_pts, p90_pts, mean_pts, coverage_min (-1 = keine Daten).
Eingaben
- Lookback Window (28, 3-90 Kalendertage): gelesene Historie pro Symbol.
- Max Seconds Credited Per Quote (60, 5-600): Obergrenze pro Quote.
- Minimum Coverage For A Cell (15 Minuten): darunter hat die Zelle keine Daten und der typische Wert weicht aus.
- Heatmap Metric (Median Spread): Median Spread, 90th Percentile Spread oder Time-Weighted Mean Spread beim Start.
- Add Live Quotes To The Atlas (true): Live-Lernen.
- Daily Rebuild Hour (3, Serverzeit, -1 = nie): täglicher Neuaufbau nach dem Rollover.
- CHEAP Below (0.85), WIDE From (1.5), SPIKE From (2.5): Ratio-Schwellen.
- Minimum Excess For WIDE / SPIKE (5 Punkte).
- Cost Calculator Lot Size (1.0).
- Commission Source (From Account History): From Account History, Fixed Per Lot Per Side oder No Commission.
- Fixed Commission (3.5 pro Lot und Seite): auch Ersatzwert, wenn die Historie keine Deals hat.
- Commission History Window (90 Tage).
- ATR Period For Cost Burden (14).
- Watchlist Symbols ("EURUSD,GBPUSD,USDJPY,XAUUSD", höchstens 8, exakte Brokernamen mit Suffixen).
- Alert On SPIKE (true), SPIKE Must Last (5 s), Alert Cooldown (15 Minuten).
- Terminal Pop-Up Alerts (true), Push Notifications To Mobile (false), Audible Alerts (true).
- Publish Terminal Global Variables (true).
- Object Name Prefix ("TSA_"): ändern, um zwei Kopien auf einem Chart zu nutzen.
- HUD Chart Corner (Top Left; Top Right, Bottom Left, Bottom Right), HUD X Offset (16), HUD Y Offset (24) in Pixeln.
- Panel Scale (1.0, 0.5-2.5): Größenfaktor zusätzlich zur Windows-Skalierung.
- Start Minimized (false).
Typische Einstellungen
- M1-Scalper: Heatmap Metric 90th Percentile Spread, WIDE From 1.3, SPIKE From 2.0, Minimum Excess For WIDE / SPIKE 2; in den CHEAPEST HOURS handeln und COST / ATR auf M1 prüfen.
- Gold: Lookback Window 42, SPIKE From 3.0, Minimum Excess For WIDE / SPIKE 15, Alert Cooldown 30, Push Notifications To Mobile true.
- Raw- oder ECN-Konto: Heatmap Metric Time-Weighted Mean Spread, Commission Source From Account History, Minimum Excess For WIDE / SPIKE 5.
- EA-Filter: Alert On SPIKE false, Publish Terminal Global Variables true und der obige Ausschnitt in Ihrem EA.
Hinweise und Grenzen
- Die Tiefe der Historie hängt vom Broker ab; manche speichern nur wenige Wochen an Ticks.
- Im Strategietester stammt der Atlas aus den Ticks des Testers: Mit "Every tick based on real ticks" sehen Sie echte Spreads.
- Spreads unterscheiden sich zwischen Brokern und Kontotypen, und vergangene Spreads garantieren keine künftigen. Das Utility misst Kosten; es sagt weder Kurse noch Ergebnisse voraus. Trading birgt Verlustrisiken.
