Live release feed
Sub-second macro releases for FX backtests
Point-in-time history
Official CPI, jobs, GDP, and central-bank events with point-in-time history.
USD 25/month 14-day free trial
Start Free Trial
Erstellen Sie einen FX-Stack aus zwei Agenten: image
Share headline card X LinkedIn Email
Download

Reference

Macro Education

Erstellen Sie einen FX-Stack aus zwei Agenten:

Entwerfen Sie einen sichereren AI FX-Workflow, indem Sie die Analyse von der Ausführungsgenehmigung trennen: Ein Agent erforscht Makrosetups, ein zweiter Torwächter erzwingt Risikoregeln und blockiert unsichere Trades, bevor sie Ihren Broker erreichen.

Auch verfügbar auf English
Share article X LinkedIn Email

Erstellen Sie einen FX-Stack aus zwei Agenten:

Schriftsteller: FXMacroData-Team
Veröffentlicht: 21. Mai 2026

Einfach aus einem Grund scheitern die Single-Agent-Forex-Bots: dasselbe Modell, das Ideen erzeugt, darf sie auch genehmigen. US-Lohnkräfte außerhalb der Landwirtschaft, kann ein Argumentationsfehler direkt in Positionsrisiko springen.

Dieser Leitfaden zeigt eine sicherere Architektur: Aufteilung der Verantwortlichkeiten zwischen zwei Agenten. Der erste Agent führt Marktforschung durch und schlägt Setups vor. Der zweite Agent ist ein strenger Torwächter, der nur Vorschläge genehmigen, vergrößern oder ablehnen kann, die auf harten Risiko-Regeln basieren.

Am Ende haben Sie einen praktischen Arbeitsfluss für zwei Agenten. EUR/USD Und ... GBP/USD die sowohl die direkte REST-API-Integration als auch die MCP-basierte Werkzeugintegration unterstützt.

Ziel: Die "Risiko-validierte KI-Handelskandidaten" werden von "AI-Handel Ideen" zu "Risikoverifizierten AI-Händlern" übernommen, indem eine obligatorische Genehmigungsschicht vor jeder Broker-Aktion durchgesetzt wird.

Voraussetzungen

  • Python 3.10+ ist ein guter Ansatz.
  • Ein FXMacroData API-Schlüssel von API-Management- Ich weiß .
  • Ein LLM-Endpunkt für die Forschungs- und Torwächteragenten.
  • Grundlegende Kenntnisse von JSON und HTTP-API.

Installieren von Abhängigkeiten:

pip install requests python-dotenv pydantic

Erstellen Sie eine .env Datei:

FXMD_API_KEY=your_fxmacrodata_key
RESEARCH_MODEL=claude-or-hermes
GATEKEEPER_MODEL=claude-or-hermes
MAX_RISK_PCT=0.50

Schritt 1: Festlegung der Aufgaben beider Mitarbeiter

Was zu tun ist: Schließ die Verantwortlichkeiten vor dem Schreiben von Code ein.

  • Forschungsbeauftragter: Liest den Makro- + Marktkontext und schlägt Kandidatenvorstellungen vor.
  • Ein Gate Keeper-Agent validiert nur Einschränkungen, er kann keine neuen Transaktionen erfinden, sondern nur genehmigen, ablehnen oder vergrößern.

Warum es wichtig ist: Diese Trennung verhindert, dass ein einzelnes Modell Risikokontrollen umgeht, wenn das Vertrauen hoch ist, aber die Beweise schwach sind.


Schritt 2: Strukturen aus dem Kontext mit direkten REST-Aufrufen ziehen

Was zu tun ist: Erhebt Releases und Spot-Daten von FXMacroData, damit der Recherche-Agent saubere Eingaben anstelle unstrukturierter Schlagzeilen erhält.

curl "https://fxmacrodata.com/api/v1/calendar/usd?api_key=YOUR_API_KEY"
curl "https://fxmacrodata.com/api/v1/announcements/eur/inflation?api_key=YOUR_API_KEY"
curl "https://fxmacrodata.com/api/v1/announcements/gbp/unemployment?api_key=YOUR_API_KEY"
curl "https://fxmacrodata.com/api/v1/forex?base=EUR&quote=USD&api_key=YOUR_API_KEY"

