Data For Quant Researcher
- Utilitys
-
Manit Chin
MQL5 Developer | Overfit-proof testing and account protection for EAs
I help traders answer two questions before real money is at risk:
1) Is this strategy real, or just fitted to the past?
2) Will the account survive when something goes wrong?
Protection against overfitting - Version: 1.21
- Aktivierungen: 5
Zeichnet saubere M1-Daten mit tatsächlichen Tick-Zahlen und Spreads für bis zu 6 Symbole aus einem Chart, Minuten mit Kurssprüngen und Spread-Ausweitungen, eine tägliche Tabelle mit den Spreads nach Stunden, eine tägliche marktübergreifende Tabelle sowie die Details jedes abgeschlossenen Handels in wöchentlichen CSV-Dateien auf. Optionale tägliche Übermittlung an Ihren eigenen Telegram-Bot. Das Tool eröffnet oder ändert niemals Trades.
„Data For Quant Researcher“ ist ein Aufzeichnungstool für Personen, die ihren Markt und ihre eigene Handelsausführung anhand von Echtdaten statt anhand von Vermutungen analysieren. Verbinden Sie es mit einem Chart, und es zeichnet dieses Symbol sowie bis zu fünf weitere rund um die Uhr auf einem MQL5-VPS oder auf Ihrem eigenen PC auf.
Was aufgezeichnet wird
Marktdaten (jedes Symbol, jede abgeschlossene Minute)
- M1-Eröffnungskurs, Höchstkurs, Tiefstkurs, Schlusskurs und Tick-Volumen
- die tatsächliche Anzahl der Ticks in dieser Minute
- Durchschnittlicher, maximaler und minimaler Spread in Punkten
- Ein Kennzeichen, wenn keine Ticks verfügbar waren, anstelle von Nullen
Ereignisse
- Kurslücken innerhalb der Handelssitzung
- Kurslücken bei Marktschluss mit der Kursänderung bei Wiedereröffnung (tägliche Handelspausen, Wochenenden)
- Verbindungsabbrüche und -wiederherstellungen des Terminals, Starts und Stopps
Spikes (die von Ihnen ausgewählten Symbole)
- jede Minute, deren Hoch-Tief-Spanne mindestens das N-fache (Standardwert 3) der durchschnittlichen Spanne der letzten 60 Balken beträgt
- Richtung, Spanne und Körper in Punkten, das Vielfache, Ticks und Spread in dieser Minute, Minuten seit dem vorherigen Spike
- Spikes unmittelbar nach einem Marktschluss (Sonntagseröffnung, Tagesabschluss) werden separat gekennzeichnet
Spread-Ausweitung (die von Ihnen ausgewählten Symbole)
- jede Minute, deren maximaler Spread mindestens das N-fache (Standardwert 3) des normalen Spreads der letzten 60 Minuten beträgt
- der Spread, der normale Spread, das Vielfache, die Ticks und die Spanne in dieser Minute
- zeigt genau an, wann Ihr Broker den Spread erweitert: Nachrichten, Rollover, Markteröffnung
Spread nach Tageszeit (einmal täglich)
- für jedes Symbol und jede Stunde: durchschnittlicher und höchster Spread, Ticks pro Minute, durchschnittliche Bandbreite, Anzahl der Spitzenwerte und Spread-Ausweitungen
- mit der UTC-Stunde, damit Sie die Daten in Ihrer eigenen Zeitzone ablesen können; lässt sich direkt in Excel öffnen
Marktübergreifende Tabelle (die von Ihnen ausgewählten Symbole, einmal täglich)
- Für jedes Paar: Wie eng folgen ihre 1-Minuten-Bewegungen einander innerhalb derselben Minute (Korrelation von -1 bis +1)
- dasselbe mit einem Symbol, das dem anderen 1 bis 5 Minuten voraus ist, in beide Richtungen, und welche Verzögerung am stärksten war
- Rauschpegel für diesen Tag (einer für einen Einzelwert, ein strengerer für die stärkste der 10 Verzögerungen), damit Sie erkennen können, ob ein Wert aussagekräftig ist
- wie oft die beiden Symbole in derselben Minute oder im Abstand von 1–5 Minuten nacheinander einen Spitzenwert erreichen, im Vergleich zu dem, was der reine Zufall ergeben würde
Bei einer Auflösung von 1 Minute liegen die meisten Werte für „welches Symbol sich zuerst bewegt“ an den meisten Tagen nahe bei Null. Die Tabelle misst; sie sagt nichts voraus.
Symbolangaben, einmal täglich
- Swap für Long- und Short-Positionen (auch als % des Positionswerts pro Nacht), dreifacher Swap pro Tag, Kontraktgröße, Tick-Wert, Stopps und Einfrierungsniveau, Volumen min/Schritt/max, Zeitversatz des Servers gegenüber UTC
Geschlossene Trades (alle Magic Numbers oder nur die von Ihnen ausgewählten)
- Eröffnungs- und Schlusszeit sowie -kurs, Volumen, Magic Number, Ausstiegsgrund (SL, TP, EA, manuell, Stop-out)
- Spread beim Einstieg
- Ausführungszeit der Einstiegsorder auf dem Server
- Gewünschter Kurs und Slippage, wenn der Broker den gewünschten Kurs in der Order beibehält
- Haltedauer, maximale positive und maximale negative Abweichung (bei Trades bis zu 6 Stunden in Ticks, ansonsten in M1-Bars)
- Provision, Swap, Gewinn und Nettoergebnis
- auch auf der Ausstiegsseite: Spread beim Ausstieg, Ausführungszeitpunkt der Schlussorder, gewünschter Schlusskurs und Slippage (SL-Slippage, wenn der Broker das SL-Niveau beibehält), Anzahl der abgeschlossenen Geschäfte
Wie die Dateien organisiert sind
Alle Dateien liegen als reine UTF-8-CSV-Dateien im gemeinsamen Datenordner von MetaTrader vor: Common\Files\DQR\Kontonummer. Der vollständige Pfad wird auf der Registerkarte „Experten“ angezeigt und im Chart dargestellt. Es gibt eine Datei pro Symbol und Woche (Sonntag-Eröffnung bis Freitag-Schluss), eine Spike-Datei pro Symbol und Woche sowie Dateien zu Ereignissen, Trades, monatlichen Spezifikationen und marktübergreifenden Daten. Die Dateien lassen sich direkt in Python, R, Excel oder einer beliebigen Datenbank öffnen.
Ausführung auf Ihrem eigenen PC: Es ist nichts weiter erforderlich, die Dateien befinden sich bereits auf Ihrem Computer.
Ausführung auf einem MQL5-VPS: Da die Dateien dort nicht heruntergeladen werden können, aktivieren Sie bitte den täglichen Telegram-Bericht.
Entwickelt für saubere Daten
- Ein Balken wird erst nach seinem Schlusskurs und nach einer kurzen Verzögerung geschrieben, sodass ein sich noch bildender Balken niemals erfasst wird.
- Nach einem Neustart, einer Änderung der Eingaben oder einer VPS-Migration wird das Schreiben ab der zuletzt gespeicherten Zeile fortgesetzt. Verpasste geschlossene Balken werden aus dem Verlauf ergänzt. Keine Zeile wird doppelt geschrieben.
- Wenn der Verlauf des Terminals noch geladen wird, wartet das Programm, anstatt unvollständige Daten zu schreiben.
- Zwei Charts auf demselben Konto können dasselbe Symbol nicht zweimal aufzeichnen.
- Nach einem Update, bei dem Spalten hinzugefügt werden, wird eine ältere Datei umbenannt und eine neue angelegt, sodass Spalten niemals vermischt werden.
Täglicher Telegram-Bericht (optional)
Einmal täglich, zu einer von Ihnen gewählten Uhrzeit, erhält Ihr eigener Telegram-Bot eine kurze Zusammenfassung sowie CSV-Dateien, die nur die seit dem letzten Bericht hinzugefügten Zeilen enthalten: eine Datei pro Symbol und Thema, jeweils mit einem Titel wie „XAUUSD | Spikes | von -> bis | 7 Zeilen“. Falls der Computer oder der VPS ausgeschaltet war, holt der nächste Bericht die versäumten Daten nach. Ihre Daten werden ausschließlich an Ihren eigenen Bot gesendet. Telegram ist standardmäßig deaktiviert.
Um die Funktion zu nutzen, fügen Sie unter „Extras“, „Optionen“, „Expert Advisors“, „WebRequest zulassen“ die Adresse https://api.telegram.org hinzu und geben Sie das Bot-Token sowie die Chat-ID ein. Eine Schritt-für-Schritt-Anleitung, einschließlich einer Anleitung zum automatischen Herunterladen der Dateien aus Telegram auf Ihren PC, sowie Erläuterungen zu jeder Spalte finden Sie in den Kommentaren zu diesem Produkt.
Eingaben
- InpSymbols: bis zu 5 weitere Symbole zusätzlich zum Chart, zum Beispiel „EURUSD, BTCUSD“ (genaue Bezeichnungen wie in der Marktübersicht)
- InpSpikeOn, InpSpikeSymbols, InpSpikeMult: Spike-Aufzeichnung, welche Symbole (leer = alle), der Multiplikator
- InpCrossOn, InpCrossSymbols: die tägliche marktübergreifende Tabelle, welche Symbole (mindestens 2, leer = alle)
- InpSpreadOn, InpSpreadSymbols, InpSpreadMult: Spread-Ausweitung und die stündliche Spread-Tabelle, welche Symbole, das Vielfache
- InpBackfillHours: Anzahl der Stunden an historischen Daten, die beim ersten Start aufgezeichnet werden sollen (0 bis 168)
- InpLagSec: Sekunden, die nach dem Schluss einer Minute gewartet werden sollen, bevor diese geschrieben wird
- InpGapMin: Mindest-Gap in Minuten, das innerhalb einer Handelssitzung gemeldet wird
- InpTrades, InpTradeMagics, InpTradeAllSymbols, InpTradeBackfillDays: Aufzeichnung abgeschlossener Trades
- InpFolder: Name des Unterordners im gemeinsamen Ordner „Files“
- InpTgOn, InpTgToken, InpTgChatId, InpTgHour, InpTgGmtOffset, InpTgSendFiles: täglicher Telegram-Bericht
- InpTesterDemo, InpTesterTicks: Nur für den Strategietester
Was wurde getestet
- Strategietester, drei Symbole mit Echtzeit-Ticks: keine doppelten Zeilen, keine Zeilen in falscher Reihenfolge, OHLC-Werte in jeder Zeile konsistent, Tageswechsel korrekt gemeldet. Minuten mit Kurssprüngen, Minuten mit Spread-Ausweitung, die Tabelle „Spread pro Stunde“ und marktübergreifende Werte wurden unabhängig von den M1-Dateien neu berechnet und stimmten exakt überein.
- Strategietester, drei Monate EURUSD: eine Datei pro Handelswoche, Datenlücken innerhalb der Sitzung wurden gefunden und gemeldet.
- Live-Demokonto, drei Symbole mit zwei Testtrades und einem Terminal-Neustart: fortlaufende Minuten ohne Duplikate nach dem Neustart, Trades einmal erfasst, maximale positive und negative Ausschläge anhand der M1-Balken überprüft.
- Ein integrierter Selbsttest (Eingabe „InpRunSelfTest“) überprüft die Berechnungen und schreibt das Ergebnis in eine Datei.
Hinweise
- Das Programm handelt nicht auf einem Live- oder Demo-Chart. Nur im Strategietester öffnet es einen kleinen Beispielhandel pro Tag (InpTesterDemo), sodass die Handelsdatei dort eingesehen werden kann.
- Alle Zeiten entsprechen der Broker-Serverzeit; die Spezifikationsdatei gibt den Server-Offset zu UTC an.
- Im Strategietester sind die Spalten „Tick“ und „Spread“ leer, sofern InpTesterTicks nicht auf „true“ gesetzt ist, da das Auslesen der Ticks für jede Minute sehr zeitaufwendig ist. Verwenden Sie dazu die Option „Jeder Tick basierend auf echten Ticks“.
- Für die Slippage wird der in der Order angegebene Preis benötigt. Viele Konten mit Marktausführung speichern diesen nicht; in diesem Fall bleiben diese beiden Spalten leer.
- Das Programm liefert Daten, keine Handelssignale, und gibt keine Zusicherung hinsichtlich eines Handelsergebnisses.
