Vom Neuling zum Experten: Animierte Nachrichtenschlagzeile mit MQL5 (VII) – Post-Impact-Strategie für den Nachrichtenhandel
Inhalt:
- Einführung
- Erkundung des Strategiekonzepts
- Endgültige Umsetzung – Integration der After-Impact-Strategie in die Nachrichtenschlagzeile EA
- Tests
- Schlussfolgerung
- Wichtige Lektionen
- Anlagen
Einführung
Die Strategie, die wir im vorigen Artikel untersucht haben, konzentrierte sich auf die Platzierung schwebender Aufträge kurz vor einer aufsehenerregenden Pressemitteilung. Ziel war es, Gewinne aus den starken Kursbewegungen zu erzielen, die häufig auf solche Ereignisse folgen. Dieser Ansatz kann zwar effektiv sein, aber es gibt Szenarien, in denen er zu kurz greift, z. B. wenn einer der Aufträge ausgelöst wird, aber das Take-Profit-Niveau nicht erreicht und stattdessen der Stop-Loss erreicht wird.
Glücklicherweise haben wir in unserer früheren Implementierung eine Logik in den EA eingebaut, um die gegenüberliegende schwebende Order automatisch zu stornieren, sobald eine solche ausgelöst wird. Diese Automatisierung ist von entscheidender Bedeutung, da sie verhindert, dass beide Aufträge während eines „Whipsaw“ aktiviert werden, was sonst zu einem doppelten Verlust führen könnte. Da sich der EA auf die Geschwindigkeit des Algorithmus verlässt, um diese Entscheidungen innerhalb von Millisekunden zu treffen, bietet er ein Maß an Präzision, das manuell kaum zu erreichen ist.
Möchte ein Händler dieses „Whipsaw“-Risiko jedoch gänzlich vermeiden, wird eine alternative Strategie erforderlich. In dieser Diskussion richten wir unsere Aufmerksamkeit auf eine Post-News-Handelsstrategie – die Ausführung von Handelsgeschäften nach dem aufsehenerregenden Ereignis – die als Ergänzung und Erweiterung der Möglichkeiten des bestehenden News Headline EA konzipiert ist.
Im nächsten Abschnitt werden wir uns mit dem Integrationsplan für diese Strategie befassen und ihre Durchführbarkeit anhand der Analyse des Chart-Verlaufs und der Implementierung der Live-Logik beurteilen.
Erkundung des Strategiekonzepts
Für unsere Tests und Untersuchungen wollen wir historische Chart-Daten verwenden, um das Marktverhalten nach wichtigen Nachrichtenereignissen zu analysieren, insbesondere nach der Veröffentlichung der Non-Farm Payroll (NFP). Da die NFP-Ankündigungen regelmäßig stattfinden (in der Regel am ersten Freitag eines jeden Monats), sind sie leicht zu erkennen und stimmen mit bekannten Kalenderdaten überein. Daher sind sie ideal, um zu untersuchen, wie die Kurse in den Minuten und Stunden nach den Nachrichten reagieren.
Indem wir die NFP-Termine im Wirtschaftskalender berücksichtigen und die minutengenauen Chart-Daten des Zeitrahmens rund um diese Ereignisse beobachten, können wir wertvolle Erkenntnisse darüber gewinnen, wie sich verschiedene Instrumente nach der Veröffentlichung der Nachrichten verhalten. Dieser Ansatz ermöglicht es uns, unser Handelsinstrument des After-Impact zu entwickeln und zu verfeinern, das die bestehende Strategie für schwebende Aufträge ergänzt, indem es Einstiegsmöglichkeiten bietet, sobald sich die anfängliche Volatilität gelegt hat und sich eine klare Richtung abzeichnet.
Diese Methode des historischen Testens ermöglicht es uns, die Handelslogik auch außerhalb der Echtzeit-Marktbedingungen zu simulieren und zu verfeinern, was eine effektive Möglichkeit darstellt, unser Post-News-Execution-Framework vor der vollständigen Implementierung zu validieren. Im Folgenden finden Sie weitere Einzelheiten.
Erforschung der Preisaktionsgeschichte mit einem nutzerdefinierten Expert Advisor
In diesem Abschnitt werden wir einen Expert Advisor (EA) in MQL5 entwickeln, der es uns ermöglicht, mit dem MetaTrader 5 Strategy Tester durch historische Chart-Daten zu „reisen“. Ziel ist es, das Kursgeschehen kurz nach der Veröffentlichung wichtiger wirtschaftlicher Daten – insbesondere der Non-Farm Payroll (NFP) – manuell zu beobachten und wertvolle Erkenntnisse für die Entwicklung unserer Post-Impact-Handelsstrategie zu gewinnen.
Diese Phase dient als praktische Lernmöglichkeit, um unser Verständnis der MQL5-Programmierung zu vertiefen und uns gleichzeitig mit der Funktionsweise des Strategy Testers vertraut zu machen. Indem wir uns auf bestimmte historische Ereignisse konzentrieren, können wir reale Marktbedingungen simulieren und analysieren, wie sich die Kurse in den Momenten nach aufsehenerregenden Nachrichten verhalten haben.
Die in dieser Testphase gewonnenen Erkenntnisse und Beobachtungen werden uns helfen, unsere Handelsannahmen zu validieren, bevor wir zur endgültigen Umsetzung übergehen. Letztendlich ist dies die Grundlage für die Integration einer verfeinerten Post-Impact-Handelslogik in den Haupt-EA für Nachrichtenschlagzeilen, die es ermöglicht, sich auf Nachrichten vorzubereiten und im Anschluss daran intelligent zu handeln.
Der Non-Farm Payrolls (NFP)-Bericht gehört zu den wichtigsten wirtschaftlichen Veröffentlichungen an den Finanzmärkten, insbesondere für Währungspaare, die den US-Dollar (USD) beinhalten. Ihre Ankündigung führt in der Regel zu sofortigen und oft starken Kursbewegungen, was sie zu einem idealen Kandidaten für Handelsstrategien sowohl vor als auch nach der Veröffentlichung von Nachrichten macht. Für das Testen und die Entwicklung von Strategien sind die wichtigsten USD-Paare wie EURUSD, GBPUSD, USDJPY und USDCHF die wichtigsten Instrumente, da sie am konsistentesten und deutlichsten auf die NFP-Veröffentlichungen reagieren. Dies macht sie zu perfekten Testgebieten für Algorithmen, die darauf abzielen, Volatilitätsmuster rund um wichtige Wirtschaftsnachrichten auszunutzen.
Bevor Sie sich mit der vollständigen Logik und Funktionalität des Expert Advisors NFP_Event_Replay.mq5 befassen, sollten Sie verstehen, wie Sie ein solches Tool programmieren. Starten Sie in MetaTrader 5 den MetaEditor, gehen Sie dann auf Datei/Neu/Expert Advisor... (Vorlage) und geben Sie einen Namen wie NFP_Event_Replay ein. Dadurch wird eine Grundstruktur mit OnInit(), OnDeinit() und OnTick() Funktionen erzeugt. Von dort aus können Sie mit dem Aufbau Ihrer Logik beginnen – beginnend mit Zeitprüfungen, der Identifizierung von Nachrichtentagen und Zeichenwerkzeugen – und das Skelett allmählich zu einem voll funktionsfähigen Hervorhebungsprogramm für historische Ereignisse ausbauen, wie in den folgenden Abschnitten beschrieben.
Diese Aufschlüsselung geht durch jeden Teil des EA und hilft sowohl Anfängern als auch fortgeschrittenen MQL5-Entwicklern zu verstehen, wie man vergangene NFP-Ereignisse auf historischen Charts mit Hilfe von Rechtecken, Zeitlogik und zeitzonenspezifischen Berechnungen programmatisch hervorhebt – eine leistungsstarke Methode, um After-News-Handelsstrategien visuell zu untersuchen und zu verfeinern.
1. Metadaten und Nutzereingaben
Zu Beginn des EA werden in den Metadaten der Autor, die Version und der Zweck des Expert Advisors beschrieben. Das Hauptmerkmal dieses Tools ist es, Händlern zu helfen, das NFP (Non-Farm Payroll) Marktverhalten im MetaTrader 5 Strategy Tester visuell wiederzugeben und zu studieren. Zwei Nutzereingaben – MinutesBefore und MinutesAfter – ermöglichen es dem Händler, die Größe des Fensters (in Minuten) vor und nach dem Ereignis festzulegen, in dem die Kursbewegung hervorgehoben wird. Dies ermöglicht eine individuelle Anpassung, je nachdem, wie viel von der Kursbewegung rund um die Pressemitteilung Sie untersuchen möchten.
input int MinutesBefore = 5; input int MinutesAfter = 5;
2. Globale und Initialisierung
Globale Variablen werden deklariert, um den Namen des Rechtecks zu verwalten, das aktuelle Jahr und den aktuellen Monat zu verfolgen, in dem eine Zeichnung zuletzt erstellt wurde, und um wiederholte Warnmeldungen zu verhindern. Diese helfen bei der Steuerung des logischen Ablaufs und stellen sicher, dass Rechtecke nicht wiederholt am selben Tag gezeichnet werden und dass die Bereinigung während der Initialisierung und Deinitialisierung ordnungsgemäß durchgeführt wird.
string rectName = "NFP_Event_Window"; int drawnYear = 0, drawnMonth = 0; bool alertShown = false;
3. Berechnung des ersten Freitags
Eines der wichtigsten Elemente der Logik ist die Bestimmung des Datums des ersten Freitags im Monat. Dies ist wichtig, da die NFP am ersten Freitag jedes Monats veröffentlicht wird. Der EA verwendet Kalenderberechnungen, um dieses Datum dynamisch auf der Grundlage des aktuellen Jahres und Monats zu ermitteln, sodass der EA in künftigen Jahren ohne Änderungen wiederverwendet werden kann.
//+------------------------------------------------------------------+ //| Calculate day of first Friday | //+------------------------------------------------------------------+ int GetFirstFriday(int year, int month) { MqlDateTime dt = {0}; dt.year = year; dt.mon = month; dt.day = 1; datetime first = StructToTime(dt); TimeToStruct(first, dt); // Calculate days to first Friday (5 = Friday) int daysToAdd = (5 - dt.day_of_week + 7) % 7; return 1 + daysToAdd; }
4. IsFirstFriday Prüfung
Diese Funktion prüft, ob der aktuelle Zeitpunkt, der bearbeitet wird, auf den ersten Freitag des Monats fällt. Es stützt sich auf die frühere Logik des ersten Freitags und vergleicht den aktuellen Tag und Wochentag, um die Förderfähigkeit zu bestimmen. Diese Prüfung dient als Einfallstor, um unnötige Berechnungen oder Rechteckzeichnungen an Nicht-NFP-Tagen zu vermeiden.
//+------------------------------------------------------------------+ //| Check if date is first Friday | //+------------------------------------------------------------------+ bool IsFirstFriday(datetime time) { MqlDateTime dt; TimeToStruct(time, dt); int firstFriday = GetFirstFriday(dt.year, dt.mon); return (dt.day_of_week == 5 && dt.day == firstFriday); }
5. GetTimeGMTOffset
Diese Funktion bestimmt den lokalen Offset des Brokers von der GMT (UTC) auf der Grundlage der Serverzeit. Da NFP-Ereignisse in den USA angekündigt werden Eastern Time (je nach Sommerzeit UTC-4 oder UTC-5) ist dieser Offset erforderlich, um den Zeitstempel des Ereignisses korrekt zu konvertieren, damit er mit der Zeitzone des Brokers und der Kartenzeit übereinstimmt.
//+------------------------------------------------------------------+ //| Get UTC offset for a specific time | //+------------------------------------------------------------------+ int GetTimeGMTOffset(datetime time) { MqlDateTime dt; TimeToStruct(time, dt); datetime timeUTC = StructToTime(dt); return (int)(time - timeUTC); }
6. EA-Initialisierung und Bereinigung
Wenn der EA initialisiert wird (OnInit), setzt er einen 1-Sekunden-Timer, der als Herzschlag fungiert und kontinuierlich überprüft, ob wir uns an einem relevanten NFP-Datum befinden. Bei der Deinitialisierung (OnDeinit) wird der Timer angehalten und das Rechteck-Objekt gelöscht, falls es gezeichnet wurde. Dadurch wird sichergestellt, dass die Testsitzungen sauber beginnen und keine Restgrafiken auf dem Chart hinterlassen.
//+------------------------------------------------------------------+ //| Program entry point | //+------------------------------------------------------------------+ int OnInit() { EventSetTimer(1); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Cleanup on exit | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { EventKillTimer(); ObjectDelete(0, rectName); }
7. OnTimer: Das Herzstück der EA
Die Funktion OnTimer ist der Hauptausführungsblock, der jede Sekunde vom Timer aufgerufen wird. Es vermeidet redundante Verarbeitung, indem es auf Änderungen der aktuellen Kartenzeit prüft. Handelt es sich bei dem Tag um einen gültigen ersten Freitag, wird der Zeitstempel der NFP-Veröffentlichung für das aktuelle Jahr und den aktuellen Monat berechnet, eine eventuell erforderliche Zeitzonenverschiebung vorgenommen und dann geprüft, ob die aktuelle Zeit in das vom Nutzer definierte Rechteckfenster fällt. Wenn die Bedingungen erfüllt sind und die Zeichnung für den aktuellen Monat noch nicht stattgefunden hat, wird das Ereignisrechteck gezeichnet. Darüber hinaus werden Debug-Meldungen zur besseren Übersichtlichkeit beim Testen ausgegeben. Außerhalb der NFP-Tage setzt der EA die Tracking-Variablen zurück und entfernt alle bestehenden Zeichnungen.
//+------------------------------------------------------------------+ //| Timer handler - main logic | //+------------------------------------------------------------------+ void OnTimer() { static datetime lastBarTime = 0; datetime now = TimeCurrent(); if(now == lastBarTime) return; lastBarTime = now; MqlDateTime dtNow; TimeToStruct(now, dtNow); // Process only on first Fridays if(IsFirstFriday(now)) { // Show alert once per day if(!alertShown) { Alert("NFP Day: Set tester replay speed to 70%"); alertShown = true; } // Calculate exact NFP release time in UTC int releaseDay = GetFirstFriday(dtNow.year, dtNow.mon); datetime nfpUTC = GetNFPTimestamp(dtNow.year, dtNow.mon, releaseDay); // Convert to broker time (Zimbabwe CAT = UTC+2) int offset = GetTimeGMTOffset(now); datetime nfpBroker = nfpUTC + offset; // Calculate rectangle boundaries datetime startTime = nfpBroker - MinutesBefore*60; datetime endTime = nfpBroker + MinutesAfter*60; // Draw rectangle if in time window if(now >= startTime && now <= endTime) { if(drawnYear != dtNow.year || drawnMonth != dtNow.mon) { DrawEventWindow(startTime, endTime); drawnYear = dtNow.year; drawnMonth = dtNow.mon; // Debug output Print("NFP UTC Time: ", TimeToString(nfpUTC, TIME_MINUTES|TIME_SECONDS)); Print("Broker Time: ", TimeToString(now, TIME_MINUTES|TIME_SECONDS)); Print("NFP Broker Time: ", TimeToString(nfpBroker, TIME_MINUTES|TIME_SECONDS)); Print("Event Window: ", TimeToString(startTime), " to ", TimeToString(endTime)); } } } else { alertShown = false; if(drawnYear != 0 || drawnMonth != 0) { ObjectDelete(0, rectName); drawnYear = 0; drawnMonth = 0; } } }
8. GetNFPTimestamp: NFP um 8:30 Uhr Ostküste
Diese Funktion erstellt den genauen UTC-Zeitstempel der NFP-Freigabe. Es berücksichtigt die US-Sommerzeit, um zu bestimmen, ob die Freigabezeit als 12:30 UTC (Sommer) oder 13:30 UTC (Winter) gelten soll. Dieser genaue Zeitstempel ist für die Synchronisierung des Chart-Fensters mit dem realen Ereigniszeitpunkt unerlässlich.
//+------------------------------------------------------------------+ //| Create precise UTC timestamp for NFP event | //+------------------------------------------------------------------+ datetime GetNFPTimestamp(int year, int month, int day) { MqlDateTime dt = {0}; dt.year = year; dt.mon = month; dt.day = day; // Determine correct UTC hour based on US daylight saving // US Eastern Time: EST = UTC-5 (winter), EDT = UTC-4 (summer) // NFP always releases at 8:30 AM US Eastern Time bool isDst = IsUSDST(StructToTime(dt)); dt.hour = isDst ? 12 : 13; // 12:30 UTC (summer) or 13:30 UTC (winter) dt.min = 30; return StructToTime(dt); }
9. Logik der Sommerzeit
Um die Änderungen der Sommerzeit in den USA zu berücksichtigen, berechnet diese Funktion, ob ein bestimmtes Datum in das Zeitfenster der Sommerzeit fällt. Nach amerikanischem Recht beginnt die Sommerzeit am zweiten Sonntag im März und endet am ersten Sonntag im November. Durch die Berechnung der Grenzen für jedes Jahr und die Überprüfung des Datums anhand dieser Grenzen passt der EA seine Zeitstempelberechnung im Laufe des Jahres dynamisch an.
//+------------------------------------------------------------------+ //| Check if US is in daylight saving time | //+------------------------------------------------------------------+ bool IsUSDST(datetime time) { MqlDateTime dt; TimeToStruct(time, dt); // US DST rules (since 2007): // Starts: Second Sunday in March at 2:00 AM // Ends: First Sunday in November at 2:00 AM // Calculate DST start datetime dstStart = GetNthDayOfMonth(dt.year, 3, 0, 2) + (2 * 3600); // Second Sunday in March at 2:00 AM // Calculate DST end datetime dstEnd = GetNthDayOfMonth(dt.year, 11, 0, 1) + (2 * 3600); // First Sunday in November at 2:00 AM return (time >= dstStart && time < dstEnd); }
10. GetNthDayOfMonth
Diese Nutzenfunktion ermittelt das n-te Vorkommen eines bestimmten Wochentags in einem bestimmten Monat. So kann beispielsweise der zweite Sonntag im März oder der erste Sonntag im November zurückgegeben werden, der zur Bestimmung der Sommerzeitumstellung verwendet wird. Diese Funktion macht den EA robust und zukunftsfähig, sodass er sich über Jahre hinweg automatisch anpassen kann, ohne dass Aktualisierungen erforderlich sind.
//+------------------------------------------------------------------+ //| Get nth day of week in a month | //+------------------------------------------------------------------+ datetime GetNthDayOfMonth(int year, int month, int dayOfWeek, int nth) { MqlDateTime dtFirst = {0}; dtFirst.year = year; dtFirst.mon = month; dtFirst.day = 1; datetime first = StructToTime(dtFirst); MqlDateTime dt; TimeToStruct(first, dt); int firstDayOfWeek = dt.day_of_week; // Calculate days to the first occurrence int daysToAdd = (dayOfWeek - firstDayOfWeek + 7) % 7; datetime firstOccurrence = first + daysToAdd * 86400; // Add weeks for nth occurrence if(nth > 1) { firstOccurrence += (nth - 1) * 7 * 86400; } // Verify if still in same month TimeToStruct(firstOccurrence, dt); if(dt.mon != month) { // Adjust to last occurrence in month firstOccurrence -= 7 * 86400; } return firstOccurrence; }
11. Zeichnen des Rechtecks auf dem Chart
Sobald das richtige Zeitfenster für den NFP bestimmt ist, erstellt der EA ein Rechteck, das diesen Zeitraum umfasst. Das Rechteck deckt die gesamte sichtbare Preisspanne ab und ist mit eindeutigen visuellen Eigenschaften gestaltet, wie z. B. gestrichelten Rändern und einer hellblauen Hintergrundfüllung. Wenn ein Rechteck bereits aus einem früheren Lauf existiert, wird es zunächst gelöscht, um Überschneidungen oder Duplikate zu vermeiden.
//+------------------------------------------------------------------+ //| Draw the NFP event window on chart | //+------------------------------------------------------------------+ void DrawEventWindow(datetime start, datetime end) { ObjectDelete(0, rectName); double high = ChartGetDouble(0, CHART_PRICE_MAX); double low = ChartGetDouble(0, CHART_PRICE_MIN); if(ObjectCreate(0, rectName, OBJ_RECTANGLE, 0, start, high, end, low)) { ObjectSetInteger(0, rectName, OBJPROP_COLOR, clrDodgerBlue); ObjectSetInteger(0, rectName, OBJPROP_STYLE, STYLE_DASHDOT); ObjectSetInteger(0, rectName, OBJPROP_WIDTH, 2); ObjectSetInteger(0, rectName, OBJPROP_BACK, true); ObjectSetInteger(0, rectName, OBJPROP_FILL, true); ObjectSetInteger(0, rectName, OBJPROP_BGCOLOR, C'240,248,255'); // AliceBlue } }
12. OnTick() (Platzhalter)
Obwohl der EA so konzipiert ist, dass er mit zeitbasierten Ereignissen und nicht mit Preis-Ticks arbeitet, ist aus Gründen der Vollständigkeit und Kompatibilität dennoch eine leere OnTick-Funktion definiert. Sie dient in dieser Implementierung keinem Zweck, wird aber von der Struktur des MetaTrader EA benötigt.
Testen der NFP_Event-Wiederholung
Nachdem wir den kompletten EA aus den obigen Codeabschnitten erfolgreich kompiliert hatten, testeten wir seine Funktionalität mit dem Visualisierungsmodus des Strategy Testers in MetaTrader 5. Die Ergebnisse waren beeindruckend – an jedem identifizierten NFP-Veröffentlichungstag hob der EA das Ereignisfenster mit einem clrAliceBlue-Rechteck genau hervor. Anhand dieser visuellen Markierung konnten wir das Kursverhalten im Umfeld der NFP-Ankündigung leicht erkennen. Insbesondere das Replay-Segment von Juni 2024 bis Dezember 2024 zeigt deutlich die typische Volatilitätsspitze, die mit dem NFP verbunden ist, was bestätigt, dass der EA den Ereigniszeitraum korrekt identifiziert und markiert. Unterhalb der Ergebnisse habe ich einige der aufgezeichneten Chartausschnitte zusammengestellt, die nun analysiert werden, um eine robuste After-Impact-Handelsstrategie auf der Grundlage des Kursverhaltens nach dem NFP zu entwickeln.

