Automatisierung·

Eine kostenlose Wirtschaftskalender-API für Trading-Bots

Woher ein Trading-Roboter den Wirtschaftskalender bekommt: die gängigen Quellen, wo jede davon hakt, und eine kostenlose API ohne Schlüssel, gebaut für regelmäßige Abfragen aus Expert Advisors, cBots, Python und JavaScript.

Früher oder später stellt jede automatisierte Strategie dieselbe Frage: Kommen in der nächsten halben Stunde News? Dafür braucht sie einen maschinenlesbaren Wirtschaftskalender, und der ist schwerer zu finden als der Kalender selbst. Die meisten Kalender sind schlicht Webseiten. Die wenigen Feeds, die es gibt, sind limitiert, kostenpflichtig oder verschwinden ohne Vorwarnung.

Diese Anleitung ist die Kurzfassung dieser Suche, samt dem Endpunkt, den wir am Ende selbst gebaut und für alle geöffnet haben.

🗺️ Woher Bots den Kalender heute beziehen

QuelleKostenWas du bekommstWo es hakt
Wochendatei von Forex Factory (ff_calendar_thisweek.json, auch als XML und CSV)KostenlosDie laufende Woche, Wichtigkeit und PrognoseZwei Downloads alle fünf Minuten pro IP-Adresse: Ein VPS mit vielen Terminals stößt an das Limit; tatsächliche Werte fehlen in der Datei
MT5-Kalender des Brokers (die MQL5-Funktionen Calendar*)KostenlosDer vollständige Kalender direkt im TerminalNur MT5; manche Broker leiten ihn nicht weiter
Scraping einer Kalender-WebsiteKostenlos, bis es plötzlich etwas kostetAlles, was die Seite anzeigtLayout-Änderungen, Bot-Schutz, Nutzungsbedingungen
Kostenpflichtige Marktdaten-APIsAb einigen Dutzend Dollar im MonatLange Historie, viele LänderÜberdimensioniert und zu teuer für die Frage „Kommen in 30 Minuten News?“
Kleine private APIsKostenlose Tarife mit SchlüsselOft gutEine einzelne Person steckt dahinter; Schlüssel und Limits ändern sich

Falsch ist keine dieser Quellen. Jede scheitert nur auf ihre eigene Art, und ein Roboter, der unbeaufsichtigt auf einem VPS läuft, merkt davon nichts, bis er mitten durch einen Zinsentscheid gehandelt hat.

🎯 Was ein Bot wirklich braucht

Reduziert man die Frage aufs Wesentliche, bleiben nur wenige Anforderungen:

  1. Die nächsten ein, zwei Tage, nicht das nächste Jahr. Ein Filter schaut nur Stunden voraus.
  2. Auf dem Server gefiltert: nur die Währungen, die der Bot handelt, und nur die Wichtigkeit, die ihn interessiert. Ein paar Kilobyte statt eines Megabytes.
  3. Unix-Zeitstempel in UTC. Zwei Ganzzahlen vergleichen kann jede Plattform, und Datumsangaben in MQL zu parsen macht niemandem Spaß.
  4. Eine Uhr, auf die er sich verlassen kann. Die Uhrzeit, die der Roboter selbst kennt, ist nur geschätzt: Broker-Zeit mit unbekanntem Versatz, ein VPS in einer unbekannten Zeitzone. Der Kalender sollte sagen, wie spät es jetzt ist, damit der Roboter Gleiches mit Gleichem vergleicht.
  5. Für regelmäßige Abfragen gebaut. Hunderte Roboter, die alle 15 Minuten nachfragen, sollten normaler Datenverkehr sein und kein Missbrauch.
  6. Kein Schlüssel, kein Konto. Ein Schlüssel ist eine Sache mehr, die in falsche Hände geraten kann und die man regelmäßig erneuern und pflegen muss.
  7. Von jeder Plattform aus erreichbar, auch von denen, die den Netzwerkzugriff einschränken.

🔓 Der Endpunkt

GET https://showmytrades.com/api/public/calendar/v1?currency=EUR,USD&impact=high&days=1
ParameterWerteStandard
currencyEine oder mehrere aus USD, EUR, GBP, JPY, AUD, NZD, CAD, CHF, CNY, durch Kommas getrenntAlle neun
impacthigh, medium, low, holiday, durch Kommas getrennt, oder allhigh
days1 bis 30 Tage im Voraus; das Fenster beginnt immer 6 Stunden in der Vergangenheit1
formatjson oder csvjson

Jedes Ereignis hat ts (Unix-Sekunden, UTC), time (ISO 8601), currency, impact, title, forecast, previous und actual. Dazu kommen eine stabile id, die auch eine Terminverschiebung übersteht, ein status (scheduled, moved mit der alten Uhrzeit in moved_from, tentative) und eine confidence: Sie gibt an, ob der Termin von der Behörde oder Zentralbank bestätigt ist, die die Zahl veröffentlicht (official), oder durch übereinstimmende Kalender. Ein eigener Änderungs-Feed listet auf, was seit deinem letzten Download verschoben oder abgesagt wurde. Jede Antwort nennt außerdem die aktuelle Uhrzeit in UTC als server_time: Mit dieser Uhr vergleichst du ts, nicht mit der des Brokers oder des VPS. Brauchst du nur die Uhr, liefert GET https://showmytrades.com/api/public/time sie allein, nie aus dem Cache. Antworten werden 15 Minuten lang gecacht und enthalten ein ETag; das Limit liegt bei 600 Anfragen pro Minute und IP-Adresse. Alles Weitere steht auf der Referenzseite, auch ein CSV-Aufbau, den StringSplit() in MQL gar nicht falsch zerlegen kann.