Warum es wichtig ist: Konsistente, strukturierte Felder geben beiden Agenten die gleiche Wahrheitsquelle und machen die Validierung deterministisch.

Mindestzähler für Python:

import os
import requests
from datetime import datetime, timezone

API = "https://fxmacrodata.com/api/v1"
KEY = os.environ["FXMD_API_KEY"]


def fxmd_get(path, **params):
    r = requests.get(
        f"{API}{path}",
        params={"api_key": KEY, **params},
        timeout=25,
    )
    r.raise_for_status()
    return r.json()


def build_market_context():
    return {
        "asof_utc": datetime.now(timezone.utc).isoformat(),
        "calendar_usd": fxmd_get("/calendar/usd").get("data", [])[:8],
        "calendar_eur": fxmd_get("/calendar/eur").get("data", [])[:8],
        "eur_inflation": fxmd_get("/announcements/eur/inflation").get("data", [])[-1:],
        "gbp_unemployment": fxmd_get("/announcements/gbp/unemployment").get("data", [])[-1:],
        "eurusd": fxmd_get("/forex", base="EUR", quote="USD").get("data", [])[-48:],
        "gbpusd": fxmd_get("/forex", base="GBP", quote="USD").get("data", [])[-48:],
    }

Schritt 3: Mit dem Forschungsbeauftragten erstellen Sie Handelskandidaten

Was zu tun ist: Fragen Sie den Forschungsbeauftragten nur nach Kandidaten für den strukturierten Handel.

{
  "pair": "EUR/USD",
  "bias": "long|short|flat",
  "thesis": "string",
  "confidence": 0.0,
  "entry_zone": "string",
  "invalidation": "string",
  "event_risks": ["string"]
}

Warum es wichtig ist: Ein festes Schema ermöglicht es dem Torwächter, Regeln für vorhersehbare Felder durchzusetzen, anstatt zu versuchen, freien Text zu analysieren.

Tipp: Zentralbankkontext von Die Federal Reserve Und ... Die EZB Die Kommunikation in der Recherche-Eingabe wird zwar in der Anfrage aufgeführt, aber die Endleistung wird kompakter.

Schritt 4: Durchsetzung von Hartrisiko-Regeln im Gatekeeper-Agent

Was zu tun ist: Jeder Kandidat durch einen zweiten Modell- oder Regel-Erst-Validierer mit strengen Grenzen.

Beispiel für die Politik:

  • Höchstrisiko pro Handel: 0,50% des Eigenkapitals.
  • Keine neuen Transaktionen innerhalb von 15 Minuten nach der Veröffentlichung der High-Impact-Releases aus dem Veröffentlichungskalender- Ich weiß .
  • Zwingende Nichtigkeitsstufe.
  • Ablehnen, wenn das Konfidenzwert < 0,60 beträgt.

Pydantische Schließung und Entscheidungsausgabe:

from pydantic import BaseModel, Field


class Candidate(BaseModel):
    pair: str
    bias: str
    thesis: str
    confidence: float = Field(ge=0.0, le=1.0)
    entry_zone: str
    invalidation: str
    event_risks: list[str]


class GateDecision(BaseModel):
    status: str  # approve, resize, reject
    approved_size_pct: float
    reason: str


def gate(candidate: Candidate, max_risk_pct: float = 0.50) -> GateDecision:
    if candidate.confidence < 0.60:
        return GateDecision(status="reject", approved_size_pct=0.0, reason="Low confidence")
    if not candidate.invalidation.strip():
        return GateDecision(status="reject", approved_size_pct=0.0, reason="Missing invalidation")
    proposed = 0.50 if candidate.confidence >= 0.75 else 0.30
    size = min(proposed, max_risk_pct)
    return GateDecision(status="approve", approved_size_pct=size, reason="Within policy")

Warum es wichtig ist: Selbst wenn der Forschungsagent eine schlechte Lesart hat, kann der Torwächter immer noch übergroße oder schwache Setups blockieren.


Schritt 5: Hinzufügen des Integrationsweges für MCP (tool-native Agent Workflow)