Testen der NFP_Event_Replay
Tester-Protokoll:
2025.07.17 19:20:59.343 USDJPY.0: symbol to be synchronized 2025.07.17 19:20:59.346 USDJPY.0: symbol synchronized, 3960 bytes of symbol info received 2025.07.17 19:20:59.347 USDJPY.0: history synchronization started 2025.07.17 19:20:59.514 USDJPY.0: load 31 bytes of history data to synchronize in 0:00:00.013 2025.07.17 19:20:59.514 USDJPY.0: history synchronized from 2024.05.26 to 2025.07.20 2025.07.17 19:20:59.547 USDJPY.0: start time changed to 2024.05.27 00:00 to provide data at beginning 2025.07.17 19:20:59.548 USDJPY.0,M1: history cache allocated for 224402 bars and contains 173 bars from 2024.05.26 21:05 to 2024.05.26 23:59 2025.07.17 19:20:59.548 USDJPY.0,M1: history begins from 2024.05.26 21:05 2025.07.17 19:20:59.563 USDJPY.0,M1 (Deriv-Demo): every tick generating 2025.07.17 19:20:59.563 USDJPY.0,M1: testing of Experts\NFP_Event_Replay.ex5 from 2024.01.01 00:00 to 2024.12.31 00:00 started with inputs: 2025.07.17 19:20:59.563 MinutesBefore=5 2025.07.17 19:20:59.563 MinutesAfter=5 2025.07.17 19:29:59.082 2024.06.07 00:00:00 Alert: NFP Day: Set tester replay speed to 70% 2025.07.17 19:30:02.995 2024.06.07 12:25:00 NFP UTC Time: 12:30:00 2025.07.17 19:30:02.995 2024.06.07 12:25:00 Broker Time: 12:25:00 2025.07.17 19:30:02.995 2024.06.07 12:25:00 NFP Broker Time: 12:30:00 2025.07.17 19:30:02.995 2024.06.07 12:25:00 Event Window: 2024.06.07 12:25 to 2024.06.07 12:35 2025.07.17 19:30:41.055 2024.07.05 00:00:00 Alert: NFP Day: Set tester replay speed to 70% 2025.07.17 19:30:41.717 2024.07.05 12:25:00 NFP UTC Time: 12:30:00 2025.07.17 19:30:41.717 2024.07.05 12:25:00 Broker Time: 12:25:00 2025.07.17 19:30:41.717 2024.07.05 12:25:00 NFP Broker Time: 12:30:00 2025.07.17 19:30:41.717 2024.07.05 12:25:00 Event Window: 2024.07.05 12:25 to 2024.07.05 12:35 2025.07.17 19:30:55.060 2024.08.02 00:00:00 Alert: NFP Day: Set tester replay speed to 70% 2025.07.17 19:30:55.551 2024.08.02 12:25:00 NFP UTC Time: 12:30:00 2025.07.17 19:30:55.551 2024.08.02 12:25:00 Broker Time: 12:25:00 2025.07.17 19:30:55.551 2024.08.02 12:25:00 NFP Broker Time: 12:30:00 2025.07.17 19:30:55.551 2024.08.02 12:25:00 Event Window: 2024.08.02 12:25 to 2024.08.02 12:35 2025.07.17 19:31:15.547 2024.09.06 00:00:00 Alert: NFP Day: Set tester replay speed to 70% 2025.07.17 19:31:16.250 2024.09.06 12:25:00 NFP UTC Time: 12:30:00 2025.07.17 19:31:16.250 2024.09.06 12:25:00 Broker Time: 12:25:00 2025.07.17 19:31:16.250 2024.09.06 12:25:00 NFP Broker Time: 12:30:00 2025.07.17 19:31:16.250 2024.09.06 12:25:00 Event Window: 2024.09.06 12:25 to 2024.09.06 12:35 2025.07.17 19:31:30.214 2024.10.04 00:00:00 Alert: NFP Day: Set tester replay speed to 70% 2025.07.17 19:31:30.699 2024.10.04 12:25:00 NFP UTC Time: 12:30:00 2025.07.17 19:31:30.699 2024.10.04 12:25:00 Broker Time: 12:25:00 2025.07.17 19:31:30.699 2024.10.04 12:25:00 NFP Broker Time: 12:30:00 2025.07.17 19:31:30.699 2024.10.04 12:25:00 Event Window: 2024.10.04 12:25 to 2024.10.04 12:35 2025.07.17 21:23:38.212 2024.11.01 00:00:00 Alert: NFP Day: Set tester replay speed to 70% 2025.07.17 21:23:38.448 2024.11.01 12:25:00 NFP UTC Time: 12:30:00 2025.07.17 21:23:38.448 2024.11.01 12:25:00 Broker Time: 12:25:00 2025.07.17 21:23:38.448 2024.11.01 12:25:00 NFP Broker Time: 12:30:00 2025.07.17 21:23:38.448 2024.11.01 12:25:00 Event Window: 2024.11.01 12:25 to 2024.11.01 12:35 2025.07.17 21:23:47.754 2024.12.06 00:00:00 Alert: NFP Day: Set tester replay speed to 70% 2025.07.17 21:23:47.940 2024.12.06 13:25:00 NFP UTC Time: 13:30:00 2025.07.17 21:23:47.940 2024.12.06 13:25:00 Broker Time: 13:25:00 2025.07.17 21:23:47.940 2024.12.06 13:25:00 NFP Broker Time: 13:30:00 2025.07.17 21:23:47.940 2024.12.06 13:25:00 Event Window: 2024.12.06 13:25 to 2024.12.06 13:35
Analyse der NFP-Ereignisse nach Impact
Der EA hat uns effektiv geholfen, die NFP-Tage auf der Grundlage unserer individuellen Logik zu ermitteln. Während die frühere animierte Wiedergabe einen schnellen Überblick bot, war sie aufgrund der hohen Wiedergabegeschwindigkeit nicht ideal, um die feinen Details des Kursgeschehens genau zu untersuchen. Aus diesem Grund habe ich im Folgenden eine Reihe von Standbildern zusammengestellt, die eine gezieltere und detailliertere Analyse ermöglichen. Diese Momentaufnahmen bieten einen klareren Überblick über die Marktreaktionen rund um das NFP-Ereignisfenster, wodurch es einfacher wird, wiederkehrende Muster zu erkennen und praktikable Strategien zu entwickeln, um die Bewegungen nach dem NFP zu nutzen. Sehen Sie sich die Bilder an und lesen Sie meine Gedanken direkt unter den Bildern.

