Schau, wie man Roboter kostenlos herunterladen kann
Finden Sie uns auf Facebook!
und werden Sie Mitglied unserer Fangruppe
Interessantes Skript?
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Hat Ihnen das Skript gefallen?
Bewerten Sie es im Terminal MetaTrader 5
Indikatoren

Symbol Spec Auditor - Indikator für den MetaTrader 5

Quoc Dat Quach
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.
| German English Русский 中文 Español 日本語 Português 한국어 Français Italiano Türkçe
Ansichten:
7
Rating:
(1)
Veröffentlicht:
MQL5 Freelance Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance

Der „Symbol Spec Auditor“ zeigt in einem Bereich des Charts die Teile der Kontraktspezifikation eines Symbols an, die die Positionsgröße und die Handelskosten bestimmen: Punktwert, Spread-Kosten, Margin, Swap, Ausführungsregeln und Handelssitzungen. Die Werte werden in Geldbeträge pro 1,00 Lot in der Kontowährung umgerechnet, und Broker-Einstellungen, die den Lot-Größen-Code unbemerkt verletzen, werden als Warnungen aufgeführt. Mit einem Klick lässt sich derselbe Prüfbericht für jedes Symbol in der Marktübersicht als CSV-Datei exportieren.

symbol-spec-auditor-xauusd

XAUUSD H1: das vollständige zweispaltige Fenster zu einem Symbol ohne Fallstricke

Das Problem

Code, der bei einem Broker funktioniert, verhält sich bei einem anderen oft fehlerhaft, weil ein Detail der Spezifikation übersehen wurde. Das Fenster mit den Symbolspezifikationen zeigt zwar alle Details an, jedoch verteilt auf mehrere Registerkarten und in Rohwerten, sodass Unterschiede zwischen zwei Brokern oder zwei Kontotypen leicht übersehen werden können. Ein Expert Advisor, der Positionsgrößen anhand eines angenommenen Kontrakt- oder Punktwerts berechnet, riskiert dann den falschen Betrag, ohne dass im Journal ein Fehler vermerkt wird. Typische Fälle:

  • Gold mit einem Kontrakt von 1 oz statt 100 oz oder ein Forex-„Mini“-Symbol mit 10.000 Einheiten. Eine Lot-Formel, die vom üblichen Kontrakt ausgeht, weicht um das 100-Fache oder das 10-Fache ab.
  • Ein Cent-Konto, bei dem Guthaben, Tick-Wert und Margin alle in Cent angegeben sind.
  • Ein Stopp- oder Freeze-Level, das SL/TP oder Änderungen in der Nähe des Kurses ablehnt.
  • Tägliche Orders: Der Broker löscht ausstehende Orders und manchmal auch SL/TP am Ende des Handelstages.
  • Eine Tick-Größe, die vom Punkt abweicht, sodass Preise außerhalb des Tick-Rasters abgelehnt werden.
  • Ein Mindestvolumen oder Volumenschritt, der eine Rundung erzwingt, ein Symbol im „Close-Only“-Modus oder ein ungewöhnlicher Tag mit dreifachem Swap.

Dieser Indikator sammelt diese Werte an einem Ort, rechnet sie in Geldbeträge pro 1,00 Lot um und listet auf, was einen zweiten Blick verdient, wobei jede Warnung mit einer einzeiligen Konsequenz versehen ist. Er dient ausschließlich als Überprüfungswerkzeug: Er platziert keine Orders, verwendet keine DLLs und schreibt keine Dateien, außer dem von Ihnen angeforderten CSV-Export. Das Panel und die CSV-Datei verwenden dieselben Berechnungen, sodass das, was Sie in einem Chart sehen, mit dem gesamten Market Watch verglichen werden kann.

Was das Panel anzeigt

