Order Watchdog Pro
- 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.3
- Aktivierungen: 5
Schützt Ihr MT5-Konto vor Trades, die nicht von Ihnen stammen: Positionen und ausstehende Orders mit einer unbekannten Magic Number sowie manuelle Trades von Orten aus, von denen aus Sie nicht handeln. Im „Act“-Modus werden diese geschlossen. Ihre eigenen EAs bleiben davon unberührt. Es werden niemals Trades eröffnet.
Wovor es Sie schützt
- Vor dem Handel durch andere Personen auf Ihrem Konto: eine Person, die Ihr Passwort besitzt und über die Smartphone-App oder das Web-Terminal handelt, obwohl Sie angegeben haben, dass Sie von dort nicht handeln (InpManualTrades).
- Ein EA, den Sie nicht ausführen wollten: ein vergessener EA auf einem anderen Chart, ein kopierter oder Test-EA mit einer anderen Magic Number.
- Jemand, der Ihre Trades schließt: eine Benachrichtigung, wenn eine Ihrer Positionen von einer Stelle oder einem EA geschlossen wird, die bzw. der nicht Ihnen gehört.
- Vom Broker vorgenommene Änderungen: Geldbewegungen ohne Handel, vom Broker eröffnete oder geschlossene Trades, Änderungen bei Hebel, Stop-out, Swap oder Berechtigungen (nur Benachrichtigungen).
Was es NICHT tut
- Es verwaltet nicht Ihre eigenen EAs. Positionen mit einer von Ihnen eingegebenen Magic Number werden niemals geschlossen oder geändert, auch nicht, wenn ein EA viele Positionen eröffnet, Grid- oder Martingale-Strategien verwendet oder ohne Stop-Loss handelt. Diese Vorgänge können als Warnmeldungen gemeldet werden.
- Es handelt sich nicht um einen Risikomanager für Tagesverluste oder Prop-Firmen.
- Es kann einen Broker nicht daran hindern, irgendetwas zu tun. Es meldet Vorfälle und führt Aufzeichnungen.
- Es handelt nicht und eröffnet keine Positionen.
Was Sie eingeben
- 1. InpMagics: Die Magic Numbers Ihrer EAs, zum Beispiel „12345, 500000-500063“. Auch die Magic Numbers von Trades, die von einem MQL5-Signal oder einem Trade-Copier kopiert werden, falls Sie einen solchen nutzen (im Dry-Run werden sie angezeigt).
- 2. InpMode: Nur Benachrichtigung / Testlauf (Standard) / Aktiv.
- 3. InpTgToken und InpTgChatId: Ihr Telegram-Bot-Token und Ihre Chat-ID (optional). Telegram ist aktiviert, wenn beide Felder ausgefüllt sind.
- 4. InpManualTrades: Wo Sie manuell handeln – überall (Standard), nur auf dem PC, nur auf dem Smartphone, auf dem PC oder dem Smartphone oder nie. Manuelle Trades von anderen Orten stammen nicht von Ihnen.
Alle anderen Eingaben befinden sich in der Gruppe „ERWEITERT“ und können unverändert bleiben.
Modi
- Nur Benachrichtigung: Nur Benachrichtigungen. Es wird keine Handelsanfrage gesendet.
- Trockenlauf (Standard): Benachrichtigungen sowie eine Zeile „würde schließen / würde löschen“ für jeden Handel, der nicht von dir stammt. Es werden keine Handelsanfragen gesendet.
- Ausführen: Schließt Positionen und löscht ausstehende Orders, die nicht von Ihnen stammen.
Was passiert mit einem Handel, der nicht Ihnen gehört (Modus „Ausführen“)?
- Eine Position oder ausstehende Order ist „nicht Ihre“, wenn ihre Magic-Nummer nicht in InpMagics enthalten ist oder wenn es sich um einen manuellen Trade (Magic-Nummer 0) handelt, der von einem Ort aus eröffnet wurde, den InpManualTrades nicht zulässt (Standard: Manuelle Trades von jedem Ort aus sind Ihre). Ein EA, der die Magic-Nummer 0 verwendet, wird als Ihr EA behandelt.
- Positionen und Orders, die bereits offen waren, als der Watchdog zum ersten Mal auf dem Konto ausgeführt wurde, werden lediglich gemeldet, aber niemals geschlossen. Ein Fehler in „InpMagics“ oder ein Kontowechsel kann ältere Trades nicht schließen.
- Die Position wird geschlossen; die ausstehende Order wird gelöscht.
- Wenn die Position nach InpMaxTries-Versuchen (Standard: 3) nicht geschlossen werden kann und keinen Stop-Loss aufweist, wird ein Stop-Loss in einer Entfernung von InpUnknownSLPct % (Standard: 1) des Eröffnungskurses gesetzt, und Sie erhalten eine Benachrichtigung. Ein bereits vorhandener Stop-Loss wird niemals geändert. Der Schließversuch wird alle 5 Minuten erneut unternommen.
- Bei Netting-Konten werden diese Positionen gemeldet, aber nicht geschlossen, da eine Position auch das Volumen Ihres eigenen EAs enthalten kann. Pending-Orders werden weiterhin gelöscht.
- Magic Numbers in „InpNeverTouch“ werden lediglich gemeldet.
Nur Benachrichtigungen (es wird nichts geschlossen oder geändert)
- Großer manueller Handel (InpManualMarginPct, Standard 20): Eine manuell über das PC-Terminal, die Smartphone-App oder das Web-Terminal eröffnete Position benötigt mehr Margin als dieser Prozentsatz des Eigenkapitals. EA-Trades werden nicht überprüft.
- Viele Positionen pro EA (InpMaxPerMagic, Standard 0 = deaktiviert): Einer Ihrer EAs hält mehr Positionen pro Symbol und Richtung als diese Anzahl.
- Kein Stop-Loss (InpRequireSL, Standard: deaktiviert): Eine Position Ihrer EAs hat InpNoSLGraceSec Sekunden nach der Eröffnung keinen Stop-Loss.
- Broker-Überwachung (InpBrokerWatch, Standard: aktiviert):
- - Kontostandsänderungen ohne Handel: Ein- oder Auszahlung, Gutschrift, Belastung, Korrektur, Bonus, stornierte Geschäfte;
- - Transaktionen, die vom Broker oder Server und nicht vom Client-Terminal, einem EA, SL, TP oder Stop-Out eröffnet oder geschlossen wurden;
- - Stop-Out;
- - Änderungen des Hebels, des Stop-Out-Niveaus, des Margin-Call-Niveaus, der Handelsberechtigung für das Konto, der EA-Berechtigung für das Konto und des Handelsmodus für das Symbol;
- - Swap: Ein Swap, der an Sie gezahlt wurde oder null betrug, wird zu einer Belastung, oder eine Belastung steigt um mehr als das 1,5-Fache (andere Swap-Änderungen werden nur im Protokoll erfasst);
- - Positionen, die beim Rollover oder aufgrund einer Variationsmarge geschlossen und wieder eröffnet wurden: eine Benachrichtigung pro Tag, jeder Handel im Protokoll.
- InpBrokerSLTP (standardmäßig aktiviert): Stop-Loss oder Take-Profit einer manuellen Position wurde durch eine Anfrage geändert, die nicht von diesem Terminal stammte, bestätigt durch zwei Überprüfungen. Auf einem MQL5-VPS deaktiviert.
- InpSlipAlertPts (Standard 0 = deaktiviert): Der Stop-Loss wurde um diese Anzahl an Punkten schlechter als das Stop-Loss-Niveau ausgeführt.
- Von anderen geschlossen: Eine Position wurde durch einen manuellen Abschluss von einem Ort aus geschlossen oder reduziert, den Sie nicht zugelassen haben, oder durch einen EA mit einer Magic Number, die nicht Ihre eigene ist.
- Beim Start: Trades, die nicht von Ihnen stammten, Stop-Outs und Kontostandsänderungen, während die Funktion deaktiviert war, bis zu InpOfflineMaxDays Tage zurück (Standard 7).
So funktioniert es
- Eine Instanz auf einem Chart überwacht alle Symbole des Kontos (oder nur „InpSymbols“). Symbol und Zeitrahmen des Charts spielen keine Rolle.
- Das Konto wird alle InpScanSec Sekunden (Standardwert 10) überprüft; neue Trades werden bei ihrem Eintreffen überprüft.
- Funktioniert auf einem MQL5-VPS oder auf Ihrem eigenen PC.
- Im „Act“-Modus wird jede Anfrage unmittelbar vor dem Absenden mit dem Konto abgeglichen. Bei ausbleibender oder unklarer Antwort wartet das Programm 15 Sekunden; bei geschlossenem Markt 5 Minuten; nach einem Requote 10 Sekunden bis 5 Minuten.
- Bei Erreichen von maximal InpMaxActionsPerMin Anfragen pro Minute (Standard 20) werden die Anfragen für 5 Minuten unter Ausgabe einer Warnmeldung unterbrochen.
- Der „Act“-Modus mit einem leeren „InpMagics“-Feld wird abgelehnt, da dadurch jeder EA-Trade geschlossen würde. „InpMagics“ darf keine 0 enthalten (geben Sie 7000 ein, nicht 7.000).
- Ungültige Eingaben verhindern den Start, wobei eine Meldung den betreffenden Eingabewert nennt.
Benachrichtigungen
- Push-Benachrichtigungen an die MetaTrader-App (InpPush). Ihre MetaQuotes-ID muss unter „Extras“, „Optionen“, „Benachrichtigungen“ eingestellt sein.
- Telegram: api.telegram.org muss (mit https) unter „Extras“, „Optionen“, „Expert Advisors“, „WebRequest zulassen“ hinzugefügt werden. Eine fehlgeschlagene Benachrichtigung wird später erneut gesendet.
- Eine Benachrichtigung pro Ergebnis, auch nach einem Neustart.
- Jede Benachrichtigung gibt an, was geschehen ist, zum Beispiel „Trockenlauf: würde geschlossen werden“ oder „Never-Touch-Magic: nicht geschlossen“.
- Jede Benachrichtigung und jede Aktion wird mit Serverzeit, Kontostand und Eigenkapital in die Datei „MQL5\Files\WatchdogPro_log.csv“ geschrieben.
- Chart-Panel: Modus, Ihre Magic Numbers, Anzahl der Feststellungen und Aktionen, letzter Scan und letzte Warnmeldung. Die Rahmenfarbe zeigt den Modus an: blau „Nur Warnmeldung“, gelb „Trockenlauf“, rot „Aktion“.
Einschränkungen
- Die „AutoTrading“-Schaltfläche des Terminals kann nicht deaktiviert werden.
- Es kann Ihre eigenen manuellen Trades nicht von manuellen Trades unterscheiden, die von einer anderen Person auf demselben PC-Terminal getätigt wurden. Beide werden als „PC“ gemeldet.
- Es kann einen externen Handel, der die Magische Zahl Ihres EAs wiederverwendet, nicht von einem eigenen Handel Ihres EAs unterscheiden.
- Verwenden Sie eine Kopie pro Konto. Nachdem Sie das Programm auf einen MQL5-VPS verschoben haben, entfernen Sie es aus dem Chart auf Ihrem PC.
- Nur im Strategietester eröffnet es kleine Beispieltrades, damit seine Benachrichtigungen und Aktionen sichtbar sind.
- Eine Position kann sich weiter bewegen, bevor eine Schließanforderung ausgeführt wird.