Drei Aufrufe in drei Sprachen:

curl "https://showmytrades.com/api/public/calendar/v1?currency=USD&impact=high,medium&days=7&format=csv"

🔌 Nach Plattform

PlattformWieCode
MetaTrader 4WebRequest() mit https://showmytrades.com in der Liste der erlaubten URLsEine Include-Datei, SMT_NewsFilter.mqh
MetaTrader 5Dieselbe Include-Datei oder der eingebaute KalenderEingebaut oder per API, mit beiden Code-Snippets
cTrader (Desktop und Cloud)Ein WebSocket auf Port 25345, weil die cTrader Cloud HTTP aus cBots blockiertEin vollständiger cBot in C#
Python, Node, alles mit HTTPDer Endpunkt obenDie Code-Snippets auf dieser Seite
Ein KI-Assistent (Claude, ChatGPT)Das Tool get_economic_calendar des MCP-Servers, ohne SchlüsselFrag: „Welche USD-News mit hoher Wichtigkeit kommen diese Woche?“

Den WebSocket gibt es wegen cTrader: Ein cBot in der Cloud kann überhaupt keine HTTP-Anfrage stellen, und die meisten cTrader-Nutzer arbeiten in der Cloud. Der Socket versteht dieselben vier Parameter und liefert dasselbe CSV.

🧭 Den Filter selbst gestalten

Die API beantwortet das Wann. Was dann passiert, entscheidet die Strategie, und meist geht es um diese Punkte:

  • Zeitfenster. 30 Minuten vor und nach einer Veröffentlichung mit hoher Wichtigkeit sind der übliche Standard. Scalper lassen das Fenster danach länger offen; Swing-Systeme sperren manchmal nur Einstiege in der Minute der Veröffentlichung.
  • Welche Währungen. Beide Seiten des gehandelten Paars. Gold und Indizes achten meist nur auf USD.
  • Offene Positionen. Neue Einstiege zu sperren ist die leichte Hälfte. Positionen vor einer Veröffentlichung zu schließen oder die Stops enger zu ziehen ist eine Entscheidung der Strategie, mit eigenen Kosten.
  • Verhalten bei Ausfällen. Scheitert der Download und hat der Bot keinen Kalender: Soll er handeln oder warten? Entscheide das bewusst; der Beispielcode handelt weiter und sagt das auch offen.

⚖️ Was die API nicht ist

Sie ist ein Terminplan, zusammengestellt aus öffentlichen Kalenderquellen und unverändert ausgeliefert. Veröffentlichungen werden manchmal verschoben oder abgesagt, überraschende Ankündigungen stehen naturgemäß nicht darin, und die Wichtigkeit ist eine Einstufung, keine Prognose der Kursbewegung. Du bekommst Informationen, mit denen du einen Filter baust, kein Signal.

❓ Häufige Fragen

Ist das wirklich kostenlos, auch für kommerzielle Roboter? Ja. Kein Schlüssel, kein Konto, keine Tarifstufe. Über einen Quellenhinweis „Economic calendar by ShowMyTrades“ mit Link auf die Kalenderseite freuen wir uns, Pflicht ist er nie.

Wie oft sollte ein Bot abfragen? Alle 15 Minuten. So lange gilt der Cache, und schneller ändert sich der Kalender nicht. Mit If-None-Match kostet ein unveränderter Kalender nichts.

In welcher Zeitzone sind die Uhrzeiten? Immer in UTC. ts ist Unix-Zeit in Sekunden, time derselbe Zeitpunkt in ISO 8601 mit einem Z. Und weil ein Roboter selten weiß, wie spät es bei ihm selbst ist (Broker-Zeit mit unbekanntem Versatz, ein VPS in einer unbekannten Zeitzone), enthält jede Antwort server_time, die aktuelle UTC-Zeit: Berechne bei jedem Download einmal den Versatz zu deiner eigenen Uhr, und die Unklarheit ist beseitigt.

Bekomme ich auch vergangene Termine, um einen News-Filter zu backtesten? Nicht über diesen Endpunkt: Das Fenster reicht sechs Stunden zurück und bis zu 30 Tage voraus. Historische Kalender für Backtests sind ein anderes Produkt mit anderen Bedingungen.

Woher stammen die Daten? Aus öffentlichen Wirtschaftskalender-Quellen, die ShowMyTrades zusammenführt und vereinheitlicht. Dieselben Daten stecken auch hinter der Kalenderseite auf dieser Website.

🔗 Weiterführende Artikel


Ein Roboter, der weiß, wann er besser draußen bleibt, hat einen Track Record, den man zeigen kann. Verbinde sein Konto kostenlos, dann sind die ruhigen halben Stunden rund um die News im Drawdown-Chart zu sehen.