Das Panel beschreibt das Chart-Symbol. Es wird einmal pro Sekunde aktualisiert und neu aufgebaut, wenn Sie das Symbol oder den Zeitrahmen ändern; beim Wechseln des Chart-Symbols werden also die Symbole nacheinander überprüft. Ein Wert, der nicht ermittelt werden kann, wird als „n/a“ zusammen mit dem Grund angezeigt, und eine Zeile, deren Wert eine Warnung auslöst, wird in der Warnfarbe dargestellt. Die Zeilen sind in Abschnitte gruppiert:

  • Identität: Symbol, Beschreibung, Pfad, Berechnungsmodus, Basiswährung, Gewinn- und Margenwährung, Kontowährung, Kont gehebel und Margenmodus.
  • Preis und Kontrakt: Stellenanzahl, Punkt, Tick-Größe, Tick-Wert (Gewinn und Verlust), Kontraktgröße sowie das Ablaufdatum für Symbole mit Ablaufdatum, wie z. B. Futures.
  • Geldbetrag pro 1,00 Lot: der aus dem Tick-Wert berechnete Wert von 1 Punkt, abgeglichen mit Kontraktgröße × Punkt × Umrechnungskurs; der Wert einer Kursbewegung um 1,00; der aktuelle Spread in Punkten und in Geld; ATR(14) des Chart-Zeitrahmens und der Spread als Prozentsatz davon.
  • Volumen: Minimum, Schrittweite, Maximum und Limit.
  • Margin für 1,00 Lot: Kauf- und Verkaufsmarge, anfängliche Margensätze, Nominalwert und der effektive Hebel (Nominalwert geteilt durch Margin) neben dem Kontohebel. Wenn ein Wert nicht berechnet werden kann, gibt das Fenster den Grund an, zum Beispiel „keine Kurse“, „Margensatz ist 0“, „Kontoshebel ist 0“ oder ein fehlender Umrechnungskurs.
  • Swap für 1,00 Lot: Swap-Modus, Long- und Short-Werte, Betrag pro Nacht in der Kontowährung (Punkte, Währung und Zinsmodi) sowie der Dreifach-Swap-Tag. Eine Tageszahl außerhalb von Sonntag bis Samstag wird als „nicht festgelegt“ angezeigt.
  • Ausführung: Handelsmodus, Ausführungsmodus, Ausführungsrichtlinien (FOK, IOC, BOC, Return), zulässige Ordertypen, Ablaufmodi, GTC-Modus (wie lange Pending Orders und SL/TP gültig sind) sowie Stopps und Einfrierungsniveau in Punkten und im Kurs.
  • Handelssitzungen: Die heutigen Handelssitzungen in Serverzeit.

Warnungen

Der Block „Warnungen“ am unteren Rand des Fensters listet die Einstellungen auf, die Beachtung erfordern, wobei die schwerwiegendsten zuerst aufgeführt werden. Jede Warnung nennt den Wert und dessen Auswirkung auf den Handelscode. Wenn keine Warnung vorliegt, zeigt das Panel „Keine Fehler erkannt“ an. Die Prüfungen erfolgen anhand gängiger Referenzwerte, daher ist eine Warnung nicht immer ein Brokerfehler: Sie weist auf eine Einstellung hin, die Ihr Code aus der Spezifikation entnehmen muss, anstatt sie einfach anzunehmen.

  • Für die Anlageklasse ungewöhnliche Kontraktgröße: Devisen 100.000, Gold 100, Silber 5.000.
  • Der Tick-Wert oder die Tick-Größe beträgt 0, oder der Punktwert aus dem Tick-Wert und der Punktwert aus der Kontraktgröße weichen um mehr als 1 % voneinander ab.
  • Währung des Cent-Kontos (USC, EUC und Ähnliches).
  • Anderer Handelsmodus als „vollständig“: deaktiviert, nur Long, nur Short oder nur Schließen.
  • Verfallender Kontrakt mit seinem Verfallsdatum.
  • Keine aktuellen Geld-/Briefkurse.
  • Tick-Größe weicht vom Punktwert ab.
  • Stopp- oder Einfrierniveau über 0.
  • Tägliche Orders (GTC-Modus). „Täglich“ löscht SL/TP und ausstehende Orders am Ende des Handelstages; „Täglich ohne Stopps“ löscht ausstehende Orders und behält SL/TP bei.
  • Mindestvolumen über 0,01 oder Volumenschritt über 0,01, nur bei Devisen- und CFD-Symbolen. Börseninstrumente werden oft in ganzen Lots gehandelt, daher werden sie nicht gekennzeichnet.
  • Spread über dem gewählten Prozentsatz von ATR(14) im Chart-Zeitrahmen.
  • Dreifacher Swap an einem anderen Tag als Mittwoch, nur für Devisen und Metalle. Donnerstag wird für USD gegenüber CAD, TRY, RUB und PHP akzeptiert, da diese einen Tag früher abgerechnet werden. Indizes, Kryptowährungen und andere CFDs rollen oft am Freitag, daher wird der Tag für sie zwar angezeigt, aber nicht markiert.