NFP Juni 2024

NFP Juli 2024

NFP Aug 2024

NFP September 2024

NFP Oktober 2024

NFP Nov 2024

NFP Dezember 2024
Die obige Sammlung von Bildern bietet eine klare visuelle Darstellung des Kursgeschehens vor, während und nach der Veröffentlichung des NFP. Diese Momentaufnahmen zeigen, wie die Märkte auf solche einschneidenden Ereignisse reagieren. Ich bin davon überzeugt, dass mit der Integration von maschinellem Lernen und einer tiefer gehenden Analyse historischer, hochaktueller Nachrichtendaten viele versteckte Muster und Handelsmöglichkeiten aufgedeckt werden können. Aus den in der zweiten Hälfte des Jahres 2024 beobachteten Ergebnissen ergibt sich eine wichtige Erkenntnis: Wenn zwei oder mehr Kerzen auf den anfänglichen Anstieg in dieselbe Richtung folgten, setzte sich der Kurs häufig in diesem Schwung fort. In den Fällen jedoch, in denen eine solche Bestätigung ausblieb, konnte der Markt die Bewegung nicht aufrechterhalten und kehrte stattdessen häufig um oder konsolidierte sich.
Gute Beispiele für dieses Verhalten sind die NFP-Ereignisse im Juni, Oktober und Dezember. Im Juni und Oktober setzte sich die starke Richtungsbewegung nach der Spitze noch einige Minuten lang fort, was das Momentum bestätigte und potenzielle Einstiegsmöglichkeiten schuf. Im Gegensatz dazu zeigte das Juli-Ereignis zwar anfängliche Volatilität, aber es fehlte an Folgeerscheinungen, was zu einer abgehackten oder gescheiterten Fortsetzung führte – ein wichtiger Unterschied bei der Entwicklung von Handelsstrategien nach dem Aufprall.
Strategie-Entwurf
Wenn ein wichtiges Nachrichtenereignis eintritt, löst es oft innerhalb weniger Ticks einen starken Aufwärts- oder Abwärtsimpuls aus. In manchen Fällen testet der Markt schnell beide Richtungen – aufwärts und abwärts – bevor er sich beruhigt, was zu verfrühten Stop-Outs oder unbeabsichtigt ausgelösten Aufträgen führen kann. Um die mit dieser anfänglichen Volatilität verbundenen Risiken zu vermeiden, konzentriert sich diese Strategie auf den Einstieg in den Handel kurz nach der Spitze, sobald der Markt eine klarere Absicht zeigt. Der Einstieg basiert auf der Bestätigung der Bedingungen, die auf das Ereignis folgen, und nicht auf der Antizipation der Bewegung selbst. Im Folgenden werden sowohl Aufwärts- als auch Abwärtsstrategien vorgestellt, die auf diesem Post-Impact-Ansatz basieren.
Aufwärts-Einstellung
Nach einem Ausreißer nach oben, der durch ein wichtiges Nachrichtenereignis ausgelöst wurde, benötigt unsere Strategie zwei aufeinanderfolgende Aufwärtskerzen als Bestätigung, bevor eine Kaufposition eingegangen wird. Sobald diese bestätigenden Kerzen erscheinen, leiten wir einen Kaufhandel ein. Die von den beiden Kerzen abgedeckte Preisspanne definiert unsere Risikozone – sie ist die Grundlage für die Festlegung des Stop-Loss. Das Take-Profit-Niveau sollte eine Belohnung bieten, die größer ist als das Risiko, um ein günstiges Risiko-Ertrags-Verhältnis zu erhalten. In einigen Szenarien kann diese Konstellation auch den Beginn eines starken Schwungs signalisieren, der das Potenzial für außergewöhnlich hohe Renditen bietet, wenn er frühzeitig erfasst wird. Die nachstehende Abbildung, die während der NFP-Ereigniswiederholung von der Strategietester-Visualisierung aufgenommen wurde, zeigt das Setup in Aktion.