Was zu tun ist: FXMacroData über MCP freigeben, damit Agent-Frameworks Tools nativ aufrufen können, anstatt für jeden Bot einen benutzerdefinierten REST-Kleber zu erstellen.

Starten Sie einen Python-basierten MCP-Server über uvxDie Kommission

uvx fxmacrodata-mcp --transport http --server-url https://fxmacrodata.com/mcp

Beispiel für die Konfiguration des Clients:

{
  "mcpServers": {
    "fxmacrodata": {
      "command": "uvx",
      "args": [
        "fxmacrodata-mcp",
        "--transport",
        "http",
        "--server-url",
        "https://fxmacrodata.com/mcp"
      ]
    }
  }
}

Beispiel für das MCP-Tool-Call-Schema für Ihren Forschungsagent:

{
  "name": "get_fx_calendar_and_spot",
  "description": "Get upcoming macro events and current spot context for selected pairs",
  "input_schema": {
    "type": "object",
    "properties": {
      "currencies": {
        "type": "array",
        "items": { "type": "string" }
      },
      "pairs": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "base": { "type": "string" },
            "quote": { "type": "string" }
          },
          "required": ["base", "quote"]
        }
      }
    },
    "required": ["currencies", "pairs"]
  }
}

Beispiel für die Einrufung von Agenten (MCP-Pfad):

Research Agent:
"Using the fxmacrodata MCP tools, pull today's USD/EUR/GBP calendar and spot for EUR/USD and GBP/USD.
Return up to 3 candidate setups in strict JSON schema."

Gatekeeper Agent:
"Validate each candidate against risk policy v1. Reject anything violating confidence,
size, invalidation, or event-window constraints. Return approve/resize/reject with reason."

Warum es wichtig ist: MCP reduziert die Integrationsdrift, wenn der Stack wächst, insbesondere wenn mehrere Agenten oder Swap-Modellanbieter ausgeführt werden.


Schritt 6: Ausgänge an menschliche Überprüfung weiterleiten, dann API-Broker

Was zu tun ist: Die Entscheidung des Torwächters wird zuerst an Slack/Telegram gesendet.

Warum es wichtig ist: Dies erzeugt eine überprüfbare Schleife und schützt Sie bei Anforderungs- oder Modellwechseln.

[FX Two-Agent Candidate]
Pair: EUR/USD
Research Bias: Long
Gatekeeper: Approve
Approved Size: 0.30%
Reason: Confidence 0.71, invalidation present, no high-impact event in 15m window.

Was du gebaut hast

Sie haben jetzt eine Zwei-Agenten FX-Architektur, die Ideen-Generation von Risiko-Zulassung trennt, unterstützt direkte REST-Integration und unterstützt auch MCP-basierte Werkzeug-Orchestrierung durch uvxDies ist eine stärkere Grundlage als ein-Agent-Bots, weil Handelskandidaten vor der Ausführung ein unabhängiges Politiktor überleben müssen.

Nächster Schritt: Fügen Sie eine Schalt-Schalter-Schicht hinzu , die automatisch zwingt . reject Sie können auch session-bewusste Einschränkungen von hinzufügen. FX-Sitzungen und Positionierung Kontext von COT- Ich weiß .

Blogroll

AI Answer-Ready

Key Facts

Page
Build A Two Agent FX Stack Research And Execution Gatekeeper
Section
Articles
Canonical URL
https://fxmacrodata.com/de/artikel/build-a-two-agent-fx-stack-research-and-execution-gatekeeper
Source
FXMacroData editorial and official publisher references
Last Updated
2026-06-15 11:01 UTC

Provenance And Trust

Cite the canonical URL and source field above. Where available, this page maps to official publisher releases and timestamped updates.

Quick Q&A

What is this page about? This page explains Build A Two Agent FX Stack Research And Execution Gatekeeper with directly usable context for trading, research, and API workflows.

What source should be cited? Use the canonical URL and the listed source field; cite official publisher references when available.

How fresh is this content? The last updated value above reflects the page metadata or latest available data timestamp.

Can this be used in AI assistants? Yes. This section is intentionally structured for retrieval and citation in chat assistants.

Prompt Packs

Use these in ChatGPT, Claude, Gemini, Mistral, Perplexity, or Grok for consistent source-aware outputs.