symbol-spec-auditor-warnungen

US500 M1 (CFD): Mindestvolumen 0,14 Lots und ein Spread von 28 Punkten, was 17,6 % der M1-ATR entspricht

CSV-Export

Die Schaltfläche „CSV exportieren“ oder die Startoption erstellt die Datei „MQL5\Files\SymbolSpecAudit_<server>_<yyyymmdd_hhmm>.csv“ mit einer Zeile pro Market-Watch-Symbol. Die 55 Spalten enthalten alle oben genannten Werte, einschließlich des GTC-Modus und des Vertragsablaufs, sowie eine Spalte „Warnungen“ (getrennt durch „|“) und eine Spalte „Anmerkungen“, in der angegeben wird, warum ein Wert fehlt. Zwei Exporte von zwei Brokern oder Kontotypen können Zeile für Zeile verglichen werden.

Die Datei ist im UTF-8-Format mit BOM, kommagetrennt, wobei Felder, die Kommas oder Anführungszeichen enthalten, standardmäßig in Anführungszeichen gesetzt sind. Zahlen verwenden einen Punkt als Dezimaltrennzeichen und keine Tausendertrennzeichen. In Ländereinstellungen, in denen das Listen-Trennzeichen ein Semikolon ist, öffnen Sie die Datei über den Importdialog der Tabellenkalkulation. Der vollständige Pfad der Datei wird auf der Registerkarte „Experten“ angezeigt.

Bedienung des Fensters

  • Beliebige Chart-Ecken, eine oder zwei Spalten (standardmäßig automatisch) sowie ein kompakter Modus, der ausschließlich Warnungen anzeigt.
  • Eine Schaltfläche zum Ausblenden, die auch bei Änderungen von Symbolen und Zeitrahmen ausgeblendet bleibt.
  • Die Farben passen sich standardmäßig dem Chart an: ein helles Panel auf hellem Chart-Hintergrund und ein dunkles Panel auf dunklem Hintergrund. Jede Farbe kann auch manuell festgelegt werden.
  • Das Layout wird anhand der tatsächlichen Schriftgrößen gemessen, sodass es auch bei anderen Schriftarten und auf Bildschirmen mit hoher DPI-Auflösung ausgerichtet bleibt. Lange Warnmeldungen werden an der Panelbreite umgebrochen.
  • Es werden nur Beschriftungen aktualisiert, deren Text oder Position sich geändert hat, sodass das Feld nicht flackert.
  • Beim Start werden Panel-Objekte entfernt, die von einer früheren Instanz (z. B. aus einer gespeicherten Vorlage) auf dem Chart zurückgelassen wurden.

symbol-spec-auditor-nur-Warnungen

EURUSD M1, Modus „Nur Warnungen“: Der Spread von 6 Punkten entspricht 35,9 % des M1-ATR

Eingaben