Post Impact Strategie – Aufwärtsmomentum
Abwärts-Einstellung
Ein Abwärts-Setup spiegelt die oben erläuterte Vorgehensweise bei einem Aufwärts-Setup. Die folgende Abbildung veranschaulicht, wie dieses Muster typischerweise abläuft.

Post Impact Strategie – Abwärtsmomentum
Was wir oben getan haben, ist eine Übung zur Strategieentwicklung auf der Grundlage der Preisaktionsanalyse. Durch die Nutzung der Leistungsfähigkeit von MQL5 haben wir einen einzigartigen EA entwickelt, der in der Lage ist, NFP-Ereignisse wiederzugeben und zu markieren – etwas, das manuell mühsam, zeitaufwändig und ineffizient wäre. Dieser Ansatz hat uns wertvolle Erkenntnisse und umsetzbare Ideen geliefert, die nun in eine Handelslogik umgesetzt werden können. Im nächsten Schritt werden wir uns auf die Implementierung der Handelsstrategie konzentrieren, die es dem EA ermöglicht, diese Setups zu erkennen und Handelsgeschäfte automatisch auszuführen. Diese neue Logik wird die zuvor untersuchte Strategie für ausstehende Aufträge ergänzen und so ein robusteres und vielseitigeres Instrument für den Nachrichtenhandel schaffen.
Endgültige Umsetzung – Integration der Post-Impact-Strategie in die Nachrichtenschlagzeile EA
Um unseren News Headline EA noch anpassungsfähiger und leistungsfähiger zu machen, besteht der nächste logische Schritt darin, beide Strategien – den Ansatz schwebender Aufträge und die Post-Impact-Bestätigungsstrategie – in ein nahtloses System zu integrieren. Während die Strategie der schwebenden Aufträge darauf abzielt, die anfängliche Volatilitätsspitze zu erfassen, indem sie kurz vor der Veröffentlichung der Nachrichten gehandelt wird, ermöglicht die auf der Bestätigung basierende Strategie dem EA, intelligent zu reagieren, nachdem der Markt seine Tendenz offenbart hat.
Durch die Kombination beider Techniken kann der EA sowohl den unmittelbaren Ausbruch als auch die oft folgende nachhaltige Bewegung handeln. Dieser duale Ansatz erhöht die Flexibilität und verbessert die Chancen auf profitable Setups, unabhängig davon, ob die Nachrichten einen scharfen, sauberen Ausbruch oder einen „Whipsaw“, gefolgt von einem klareren Trend, verursachen. In dieser Entwicklungsphase werden wir beide Strategien in die Logik des EA einbetten, sodass er sie je nach Ereignisprofil oder nutzerdefinierten Einstellungen auswählen, abwechseln oder sogar kombinieren kann.
Kommen wir zu den nächsten Schritten: Wir werden den Code unten in Abschnitte aufteilen, jeden Abschnitt detailliert erklären und genau zeigen, wie die neu hinzugefügten Zeilen in die bestehenden Module und die Gesamtstrategie integriert werden.
Schritt 1: Konfiguration der Eingänge für Post-Impact
Ganz oben im EA führen wir einen eigenen Block mit Eingabeparametern ein, mit denen der Nutzer die Post-Impact-Strategie aktivieren oder deaktivieren und ihr Verhalten anpassen kann. In MQL5 definiert eine Eingabe eine Kompilierzeitkonstante, die Händler im Eigenschaftsdialog des EAs anpassen können. Hier schaltet ein boolesches Flag die Funktion ein oder aus, während numerische Eingaben das Zeitfenster um das Ereignis (Minuten vor und nach dem Ereignis), die Mindestgröße des Spikes in Pips, die Anzahl der erforderlichen Bestätigungsbalken, den Puffer nach dem Referenzhoch oder -tief und das gewünschte Reward-to-Risk-Verhältnis angeben. Durch diese Konstruktion ist die Strategie in hohem Maße konfigurierbar, ohne dass der Code selbst geändert werden muss.
//--- POST-IMPACT STRATEGY INPUTS ------------------------------------- input bool InpEnablePostImpact = false; // Enable post-impact market orders input int InpPostImpactBeforeMin = 0; // Minutes before event to start window input int InpPostImpactAfterMin = 5; // Minutes after event to end window input double InpSpikeThresholdPipsPI = 20.0; // Minimum pip spike magnitude input int InpConfirmBarsPI = 2; // Number of confirming bars input double InpBufferPipsPI = 5.0; // Buffer beyond reference high/low input double InpRR_PIP = 2.0; // Desired reward:risk ratio
Schritt 2: Statusvariablen Globale Objekte
Um den Lebenszyklus des Merkmals zu verwalten, deklarieren wir mehrere globale Variablen. Flags wie postImpactPlaced und postRectDrawn stellen sicher, dass wir unsere Hervorhebung auf dem Chart zeichnen und eine Marktorder nur einmal pro Ereignis platzieren. Wir weisen dem Rechteck-Objekt einen eindeutigen Textkennzeichen zu, damit wir es zuverlässig erstellen, referenzieren und löschen können. Außerdem instanziieren wir ein einzelnes CTrade-Objekt, das dem EA integrierte Handelsmethoden (Buy(), Sell() usw.) zur programmgesteuerten Ausführung von Aufträgen bietet.
// Trade object & post-impact state CTrade trade; bool postImpactPlaced = false; // Ensures only one post-impact trade string postRectName = "PostImpact_Window"; // Unique object name bool postRectDrawn = false; // Ensures rectangle drawn once
Schritt 3: Zurücksetzen des Status in ReloadEvents()
Jedes Mal, wenn der EA seine Liste der anstehenden wirtschaftlichen Ereignisse aktualisiert, ruft er ReloadEvents() auf. Am Ende dieser Routine setzen wir alle Statusflags nach dem Aufprall zurück und löschen alle vorhandenen Rechteckobjekte. Dieser „Clean-Slate“-Ansatz garantiert, dass jedes neue Ereignis unabhängig behandelt wird, sodass keine Artefakte oder doppelte Abschlüsse aus früheren Ereignissen übrig bleiben.
// Inside ReloadEvents(), after nextEventTime is computed: ordersPlaced = false; postImpactPlaced = false; postRectDrawn = false; ObjectDelete(0, postRectName); // Remove any old rectangle
Schritt 4: Zeichnen des Fensters von Post-Impact
Im Haupt-Timer (OnTimer()) zeichnen wir ein halbtransparentes Rechteck auf dem Chart, sobald die aktuelle Serverzeit in das nutzerdefinierte Fenster um ein wichtiges Ereignis herum eintritt. Wir rufen die sichtbaren Höchst- und Tiefstpreise des Charts ab und verwenden dann die Objektverwaltungsfunktionen von MQL5, um ein OBJ_RECTANGLE zu erstellen und zu gestalten. Ein boolesches Flag stellt sicher, dass diese Zeichnung nur einmal erfolgt, sodass das Ereignis visuell auffällt, ohne dass es bei jedem Tick neu gezeichnet wird.
// In OnTimer(), when now ∈ [evt - BeforeMin, evt + AfterMin] if(!postRectDrawn && now >= winStart && now <= winEnd) { double hi = ChartGetDouble(0, CHART_PRICE_MAX); double lo = ChartGetDouble(0, CHART_PRICE_MIN); ObjectCreate(0, postRectName, OBJ_RECTANGLE, 0, winStart, hi, winEnd, lo); ObjectSetInteger(0, postRectName, OBJPROP_COLOR, clrOrange); ObjectSetInteger(0, postRectName, OBJPROP_STYLE, STYLE_DASH); ObjectSetInteger(0, postRectName, OBJPROP_BACK, true); ObjectSetInteger(0, postRectName, OBJPROP_FILL, true); postRectDrawn = true; }
Schritt 5: Spike-Erkennung Platzierung von Marktaufträgen
Nach dem Schließen des Ereignisfensters lokalisiert der EA den exakten Ein-Minuten-Balken am Zeitstempel des Ereignisses. Es berechnet die Preisspitze in Pips, indem es den Schluss- und den Eröffnungswert des Balkens vergleicht, und prüft, ob diese Spitze den vom Nutzer festgelegten Schwellenwert überschreitet. Wenn dies der Fall ist, prüft der EA eine konfigurierbare Anzahl nachfolgender Balken, um die Richtung zu bestätigen (alle steigenden oder alle fallenden). Nach erfolgreicher Bestätigung platziert es eine Marktorder zum nächsten Eröffnungskurs, wobei es die Stop-Loss- und Take-Profit-Levels auf der Grundlage der vom Nutzer festgelegten Puffer- und Reward-to-Risk-Einstellungen berechnet. Ein letztes globales Kennzeichen verhindert mehr als einen Handel pro Ereignis.
// In OnTimer(), once now > winEnd and !postImpactPlaced int barIdx = iBarShift(_Symbol, PERIOD_M1, evt, true); if(barIdx >= 0) { double point = SymbolInfoDouble(_Symbol, SYMBOL_POINT), pip = point*10.0; double o = iOpen(_Symbol,PERIOD_M1,barIdx), c = iClose(_Symbol,PERIOD_M1,barIdx); double spike = (c - o)/pip; if(MathAbs(spike) >= InpSpikeThresholdPipsPI) { bool bullish = (c > o), ok = true; for(int i=1; i<=InpConfirmBarsPI; i++) { double oi = iOpen(_Symbol,PERIOD_M1,barIdx-i), ci = iClose(_Symbol,PERIOD_M1,barIdx-i); if(bullish ? (ci <= oi) : (ci >= oi)) { ok=false; break; } } if(ok) { int entryBar = barIdx - InpConfirmBarsPI - 1; double entry = iOpen(_Symbol,PERIOD_M1,entryBar); double refP = bullish ? iLow(_Symbol,PERIOD_M1,barIdx-1) : iHigh(_Symbol,PERIOD_M1,barIdx-1); double sl = bullish ? refP - InpBufferPipsPI*pip : refP + InpBufferPipsPI*pip; double rr = MathAbs(entry - sl); double tp = bullish ? entry + rr*InpRR_PIP : entry - rr*InpRR_PIP; postImpactPlaced = true; trade.SetExpertMagicNumber(888888); trade.SetDeviationInPoints(5); if(bullish) trade.Buy(InpOrderVolume, _Symbol, entry, sl, tp, "PostImpact Buy"); else trade.Sell(InpOrderVolume, _Symbol, entry, sl, tp, "PostImpact Sell"); } } }
Der vollständig integrierte, kompakte Quellcode – einschließlich aller Funktionen – wird am Ende dieses Artikels zur Verfügung gestellt und kann von Ihnen kompiliert werden. Nun können wir mit dem Testabschnitt fortfahren.
Tests
Der voll integrierte News Headline EA konnte im Strategy Tester nicht ausreichend validiert werden, da der Tester keine Echtzeit-Kalender und News-Feeds unterstützt. Der Replay-Modus mit dem kombinierten EA lieferte keine aussagekräftigen Signale, sodass ich die Post-Impact-Orderlogik in den speziellen NFP_Event_Replay EA migriert habe. Durch die Verwendung des Replay-Frameworks – bei dem die Non-Farm-Payroll-Veröffentlichungen auf der Grundlage historischer Daten simuliert werden – konnte ich das Einstiegs-, Stop-Loss- und Take-Profit-Verhalten der Strategie schnell überprüfen, ohne auf wichtige Live-Veröffentlichungen warten zu müssen. Die nachstehende Animation, die mit dem Strategy Tester aufgenommen wurde, zeigt, dass die Post-Impact-Logik unter kontrollierten, wiederholbaren Bedingungen genau wie vorgesehen funktioniert. Im Anhang finden Sie die zweite Version von NFP_Event_Replay mit der kompletten Handelslogik am Ende des Artikels.

