MID NewsGuard
- Utilitys
- Version: 3.13
- Aktivierungen: 5
Kurzbeschreibung
MID_NewsGuard_EA ist ein DLL-freier MT5-Expert Advisor, der den nativen MetaTrader 5-Wirtschaftskalender ausliest, bevorstehende Nachrichten mit hoher, mittlerer und geringer Auswirkung in Ihrem Chart anzeigt und Ihren Handel während konfigurierbarer Nachrichtenfenster automatisch schützt, indem er offene Positionen schließt, ausstehende Orders löscht und neue Einstiegspositionen blockiert. Vollständig MQL5-Market-konform – keine DLL-Importe.
1. Was ist das?
MID_NewsGuard_EA ist ein nachrichtenorientiertes Risikomanagement-Tool für MetaTrader 5. Es generiert keine Signale und platziert keine Trades. Es handelt sich um einen Begleit-EA, der parallel zu Ihrer bestehenden Strategie läuft und diese vor Volatilitätsspitzen im Zusammenhang mit geplanten Wirtschaftsveröffentlichungen schützt.
Drei Säulen:
-
Integrierter MT5-Kalender – liest „CalendarValueHistory“ und „CalendarEventById“ direkt von den Servern von MetaQuotes. Kein Scraping, kein HTTP, keine DLL. Die Zeiten sind bereits in der Serverzeit des Brokers angegeben.
-
Visuelle Übersicht – Nachrichtenfeld oben links mit Countdowns, vertikalen Linien pro Ereignis, farbigen Rechtecken für Schutzzonen sowie einem Parameter-Dashboard unten rechts.
-
Automatischer Schutz – während eines benutzerdefinierten Zeitfensters rund um jedes ausgewählte Nachrichtenereignis werden offene Positionen geschlossen, ausstehende Orders gelöscht und neue Einstiegspositionen blockiert, gefiltert nach Magic Number und/oder Symbol.
Jede Aktion wird protokolliert und optional gemeldet.
2. Das Problem, das es löst
Geplante Veröffentlichungen (NFP, CPI, FOMC, EZB, BoE, BIP, PMIs, Feiertage) führen zu Spread-Explosionen (3- bis 20-fach), Slippage, einer Ausweitung der Stop-Levels, Gap-Risiken, Liquiditätslücken und einer Flut von Requotes. Für jeden EA oder manuellen Trader mit einem strengen Risikomodell kann dies Verluste weit über den beabsichtigten Stop-Loss hinaus, die sofortige Ausführung von Grid-Systemen auf allen Ebenen gleichzeitig sowie Drawdowns bedeuten, die gegen die Regeln von Eigenhandelsfirmen verstoßen.
Viele Prop-Firmen verbietenmittlerweile das Halten oder Eröffnen von Trades innerhalb weniger Minuten nach Nachrichten mit hoher Auswirkung. Verstöße können zur Ungültigkeit einer Auszahlung führen. Selbst dort, wo dies erlaubt ist, führen Spread- und Slippage-Kosten oft dazu, dass solche Trades eine negative Erwartungsertrag haben.
Warum bestehende Lösungen unzureichend sind: Manuelle Überwachung ist nicht skalierbar; Kalender-Websites weichen von der Broker-Zeit ab; DLL-basierte oder auf gesammelten Nachrichten basierende EAs sind anfällig und auf dem Market verboten; das Deaktivieren der „Algo“-Schaltfläche stoppt alle EAs auf einmal.
Was dieser EA bietet: denselben Kalender, den Ihr Broker verwendet (perfekte Zeitabgleichung), Auswahl nach Auswirkungsgrad, Filterung nach Währung/Symbol, Schutz pro „Magic-Nummer“, Protokollierung von Schließen/Löschen/Sperren, akustische Warnmeldungen und vollständige MQL5-Market-Konformität.
3. Funktionen
Kalenderimport – Abfragen pro Währung, Aktualisierung alle InpRefreshMinutes (mindestens 60 s bei Fehler), Beibehaltung der zuletzt bekannten Liste bei Netzwerkfehlern, Abgleich mit der Serverzeit.
Zwei unabhängige Auswirkungsfilter – InpShow* steuert, was im Diagramm angezeigt wird; InpGuard* steuert, was den Schutz auslöst.
Währungs- und Symbolfilterung – InpCurrencies (CSV, leer = alle), InpSymbolMatch (wird nur ausgelöst, wenn die Währung der Nachricht mit dem Positionssymbol übereinstimmt), InpOnlyChartSymbol (nur das Symbol des aktuellen Charts).
Schutzfenster – [ T − InpMinutesBefore, T + InpMinutesAfter] pro Ereignis; überlappende Fenster werden pro Symbol zusammengefasst.
Durchsetzung (aus OnTick , OnTimer , OnTradeTransaction ):
-
Vor dem Zeitfenster eröffnete Positionen → schließen, wenn InpClosePositions .
-
Innerhalb des Zeitfensters eröffnete Positionen → schließen, wenn InpBlockNew .
-
Vor dem Fenster eröffnete Pending-Orders → löschen, wenn InpDeletePending ; innerhalb des Fensters → löschen, wenn InpBlockNew .
-
Alles gefiltert nach InpMagics (leer = alle Magics), Symbolfiltern und dem Union-Fenster.
Benachrichtigungen – Popup + Ton vor Nachrichten (InpAlertBeforeMin ) vor jedem Ereignis (dedupliziert); optionale Benachrichtigungen nach jeder Aktion bei jedem Schließen/Löschen.
Visuelle Ebene – Panel oben links (Titel, Aktualisierungsstatus, farbcodierter Schutzstatus, Countdown pro Nachricht + Auswirkungssymbol + Währung + Titel + optionale A/F/P-Werte), Nachrichten des nächsten Tages in kleinerer Schrift, vertikale Linien je nach Auswirkung farblich gekennzeichnet, Rechtecke für die Schutzzone (rot = aktiv, orange = bevorstehend), Dashboard unten rechts, automatische Erkennung des Designs (dunkel/hell).
Robustheit – Hintergrund wird einmal erstellt und nur aktualisiert (behebt den MT5-Z-Ordnungs-Fehler), verwaiste Beschriftungen werden bereinigt, Zähler ( G_ClosedCount , G_DeletedCount ) werden im Status angezeigt, alles im Arbeitsspeicher, keine Dateien, keine globalen Variablen, keine Timer-Abweichung.
4. Für wen ist es gedacht?
Geeignet für: Betreiber von EA-Portfolios, die sich eine einzige „News-Guard“-Ebene wie von Zauberhand wünschen; diskretionäre Trader, die einen visuellen Kalender sowie Schutz bei manuellen Trades benötigen; Trader von Prop-Firmen, die die Einhaltung von Regeln mit protokollierten Nachweisen benötigen; Grid-/Martingale-/Averaging-EAs (am anfälligsten für Kurssprünge); Scalper, die unruhige 5–10-Minuten-Fenster vermeiden; Demo-Nutzer, die das Nachrichtenrisiko ohne Risiko bewerten möchten.
Nicht konzipiert für: die Generierung von Trades; den Ersatz des globalen Algo-Schalters (v3.13 kann die Terminal-Schaltfläche nicht umschalten – DLL-freie Einschränkung); fundamentale Prognosen (reagiert auf geplante Zeitpunkte, nicht auf Inhalte); Backtesting (der Strategietester verfügt über keinen Kalender; der EA meldet korrekterweise „nicht verfügbar“ und führt keine Aktion aus).
5. Architektonische Entscheidungen
Nativer MT5-Kalender – gleiche Quelle wie beim Broker → keine Zeitzonenabweichung, keine Scraping-Fehler, offizielle API, an der Quelle filterbar.
Filterung nach „Magic“ und Symbol – echte Portfolios kombinieren Strategien und Symbole; eine pauschale „Alle schließen“-Sperre ist zu undifferenziert. Dieser EA kann alle Trades eines bestimmten EAs schützen, nur das aktuelle Symbol, nur Symbole, die die Währung der Nachricht enthalten, oder eine beliebige Kombination davon.
„Close-before“ / „block-during“ – echte Strategie-EAs können ohne DLL nicht extern angehalten werden, und die „Algo“-Schaltfläche ist global. Das Schließen und Blockieren ist der einzige Mechanismus in reinem MQL5, der einen portfolioweiten Schutz vor Nachrichten bietet, und er ist nachprüfbar.
DLL-frei – der Markt verbietet DLLs. In Version 3.12 wurde „user32 .dll “ ( PostMessageW + GetAncestor ) verwendet , um auf die „Algo“-Schaltfläche zu klicken: nur unter Windows, anfällig, blockierbar, nicht konform. In Version 3.13 wurde dies entfernt und der globale Schalter durch einen Schutz pro Trade ersetzt – ein bewusster Kompromiss: Die Möglichkeit, andere EAs zu beenden, geht verloren, dafür werden Portabilität und Konformität gewonnen.
Schließen und Blockieren – „Schließen“ kümmert sich um bestehende Risiken; „Blockieren“ kümmert sich um neue Risiken während der Veröffentlichung (einschließlich EAs, die den Kalender ignorieren, und ausgelöste Pending-Orders). Nur eine der beiden Maßnahmen zu ergreifen, hinterlässt eine Lücke.
6. Beispielszenarien
A – EURUSD-Grid-EA (Magic-Code 20240001 ): mit InpMagics= "20240001" , hohe Auswirkung, −10/+20 Min., Schließen + Blockieren → Um 14:20 Uhr schließt der EA alle Grid-Positionen und löscht ausstehende Limit-Orders; jede um 14:31 Uhr eröffnete Position wird geschlossen; der normale Handel wird um 14:50 Uhr wieder aufgenommen.
B – Multi-EA-Portfolio ( 100, 200, 300 auf EURUSD/GBPUSD/USDJPY): InpSymbolMatch=true , InpGuardHigh=true → US-Nachrichten schützen GBPUSD und USDJPY, jedoch nicht EURUSD; EUR-Nachrichten schützen ausschließlich EURUSD.
C – Compliance bei Prop-Firmen (±2 Min. bei Ereignissen mit hoher Auswirkung): Jeder Abschluss/jede Löschung wird mit Ticketnummer und Uhrzeit protokolliert; das Protokoll dient als Compliance-Nachweis.
D — Demo-Beobachtung: InpEnableGuard=false → nur Panel + Warnmeldungen, kein Eingreifen, ideal, um zu lernen, wann Ihre Strategie Risiken ausgesetzt ist.
7. Einschränkungen
-
Kein globaler Algo-Schalter (v3.13): EAs, deren „Magics“ nicht aufgelistet sind, können nicht gestoppt werden. Um alles anzuhalten, müssen alle „Magics“ aufgelistet oder die Terminal-Schaltfläche verwendet werden.
-
Nur geplante Nachrichten: Reagiert nicht auf überraschende Schlagzeilen oder geopolitische Schocks.
-
Erfordert einen online verfügbaren MT5-Kalender: Bei einem Serverausfall wird die zuletzt zwischengespeicherte Liste verwendet und ein Fehler protokolliert.
-
Brokerabhängig: „PositionClose“ kann bei den Codes 10018/10030 fehlschlagen , wenn sich Stopps erweitern oder der Ausführungsmodus abgelehnt wird; es wird bei jedem Tick ein erneuter Versuch unternommen, eine vom Server abgelehnte Schließung kann jedoch nicht erzwungen werden.
-
Keine Unterstützung für den Strategy Tester: kein Kalender im Tester; Demo verwenden.
-
Gefährliche Kombination: InpMagics leer + InpSymbolMatch=false + InpOnlyChartSymbol=false = ALLE Positionen während der Nachrichten schließen.
-
Mehrere Instanzen lösen jeweils ihre eigenen Warnmeldungen aus (so vorgesehen).
8. Positionierung
| Vorgehensweise | Zeitgenauigkeit | DLL-frei | Marktkonform | Pro „Magic“ | Pro Symbol |
|---|---|---|---|---|---|
| Manuelle Überwachung | Gut | k. A. | k. A. | Nein | Nein |
| Nachrichten-Websites | ± Minuten | k. A. | k. A. | Nein | Nein |
| DLL-basierte EAs | Gut | ❌ | ❌ | Manchmal | Manchmal |
| Web-Scraping-EAs | ± Minuten | ✅ | Manchmal | Selten | Selten |
| Schaltfläche „Terminal-Algo“ | Sofort | ✅ | ✅ | Nein (global) | Nein (global) |
| MID_NewsGuard v3.13 | Exakt | ✅ | ✅ | ✅ | ✅ |
9. Technischer Überblick
| Attribut | Wert |
|---|---|
| Plattform | MetaTrader 5 (Build 3000+) |
| Sprache | MQL5 |
| DLL-Importe | Keine |
| Externe Abhängigkeiten | Nativer MT5-Wirtschaftskalender |
| Geschriebene Dateien / Globale Variablen | Keine |
| Timer | 1 s ( EventSetTimer(1) ) |
| Kalenderaktualisierung | Alle InpRefreshMinutes (mindestens 60 s bei Fehler) |
| Kompilierung | 0 Fehler, 0 Warnungen |
| Diagrammobjekte | OBJ_VLINE , OBJ_RECTANGLE , OBJ_RECTANGLE_LABEL , OBJ_LABEL (Präfix MIDGuard_ ) |
| Bereinigung | ObjectsDeleteAll(0, G_PREFIX) in OnDeinit |
10. Zusammenfassung
MID_NewsGuard_EA v3.13 ist ein speziell entwickelter, DLL-freier und Market-konformer News-Guard für MT5. Er vereint die Genauigkeit des nativen MT5-Kalenders, die Übersichtlichkeit eines News-Dashboards direkt im Chart und die Sicherheit automatisierter Schließ-, Lösch- und Sperrfunktionen bei Ereignissen mit hoher Auswirkung. Er schützt ausschließlich die von Ihnen festgelegten Trades (nach „Magic“ und/oder Symbol), protokolliert jede Aktion und passt sich optisch an Ihr Chart an. Es handelt sich nicht um eine Strategie – es ist die Risikoschicht, auf der Ihre Strategie hätte aufbauen sollen, insbesondere für Grid-, Martingale-, Scalping- und Prop-Firm-Anwendungsfälle.