Eingabe Standard Beschreibung
Panel-Ecke Linke obere Diagrammecke, an der das Panel verankert ist.
X-Versatz (Pixel bei 100 % Bildschirmskalierung) 10 Horizontaler Abstand von der Ecke. Wird auf Bildschirmen mit hoher DPI-Auflösung automatisch skaliert.
Y-Versatz (Pixel bei 100 % Bildschirmskalierung) 30 Vertikaler Abstand von der Ecke. Wird auf Bildschirmen mit hoher DPI-Auflösung automatisch skaliert.
Layout Auto Bei „Auto“ wird eine Spalte verwendet, wenn das Panel in die Höhe des Diagramms passt, andernfalls zwei Spalten. Mit „Eine Spalte“ und „Zwei Spalten“ wird das Layout erzwungen.
Schriftartname Consolas Eine Monospace-Schriftart sorgt für übersichtliche Spalten; jede installierte Schriftart ist geeignet.
Schriftgröße 9 Von 4 bis 24; andere Werte werden auf diesen Bereich begrenzt.
Nur Warnungen anzeigen false Kompaktes Fenster mit dem Titel, den Warnungen und der Schaltfläche „CSV exportieren“.
Text (Keine Angabe = automatisch) Keine Textfarbe. Bei „Keine“ wird die Farbe vom Diagrammhintergrund übernommen.
Überschriften (Keine = automatisch) Keine Farbe der Abschnittsüberschriften.
Warnungen (Keine = automatisch) Keine Farbe der Warnungen und der dahinter liegenden Zeilen.
OK / keine Fallen (Keine = automatisch) Keine Farbe der Zeile „Keine Traps erkannt“.
Hintergrund (Keine = automatisch) Keine Hintergrund des Fensters. Beschriftungen, Rahmen und Schaltflächen werden aus den Text- und Hintergrundfarben gemischt.
Warnung, wenn der Spread % des ATR(14) überschreitet (0 = aus) 15,0 Schwellenwert für die Spread-Warnung. Bei 0 ist die Warnung deaktiviert.
Alle Market-Watch-Symbole beim Start als CSV exportieren false Die CSV-Datei wird einmalig beim Start des Indikators geschrieben, nicht erneut bei einem Symbol- oder Zeitrahmenwechsel.

Anwendung

  1. Fügen Sie den Indikator einem beliebigen Chart hinzu. Er zeichnet keine Linien und kann parallel zu einem Expert Advisor laufen.
  2. Lesen Sie zuerst den Abschnitt „Warnungen“; in den Zeilen darüber finden Sie die Zahlen hinter den einzelnen Warnungen.
  3. Wechseln Sie das Chart-Symbol, um andere Symbole zu prüfen, oder klicken Sie auf „CSV exportieren“, um alle Symbole in der Marktübersicht auf einmal zu prüfen.
  4. Verwenden Sie die Schaltfläche „-“, um das Fenster auf die Titelleiste zu minimieren.

Eine typische Anwendung besteht darin, den Export bei einem neuen Broker oder Kontotyp durchzuführen, bevor ein Expert Advisor dorthin verschoben wird, und Kontraktgrößen, Tick-Werte, Volumenschritte, Stop-Levels, GTC-Modi und Swap-Tage mit dem Konto zu vergleichen, auf dem der Expert Advisor entwickelt wurde. Unterschiede in diesen Spalten sind diejenigen, die am häufigsten das Risiko pro Trade oder die Kosten einer Strategie verändern, ohne dass ein sichtbarer Fehler vorliegt.

