Zum Inhalt

Forex Livedaten Abruf

ID: TRADINGDL-001 · Service: trading-data-layer · Status: 🟢 aktiv · Use Case: UC-TDL-001


Der Service ruft OHLCV-Daten (Open, High, Low, Close, Volume) für die definierten Währungspaare über die Twelve Data API ab und speichert diese in der PostgreSQL Datenbank. Das Abrufintervall ist tageszeit-abhängig: während der aktiven Handelszeit (07:30–18:00 MEZ) alle 5 Minuten, außerhalb dieser Zeit alle 15 Minuten. Alle 4 Paare werden je Lauf in einem einzigen Request abgerufen.


Währungspaare

  • EUR/USD
  • GBP/USD
  • USD/JPY
  • USD/CAD

Datenpunkte

  • open
  • high
  • low
  • close
  • volume
  • timestamp

Datenquelle

Feld Wert
Anbieter Twelve Data
API-Key (Env) TWELVEDATA_API_KEY
Endpoint /time_series
Request-Modus alle 4 Paare als Multi-Symbol-Request in einem einzigen Call (symbol=EUR/USD,GBP/USD,...)

API-Kontingent

Feld Wert
Tageslimit 800
Einheit API Credits/Requests pro Tag (1 Symbol-Abfrage = 1 Credit)
Credits pro Lauf 4
Puffer Aktive Handelszeit (07:30–18:00 MEZ): 126 Läufe/Tag × 4 Paare = 504 Credits. Ruhezeit (18:00–07:30 MEZ): 46 Läufe/Tag × 4 Paare = 184 Credits. Gesamt geplant: ~688 Credits/Tag. Verbleibende ~112 Credits dienen als Puffer für manuelles Nachladen über "Jetzt abrufen" im Frontend (TRADINGDL-005).

Zeitplan

Aktive Handelszeit

Feld Wert
Zeitfenster 07:30–18:00 MEZ
Frequenz every 5 minutes
Cron-Ausdruck */5 7-17 * * 1-5
Hinweis Ab 07:30 Uhr; der Cron läuft ab 07:00, der Collector prüft selbst ob es nach 07:30 ist

Ruhezeit

Feld Wert
Zeitfenster 18:00–07:30 MEZ (inkl. Wochenende)
Frequenz every 15 minutes
Cron-Ausdruck */15 0-7,18-23 * * *

Datenspeicherung

Feld Wert
Datenbank postgresql
Schema market_data
Tabelle forex_ohlcv

Abnahmekriterien

  • [ ] Zwischen 07:30 und 18:00 MEZ werden Daten alle 5 Minuten für alle 4 Paare in einem Request abgerufen
  • [ ] Außerhalb dieser Zeit werden Daten alle 15 Minuten abgerufen
  • [ ] Tägliches Credit-Budget von 800 wird durch geplante Läufe nicht überschritten (max. ~688/Tag)
  • [ ] Fehlgeschlagene Abrufe werden geloggt und beim nächsten Lauf erneut versucht
  • [ ] Duplikate werden verhindert (unique constraint auf pair + timestamp)
  • [ ] Bei API-Ausfall oder erreichtem Tageslimit wird ein Hinweis geloggt statt eines Absturzes

Changelog

Eintrag 1

Version: 1.0

Changes: Initiale Version