Ergebnis des Post-Impact-Strategie-Tests für die NFP-Nachrichten am ersten Freitag für den Monat Juli 2024

Neue Headline EA mit Post Impact Auftragsausführung
Schlussfolgerung
Wir haben gerade eine weitere eingehende, lehrreiche Untersuchung abgeschlossen – dieses Mal haben wir eine Post-Impact-Handelsstrategie in unseren News Headline EA integriert und sie dann über das NFP_Event_Replay-Framework validiert. Indem wir unmittelbar nach wichtigen Nachrichten handeln, nutzen wir Setups mit höherer Wahrscheinlichkeit: Die anfängliche Volatilitätsspitze ist vorbei, der Kurs hat sich „eingependelt“, und die Bestätigungsbalken geben uns Klarheit über Richtung und Stärke. Dieser Ansatz fügt sich nahtlos in unsere anderen nachrichtenorientierten Taktiken ein und macht den EA noch vielseitiger und robuster.
Darüber hinaus können dieselben Methoden, die wir hier verwendet haben – systematische Ereigniserkennung, Pip-basierte Spike-Filter, Multi-Bar-Bestätigung und Reward-to-Risk-Management – durch maschinelles Lernen oder KI weiter verbessert werden. Stellen Sie sich ein Modell vor, das seine Spike-Schwelle oder Bestätigungsregeln auf der Grundlage historischer Erfolgsraten für verschiedene Währungen oder Nachrichtenarten anpasst. Es gibt reichlich Raum, um jede Funktion, die wir entwickelt haben, zu verfeinern, sei es die Visualisierung auf dem Chart, Warnmeldungen oder die automatische Auftragsvergabe. Und natürlich, während unser Fokus auf NFP für Präzision in der Historie und Testgeschwindigkeit im Strategy Tester lag, bleibt das Tool auch für den Live-NFP-Handel sofort nützlich.
Ich würde gerne Ihr Feedback hören! Teilen Sie Ihre Erfahrungen, Ideen oder Fragen in den Kommentaren unten mit. Gemeinsam können wir die Entwicklung von MQL5 weiter vereinfachen und immer leistungsfähigere, händlerfreundliche algorithmische Tools entwickeln.
Wichtige Lektionen
| Lektion | Beschreibung |
|---|---|
| 1. Post-Impact-Handel | Der Handel kurz nach der Veröffentlichung von Nachrichten mit hoher Bedeutung ist möglich und kann die Gewinnrate verbessern, indem man abwartet, bis die anfängliche Volatilität nachlässt. |
| 2. Zeitabhängige Ereigniserkennung | Verwendung von MQL5-Datums- und Zeitfunktionen, um programmatisch bestimmte Kalenderereignisse wie den ersten Freitag eines jeden Monats (NFP-Tag) zu finden und die Logik mit realen Zeitplänen abzustimmen. |
| 3. Strategie-Tester Visualisierung | Erstellung visueller Elemente wie Rechtecke und Linien zur Markierung historischer Fenster während des Backtests, um die manuelle Strategiebewertung zu verbessern, ohne auf externe Tools angewiesen zu sein. |
| 4. Dynamisches Zeichnen von Objekten | Verwendung von ObjectCreate() und ObjectSetInteger() zur dynamischen Darstellung von Chart-Objekten auf der Grundlage von berechneten Zeiten und Werten, was die Verfolgung von Ereignissen und visuelles Feedback ermöglicht. |
| 5. Echtzeit vs. Testmodus | Verwendung von MQLInfoInteger(MQL_TESTER) zur Unterscheidung zwischen Strategietester und Live-Ausführung, was angepasste Logikpfade für Test- und Produktionsumgebungen ermöglicht. |
| 6. Handelsmanagement über CTrade | Integration der Klasse CTrade für sichere und strukturierte Orderplatzierung, Stop-Loss, Take-Profit und Orderstornierung in Pre-Impact- und Post-Impact-Strategien. |
| 7. Post-Impact-Bestätigungslogik | Aufbau von verzögerten Handelseinstiegen auf der Grundlage von Kerzen-Bestätigungen nach starken Ausschlägen – eine sicherere und regelbasierte Alternative zur sofortigen Ausführung. |
| 8. Anpassung der Eingabeparameter | Verwendung von Eingabevariablen, mit denen die Nutzer steuern können, welche Strategien aktiv sind, wie viele Bestätigungskerzen erforderlich sind und welche Ereignisauswirkungen die Logik auslösen sollen. |
| 9. Kalender-API-Integration | Verwendung von eingebauten MQL5-Kalenderfunktionen (CalendarValueHistory, CalendarEventById, etc.), um mit anstehenden wirtschaftlichen Ereignissen ohne externe API-Abhängigkeiten zu arbeiten. |
| 10. Canvas-basiertes UI-Rendering | Verwendung der Klasse CCanvas zur Erstellung nutzerdefinierter Bildlaufoberflächen für Wirtschaftsnachrichten, technische Indikatoren und KI-gesteuerte Erkenntnisse, die direkt in das Chart eingeblendet werden. |
| 11. Entwurf einer hybriden Strategie | Kombination von Pre-Impact schwebenden Aufträge und Post-Impact reaktiven Handelsgeschäften in einem einzigen EA-System mit Laufzeitbedingungen, was die Flexibilität und Anpassungsfähigkeit an verschiedene Marktbedingungen fördert. |
Anlagen
| Dateiname | Version | Beschreibung |
|---|---|---|
| NFP_Event_Replay.mq5 | 1.0 | Visuelles Tool von Strategy Tester, das NFP-Ereignisfenster mit Hilfe von Rechtecken markiert, die auf der historischen Logik des ersten Freitags und der US-Sommerzeit basieren. Hilft bei der manuellen Analyse von Kursreaktionen während aufsehenerregender Nachrichtenereignisse. |
| News_Headline_EA.mq5 | 1.11 | Echtzeit-Wirtschaftskalender-EA mit Ereignis-Scrolling, Alpha Vantage-Schlagzeilen, KI-Einsichten und dualer Strategie-Ausführungslogik für schwebende Aufträge und Post-Impact-Bestätigungs-Handelsgeschäfte. Einschließlich NFP-Wiederholungskompatibilität während der Tests. |
| NFP_Event_Replay.mq5 | 1.01 | Zweite Version des NFP Replay EA, die nun die vollständige Logik für die Auftragsausführung von Post Impact enthält. |
Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/en/articles/18817
Warnung: Alle Rechte sind von MetaQuotes Ltd. vorbehalten. Kopieren oder Vervielfältigen untersagt.
Dieser Artikel wurde von einem Nutzer der Website verfasst und gibt dessen persönliche Meinung wieder. MetaQuotes Ltd übernimmt keine Verantwortung für die Richtigkeit der dargestellten Informationen oder für Folgen, die sich aus der Anwendung der beschriebenen Lösungen, Strategien oder Empfehlungen ergeben.
Selbstoptimierende Expert Advisors in MQL5 (Teil 11): Eine sanfte Einführung in die Grundlagen der linearen Algebra
Selbstoptimierende Expert Advisors in MQL5 (Teil 10): Matrix-Faktorisierung
MQL5-Assistenten-Techniken, die Sie kennen sollten (Teil 76): Verwendung von Mustern des Awesome Oszillators und der Envelope-Kanäle mit überwachtem Lernen
Entwicklung des Price Action Analysis Toolkit (Teil 35): Training und Einsatz von Vorhersagemodellen
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.