Symbol Spec Auditor
- Utilitys
-
Quoc Dat Quach
Software engineer with 8 years in fintech and mobile, writing MQL4/MQL5 since 2017. I build Expert Advisors, indicators, trade and risk-management panels and utilities for MT4/MT5, and I trade forex and gold on MT5 myself. - Version: 1.0
Symbol Spec Auditor bringt den Teil der Kontraktspezifikation eines Symbols, der über Positionsgröße und Handelskosten entscheidet, in ein Panel auf dem Chart: Punktwert, Spread-Kosten, Margin, Swap, Ausführungsregeln und Handelssitzungen. Rohwerte der Spezifikation werden in Geld pro 1,00 Lot in der Kontowährung umgerechnet, und die Broker-Einstellungen, die Code zur Berechnung der Lotgröße unbemerkt fehlerhaft machen, werden als Warnungen aufgelistet. Eine Schaltfläche exportiert dasselbe Audit für jedes Symbol der Marktübersicht in eine CSV-Datei.
Es ist ein Prüfwerkzeug. Es platziert keine Orders, verwendet weder DLL noch WebRequest und schreibt keine Datei außer dem CSV-Export, den Sie anfordern.
Warum es das gibt: Code, der bei einem Broker funktioniert, verhält sich beim nächsten oft falsch, weil niemand ein Detail der Spezifikation geprüft hat. Gold mit einer Kontraktgröße von 1 oz statt 100 oz, ein Cent-Konto, bei dem Kontostand und Tickwert in Cent angegeben sind, ein Stops-Level, das einen nahen Stop-Loss ablehnt, eine Tickgröße, die vom Punkt abweicht, Pending Orders, die am Ende des Tages gelöscht werden. Das Terminal zeigt all das an, aber verteilt auf mehrere Registerkarten und in Roheinheiten, sodass ein Unterschied zwischen zwei Brokern oder zwei Kontotypen leicht übersehen wird. Eine Formel zur Positionsgrößenberechnung, die von der üblichen Kontraktgröße ausgeht, liegt dann um den Faktor 10 oder 100 daneben, ohne dass ein Fehler im Journal erscheint.
Was das Panel für das Symbol des Charts zeigt, einmal pro Sekunde aktualisiert und neu aufgebaut, wenn Sie Symbol oder Zeitrahmen wechseln:
- Identität: Symbol, Beschreibung, Pfad, Berechnungsmodus, Basis-, Gewinn- und Margin-Währung, Kontowährung, Hebel des Kontos und Margin-Modus.
- Preis und Kontrakt: Nachkommastellen, Punkt, Tickgröße, Tickwert für Gewinn und für Verlust, Kontraktgröße und das Verfallsdatum bei Kontrakten mit Verfall.
- Geldwerte pro 1,00 Lot: der Wert eines Punktes aus dem Tickwert, gegengeprüft mit Kontraktgröße mal Punkt mal Umrechnungskurs; der Wert einer Preisbewegung um 1,00; der Spread in Punkten und in Geld; ATR(14) des Chart-Zeitrahmens und der Spread als Prozentsatz davon.
- Volumen: Minimum, Schritt, Maximum und Limit.
- Margin für 1,00 Lot: Margin für Kauf und Verkauf, Initial-Margin-Sätze, Nominalwert und der effektive Hebel neben dem Hebel des Kontos.
- Swap für 1,00 Lot: Swap-Modus, Long- und Short-Werte, Geld pro Nacht und der Triple-Swap-Tag.
- Ausführung: Handelsmodus, Ausführungsmodus, Filling-Richtlinien, erlaubte Ordertypen, Verfallsmodi, GTC-Modus sowie Stops- und Freeze-Level in Punkten und im Preis.
- Sitzungen: die heutigen Handelssitzungen in Serverzeit.
Ein Wert, der nicht ermittelt werden kann, wird als n/a angezeigt statt als plausibel wirkende Zahl. Die Zeilen für Tickwert, Punktwert-Prüfung, Spread, ATR und Margin nennen zusätzlich den Grund, zum Beispiel ein fehlendes Umrechnungspaar oder einen Margin-Satz von 0.
Der Block Warnings listet die Einstellungen auf, die einen zweiten Blick verdienen, nach Schweregrad geordnet und jeweils mit ihrer Konsequenz für Handelscode: ungewöhnliche Kontraktgröße für die Anlageklasse, Tickwert oder Tickgröße von 0, ein Punktwert aus dem Tickwert, der nicht mit dem aus der Kontraktgröße übereinstimmt, Cent-Kontowährung, eingeschränkter Handelsmodus, verfallender Kontrakt, keine aktuellen Kurse, Tickgröße abweichend vom Punkt, Stops- oder Freeze-Level über 0, täglicher GTC-Modus, Mindestvolumen oder Volumenschritt über 0,01 bei Forex- und CFD-Symbolen, Spread über einem gewählten Prozentsatz von ATR(14) und ein für die Anlageklasse ungewöhnlicher Triple-Swap-Tag. Trifft nichts davon zu, meldet das Panel, dass keine Fallen erkannt wurden. Eine Warnung ist nicht unbedingt ein Fehler des Brokers; sie markiert einen Wert, den Ihr Code aus der Spezifikation lesen muss, statt ihn anzunehmen.
Die Schaltfläche Export CSV schreibt MQL5\Files\SymbolSpecAudit_<server>_<date_time>.csv, eine Zeile pro Symbol der Marktübersicht, mit 55 Spalten, darunter eine Spalte Warnings und eine Spalte Notes, die einen fehlenden Tickwert, eine fehlende Punktwert-Prüfung, eine fehlende Margin oder einen fehlenden ATR erklärt. Zwei Exporte, erstellt bei zwei Brokern oder auf zwei Kontotypen, lassen sich Zeile für Zeile vergleichen, bevor ein Expert Advisor vom einen zum anderen umzieht.
Bedienung des Panels: jede beliebige Chartecke, eine oder zwei Spalten (standardmäßig automatisch), ein kompakter Modus nur mit Warnungen und eine Schaltfläche zum Einklappen, die Symbol- und Zeitrahmenwechsel übersteht. Die Farben folgen standardmäßig dem Chart, helles Panel auf hellem Hintergrund und dunkles Panel auf dunklem, und jede Farbe lässt sich auch von Hand einstellen. Das Layout wird anhand der tatsächlichen Schriftmetriken berechnet, sodass es auf High-DPI-Bildschirmen und mit anderen Schriftarten sauber ausgerichtet bleibt.
Eingabeparameter: Ecke des Panels, X- und Y-Abstand, Layout, Schriftart und -größe, Modus nur mit Warnungen, fünf Farben, die Schwelle der Spread-Warnung als Prozentsatz von ATR(14) und eine Option, die CSV-Datei beim Start zu exportieren. Jeder Eingabeparameter ist im Terminal durch einen eigenen Kommentar dokumentiert.
Hinweise und Grenzen. MetaTrader 5 erlaubt einem Indikator nicht, OrderCalcMargin oder OrderCalcProfit aufzurufen, daher verwenden die Margin und die Gegenprüfung des Punktwerts die dokumentierten Formeln für jeden Berechnungsmodus. Bei den Forex- und CFD-Symbolen des für die Tests verwendeten Brokers stimmten die Ergebnisse mit OrderCalcMargin, aufgerufen aus einem Expert Advisor zu denselben Preisen, bis auf Cent-Rundung überein. Die Margin wird als n/a angezeigt bei Anleihe- und Collateral-Symbolen, bei Futures ohne Initial-Margin und bei Index-CFDs, deren Währungen von der Kontowährung abweichen. Die Währungsumrechnung verwendet Symbole der Marktübersicht mit Live-Kursen, direkt oder über USD; fehlt ein solches Symbol, zeigen die betroffenen Werte n/a und nennen das fehlende Paar. Cent-Konten werden am Währungscode des Kontos erkannt, etwa USC oder EUC. ATR ist ATR(14) des letzten geschlossenen Balkens des Chart-Zeitrahmens. Das Panel verwendet einen Ein-Sekunden-Timer statt jedes Ticks, und vorgesehen ist eine Instanz pro Chart.