Hinweise und Einschränkungen

  • Für die Margin und den Punktwert-Abgleich werden Formeln verwendet. MetaTrader 5 erlaubt es Indikatoren nicht, „OrderCalcMargin“ oder „OrderCalcProfit“ aufzurufen (dies führt zum Fehler 4014), daher wendet der Indikator die Formeln an, die die MQL5-Dokumentation für jeden Berechnungsmodus angibt: eine feste Anfangsmarge, wenn der Broker eine festlegt, den Anfangsmargensatz aus „SymbolInfoMarginRate“ sowie die Umrechnung in die Kontowährung zum Ask-Kurs bei Kauf- und zum Bid-Kurs bei Verkaufsgeschäften. Bei Forex-, Forex-ohne-Hebel-, CFD- und CFD-mit-Hebel-Symbolen stimmten die Ergebnisse bis auf die Rundung auf den Cent mit denen von „OrderCalcMargin“ überein, das von einem Expert Advisor zu denselben Kursen aufgerufen wurde.
  • Bei Anleihen und Sicherheiten sowie bei Futures ohne Anfangsmarge und bei CFD-Index-Symbolen, deren Währungen von der Kontowährung abweichen, wird die Marge als „n/a“ angezeigt. Volumensabhängige Margenstufen und Regeln, die nur auf dem Handelsserver gelten, werden nicht berücksichtigt.
  • Bei Futures und Anleihen gilt der Tick-Wert des Brokers als Spezifikation, daher wird die Gegenprüfung des Punktwerts dort als „n/a“ angezeigt.
  • Die Swap-Zinsen für die Zinsmodi basieren auf dem Nominalwert und einem 360-Tage-Jahr. Für die Reopen-Modi gibt es keinen festen Betrag, daher wird „n/a“ angezeigt.
  • Die Währungsumrechnung erfolgt ausschließlich über „Market Watch“-Symbole mit Echtzeitkursen, entweder direkt oder über den US-Dollar. Fehlt ein solches Symbol, werden die betroffenen Geldwerte als „n/a“ angezeigt oder der Nominalwert wird unkonvertiert dargestellt. Fügen Sie das Umrechnungspaar zur „Market Watch“ hinzu, um diese Werte zu ergänzen.
  • MetaTrader 5 fügt dem Market Watch ein Umrechnungssymbol hinzu, wenn der Tick-Wert eines Symbols mit einer fremden Gewinnwährung gelesen wird. Der Indikator liest den Tick-Wert daher nur, wenn ein notiertes „Market Watch“-Symbol bereits die Gewinnwährung und die Kontowährung verknüpft, und er listet niemals Symbole außerhalb von „Market Watch“ auf; andernfalls wird der Tick-Wert bei fehlendem Paar als „n/a“ angezeigt, zum Beispiel „kein notiertes KRW/USD-Symbol in Market Watch“. In Tests wurde nie ein Symbol hinzugefügt. Das Terminal wählt jedoch sein eigenes Umrechnungssymbol aus, sodass bei einem Broker, dessen Umrechnungssymbol einen anderen Namen als das in der Marktübersicht hat, dennoch ein Symbol hinzugefügt werden kann.
  • Cent-Konten werden anhand des Kontowährungscodes (USC, EUC, GBC und ähnliche) erkannt und als 1/100 der Hauptwährung umgerechnet, also 1 USD = 100 USC. Dieser Pfad wurde mit einer simulierten Kontowährung geprüft, nicht auf einem echten Cent-Konto. Ein Cent-Konto, das USD als Währung angibt, wird von dieser Prüfung nicht erkannt.
  • Die üblichen Kontraktgrößen und Triple-Swap-Tage sind Referenzwerte. Ein Broker kann legitimerweise andere Größen (Mikro- oder Cent-Symbole) oder einen anderen Rollover-Tag verwenden; die Warnung dient dazu, dass Ihr Code die Spezifikation ausliest, anstatt sie einfach anzunehmen.
  • ATR ist ATR(14) des letzten geschlossenen Balkens des Chart-Zeitrahmens. Für die anderen Symbole in der CSV-Datei wird es aus ihrem Balkenverlauf berechnet; unmittelbar nach dem Start wird dieser Verlauf möglicherweise noch geladen – in diesem Fall wird dies in der Spalte „Anmerkungen“ vermerkt und bei einem zweiten Export ausgefüllt.
  • Das Panel wird durch einen 1-Sekunden-Timer aktualisiert, nicht bei jedem Tick. Der zusammengeklappte Zustand wird in einer temporären globalen Terminalvariablen namens „SymbolSpecAuditor_<Chart-ID>“ gespeichert, die gelöscht wird, wenn der Indikator entfernt oder der Chart geschlossen wird. Verwenden Sie eine Instanz pro Chart.
  • Die Screenshots wurden auf einem Demokonto und einem Bildschirm mit 192 DPI bei Schriftgröße 4 (6 im Modus „Nur Warnungen“) aufgenommen, sodass das Panel in ein 750-Pixel-Bild passt. Die Standardgröße 9 ergibt ein größeres Panel.

Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/en/code/77806

Spread Profile by Hour Spread Profile by Hour

Zeigt den tatsächlichen Spread für jede Serverstunde an, gemessen anhand der Tick-Historie Ihres Brokers: Median und 90. Perzentil pro Stunde, optionale Kosten als Anteil Ihres Stop-Kurses und pro Lot sowie CSV-Export.

iFVG Indicator With Signals iFVG Indicator With Signals

iFVG-Indikator mit Signalen

Accumulation/Distribution Accumulation/Distribution

Der Accumulation/Distribution Indikator wird aus Änderung von Preis und Volumen bestimmt.

Accelerator Oszillator (AC) Accelerator Oszillator (AC)

Der Acceleration/Deceleration Indikator (AC) misst die Beschleunigung und Verlangsamung des aktuellen Marktimpulses, der Kraft der Kursbewegung.