EA Ledger True Costs MT5
- 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
- Aktivierungen: 10
Ein Kontostandbuch für MetaTrader 5, das Ihre Ergebnisse nach Magic Number, Symbol, Wochentag und Stunde aufschlüsselt, Kursgewinne/-verluste, Provisionen, Swaps und Gebühren in separaten Spalten anzeigt und den bei jeder Ausführung gezahlten Spread sowie die Slippage im Vergleich zu Ihrem gewünschten Kurs misst. Die Summen werden bei jeder Aktualisierung mit dem Kontostand abgeglichen. Es werden niemals Handelsgeschäfte auf der Grundlage eines Charts getätigt.
Funktionsweise
Fügen Sie es einem Chart hinzu. Es liest den Handelsverlauf des Kontos aus, rekonstruiert jede Position anhand der Transaktionen und zeigt das Ergebnis in einem Panel an:
- Nettoergebnis, Kursgewinn/-verlust, Provision, Swap und Gebühren, dargestellt in separaten Spalten
- Spread-Kosten und Slippage-Kosten jeder Ausführung, gemessen anhand der tick-Historie des Terminals
- MFE und MAE jedes geschlossenen Handels: Wie weit sich der Kurs zu Ihren Gunsten und zu Ihren Ungunsten bewegt hat, während der Handel offen war
- Trades, Gewinnquote, Profitfaktor, Lots und Gesamtkosten pro Lot
- Einzahlungen, Auszahlungen, Gutschriften, Boni, Korrekturen und andere nicht handelsbezogene Einträge, die getrennt von den Handelsergebnissen angezeigt werden
Es aktualisiert sich automatisch, sobald ein Trade hinzugefügt wird. Die Berechnung wurde mit synthetischen Historien von 50.000 und 200.000 Trades getestet; die Live-Testkonten wiesen bis zu 1.249 Trades auf.
Summen, die sich zum Kontostand addieren
Jedes Mal, wenn sich die Historie ändert, addiert das Panel alle Trades des Kontos und vergleicht die Summe mit dem vom Broker gemeldeten Kontostand. Der Balken unter der Zusammenfassung zeigt beide Zahlen sowie die Differenz an: grün „OK“, wenn sie auf den Cent genau übereinstimmen, rot „MISMATCH“, wenn dies nicht der Fall ist. Für den ausgewählten Zeitraum wird außerdem angezeigt, dass die Saldenänderung dem Handelsergebnis zuzüglich der nicht handelsbezogenen Buchungen entspricht.
Gutschriften werden angezeigt, aber nicht im Kontostand berücksichtigt – genau wie bei MetaTrader.
Aus Transaktionen neu erstellte Positionen
- Hedging- und Netting-Konten.
- Teilschließungen, Positionsaufstockungen, Schließungen durch (beide Positionen sind mit „CB“ gekennzeichnet) sowie Umkehrgeschäfte auf Verrechnungskonten (ein Geschäft, das eine Position schließt und die entgegengesetzte eröffnet). Die Provision eines Umkehrgeschäfts wird volumenproportional zwischen dem geschlossenen und dem neuen Geschäft aufgeteilt.
- Provisionen, die als separate Geschäfte verbucht werden, sowie tägliche oder monatliche Provisionen werden der entsprechenden Position zugeordnet, sobald der Broker sie mit einer Position verknüpft. Andernfalls werden sie in einer eigenen Zeile unter „Provision nicht mit einer Position verknüpft“ angezeigt.
- Ausstiege durch Stop-Loss, Take-Profit und Stop-Out sind gekennzeichnet.
Gruppierungen und Filter
Ansichten: nach Magic Number (beschriftet mit dem EA-Kommentar, falls vorhanden; Magic Number 0 steht für „Manuell“), nach Symbol, nach Magic Number und Symbol, nach Wochentag des Eingangs, nach Broker-Uhrzeit des Eingangs sowie eine Handelsliste.
Zeiträume: heute, diese Woche, dieser Monat, gesamte Historie oder ein benutzerdefinierter Zeitraum in Serverzeit.
Klicken Sie auf eine „Magic Number“-Zeile, um die zugehörigen Symbole anzuzeigen, auf eine Symbolzeile, um die zugehörigen „Magic Numbers“ anzuzeigen, und auf eine Zeile mit „Magic Number“ und Symbol, um die zugehörigen Trades anzuzeigen. Ein Symbol auf dem Panel zeigt den aktiven Filter an und löscht ihn.
Die Seite „Ergebnisse“ zeigt den Gewinn an; die Seite „Kosten“ zeigt Spread, Slippage, Provisionen und Gebühren pro Gruppe, Kosten pro Lot, durchschnittliche MFE und MAE sowie die Herkunft der einzelnen Messwerte an.
So werden die Kosten gemessen
- Spread bei der Ausführung: der zum Zeitpunkt des Geschäfts gültige Geld-/Briefkurs, entnommen aus dem Tick-Verlauf des Terminals. Wenn kein Tick vorliegt, wird der Spread des M1-Balkens verwendet und der Handel mit „M1“ gekennzeichnet.
- Slippage: der Ausführungspreis im Vergleich zum gewünschten Preis:
- einer ausstehenden Order: deren Orderpreis
- bei einem Stop-Loss oder Take-Profit: das Stop-Niveau
- bei einer Marktorder: Der Broker speichert hierfür in der Regel keinen gewünschten Preis, daher wird der Kurs zum Zeitpunkt der Ordererteilung aus der Tick-Historie übernommen (Ask bei einem Kauf, Bid bei einem Verkauf)
Ein positiver Slippage wirkt sich zu Ihren Ungunsten aus, ein negativer zu Ihren Gunsten.
- Geldwert eines Punktes: Er wird aus dem Gewinn des jeweiligen Handels abgeleitet und richtet sich somit nach der Kontowährung – einschließlich Cent- und EUR-Konten – sowie der Kontraktgröße (Gold: 1, 10 oder 100 Unzen pro Lot; Index-CFDs: 1, 10 oder 100 Einheiten). Wenn für ein Geschäft keine Kursbewegung zur Messung vorliegt, wird der Durchschnitt des Symbols herangezogen, anschließend die brokerinterne Gewinnberechnung.
- MFE / MAE: Der höchste und niedrigste Kurs, zu dem die Position zwischen Einstieg und Ausstieg bewertet wurde (Geldkurs bei einem Kauf, Briefkurs bei einem Verkauf), basierend auf Ticks. Trades, die länger als 3 Tage dauern (eine Eingabe), verwenden M1-Bars und sind mit „M1“ gekennzeichnet.
Spread-Kosten und Slippage-Kosten sind bereits im Preis-P/L enthalten, da sie Teil des Ausführungspreises sind. Sie werden angezeigt, damit Sie sehen können, wie stark sie das Ergebnis beeinflusst haben. Sie werden nicht ein zweites Mal abgezogen.
Die Ergebnisse werden in einer kleinen Cache-Datei gespeichert, sodass die Berechnung einmal pro Geschäft durchgeführt wird. Auf den Testkonten dauerte die erste Berechnung von 1.246 Ausführungen und 557 Geschäften 7 Sekunden; sie läuft in kleinen Abschnitten im Hintergrund ab, und das Panel kann in der Zwischenzeit genutzt werden.
CSV-Export
Die Schaltfläche „CSV exportieren“ schreibt vier Dateien in den Ordner „MQL5\Files\EALedger\<Konto>\“:
- <time>_summary.csv: Periodensummen, nicht handelsbezogene Einträge, die Kontostandsprüfung
- <time>_groups.csv: eine Zeile pro Gruppe der aktuellen Ansicht
- <time>_trades.csv: eine Zeile pro Trade, mit Einstieg und Ausstieg, Kosten, Spread und Slippage bei Einstieg und Ausstieg, MFE und MAE in Punkten und Geld, der Quelle der jeweiligen Messung sowie Anmerkungen
- <time>_deals.csv: eine Zeile pro Deal, mit dem zugehörigen Trade, dem angeforderten Preis, dem Kurs zum Zeitpunkt der Order, Slippage und Spread
Mit der Einstellung „CSV-Dateien nach jeder Änderung des Verlaufs neu schreiben“ werden dieselben Dateien unter dem Präfix „auto_“ auf dem neuesten Stand gehalten.
Eingaben
| Eingabe | Standard | Bedeutung |
|---|---|---|
| Zu Beginn angezeigter Zeitraum | Gesamter Verlauf | Heute, Diese Woche, Dieser Monat, Gesamter Verlauf, Benutzerdefiniert |
| Benutzerdefinierter Zeitraum: von / bis | 01.01.2026 / 0 | Serverzeit. 0 = jetzt |
| Anzeige beim Start | Nach Magic Number | Nach Magischen Zahlen, Nach Symbol, Nach Magischen Zahlen und Symbol, Nach Wochentag der Eingabe, Nach Makler-Uhrzeit der Eingabe, Handelsliste |
| Nur diese Magische Zahl anzeigen | -1 | -1 zeigt alle an |
| Spread und Slippage bei jeder Ausführung messen | true | |
| MFE/MAE geschlossener Trades messen | true | |
| Für Trades mit einer Laufzeit von bis zu dieser Anzahl an Tagen werden Ticks verwendet | 3 | Längere Trades verwenden M1-Bars |
| CSV-Dateien nach jeder Änderung des historischen Datenbestands erneut schreiben | false | |
| Abstand des Panels vom linken / oberen Rand | 8 / 22 | Pixel |
| Skalierung des Panels in % | 0 | 0 richtet sich nach der Bildschirm-DPI |
| Die eigenen Handelspfeile des Charts ausblenden, solange das Panel geöffnet ist | true | MetaTrader zeichnet sie über dem Panel ein. Die Chart-Einstellung wird wiederhergestellt, wenn das Panel ausgeblendet oder der EA entfernt wird |
| Nur im Tester: Beispielpositionen eröffnen | true | Siehe unten |
Strategietester
Der Tester verfügt zu Beginn über keine Handelshistorie. Daher eröffnet der EA ausschließlich im Strategietester selbst eine kurze Reihe von Beispielpositionen:
- Mindestvolumen (das Doppelte des Mindestvolumens, sofern die Margin dies zulässt), drei magische Zahlen („Beispiel A“, „Beispiel B“, „Beispiel C“)
- Jede Position wird eröffnet, zur Hälfte geschlossen, dann der Rest geschlossen – bis zu 60 Positionen
- Vor jeder neuen Position wird die freie Margin geprüft; bei zu geringem Guthaben wird eine Notiz geschrieben und nichts gesendet
Führen Sie den Test im visuellen Modus aus, um zu sehen, wie sich das Fenster füllt. Die Beispielpositionen stellen keine Handelsstrategie dar, und ihre Ergebnisse sagen nichts über den Gewinn aus. Der Tester hat keinen angeforderten Preis für Marktorders und verfügt möglicherweise über keine Tick-Historie, daher stammen Spread sowie MFE/MAE aus M1-Balken, und Slippage wird in der Handelsliste als „n/a“ und in der Zusammenfassung als 0,00 angezeigt.
Auf einem Live- oder Demo-Chart sendet, ändert oder schließt der EA niemals eine Order.
Einschränkungen (bitte vor dem Kauf lesen)
- Ein Chart-Slot: Da es sich um einen Expert Advisor handelt, belegt er den EA-Slot des Charts, an den er angehängt ist. Hängen Sie ihn an einen freien Chart an, nicht an den Chart eines Handels-EAs.
- Die Tick-Historie stammt vom Broker: Spread, Slippage bei Marktorders sowie MFE/MAE benötigen die Tick-Historie des Brokers für den Zeitpunkt des Handels. Broker bewahren diese nur für eine begrenzte Zeit auf und für manche Symbole gar nicht (ein Aktien-CFD in den Tests hatte keine). In diesem Fall werden M1-Bars verwendet und der Handel wird mit „M1“ gekennzeichnet oder mit „n/a“, wenn keine Daten vorliegen. Bei der ersten Messung wird die Tick-Historie vom Server des Brokers heruntergeladen.
- Die Slippage von Marktorders wird anhand des Kurses zum Zeitpunkt der Ordererteilung gemessen. Sie umfasst jede Kursbewegung während der Ausführung – und genau diesen Preis zahlen Sie.
- Close-by: MetaTrader verbucht den gesamten Gewinn eines „Close-by“ auf eine der beiden Positionen. Das Hauptbuch zeigt dies so an, wie es der Broker verbucht hat; die Summen stimmen, die Aufteilung auf die beiden Positionen stammt von MetaTrader.
- Netting-Konten: Eine Position kann von mehreren EAs verändert werden. Der Trade gehört zu der „Magic Number“, die ihn eröffnet hat; Transaktionen anderer „Magic Numbers“ dazu werden als „Mix“ gekennzeichnet.
- Der Geldbetrag wird in der Kontowährung soangezeigt, wie er vom Broker gemeldet wird. Bei einem Cent-Konto werden Cent-Beträge angezeigt.
- Der Swap wird in einer eigenen Spalte angezeigt und nicht in die Gesamtkosten pro Lot einbezogen, die Spread, Slippage, Provision und Gebühren umfassen.
- Wochentag und Uhrzeit entsprechen denen des Einstiegs in Serverzeit.
- Getestete Umgebung:
- Live auf vier Demokonten: MetaQuotes-Demo mit USD-Hedging (1.249 Transaktionen), EUR-Hedging (900 Transaktionen), USD-Netting (262 Trades) sowie ein Demokonto bei einem zweiten Broker, USD-Hedging (337 Trades, darunter 5.000 Unzen Silber, 10-Einheiten- und 100-Einheiten-Indexkontrakte sowie Aktien-CFDs). Bei allen vier Konten stimmten die Summen auf den Cent genau mit dem Kontostand überein, und jeder Handel entsprach einer separaten, für den Test erstellten Rekonstruktion der Handelshistorie.
- Cent-Konten und 1 Unze Gold werden durch Unit-Tests mit synthetischen Geschäften abgedeckt, nicht durch Live-Konten. Keiner der Broker bot diese im Demomodus an.
- Die Geschwindigkeit wurde mit synthetischen Historien von 50.000 und 200.000 Geschäften getestet.
- Bitte probieren Sie es zunächst auf einem Demokonto aus – mit der kostenlosen Demo des Strategy Testers.
