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
Build a Two-Agent FX Stack: Research Agent + Execution Gatekeeper image
Share headline card X LinkedIn Email
Download

Reference

Macro Education

Build a Two-Agent FX Stack: Research Agent + Execution Gatekeeper

निष्पादन अनुमोदन से विश्लेषण को विभाजित करके एक सुरक्षित एआई एफएक्स वर्कफ़्लो डिजाइन करें: एक एजेंट मैक्रो सेटअप का शोध करता है, एक दूसरा गेटकीपर जोखिम नियमों को लागू करता है और आपके ब्रोकर तक पहुंचने से पहले असुरक्षित ट्रेडों को ब्लॉक करता है।

इसमें भी उपलब्ध है English
Share article X LinkedIn Email

दो एजेंटों का एफएक्स स्टैक बनाएंः अनुसंधान एजेंट + निष्पादन गेटकीपर

लेखक: FXMacroData टीम
प्रकाशित: 21 मई, 2026

एकल एजेंट एफएक्स बॉट एक सरल कारण से विफल हो जाते हैंः एक ही मॉडल है कि विचारों को उत्पन्न भी उन्हें मंजूरी देने के लिए अनुमति दी है। अमेरिकी गैर-कृषि वेतन, एक तर्क त्रुटि सीधे स्थिति जोखिम में कूद सकता है।

यह गाइड एक सुरक्षित वास्तुकला दिखाता हैः दो एजेंटों के बीच जिम्मेदारियों को विभाजित करें। पहला एजेंट बाजार अनुसंधान करता है और सेटअप का प्रस्ताव करता है। दूसरा एजेंट एक सख्त गेटकीपर है जो केवल कठिन जोखिम नियमों के आधार पर प्रस्तावों को मंजूरी, आकार बदल सकता है या अस्वीकार कर सकता है।

अंत तक, आपके पास के लिए एक व्यावहारिक दो-एजेंट वर्कफ़्लो होगा EUR/USD और GBP/USD जो कि प्रत्यक्ष REST एपीआई एकीकरण और एमसीपी आधारित उपकरण एकीकरण दोनों का समर्थन करता है।

लक्ष्य: किसी भी ब्रोकर कार्रवाई से पहले अनिवार्य अनुमोदन परत लागू करके "एआई व्यापार विचार" से "जोखिम-प्रमाणित एआई व्यापार उम्मीदवारों" में स्थानांतरित करें।

पूर्व शर्तें

  • पायथन 3.10+
  • से एक FXMacroData एपीआई कुंजी एपीआई प्रबंधन.
  • अनुसंधान और द्वारपाल एजेंटों के लिए एक एलएलएम अंत बिंदु।
  • JSON और HTTP एपीआई के साथ बुनियादी परिचितता।

निर्भरताएँ स्थापित करेंः

pip install requests python-dotenv pydantic

एक .env फ़ाइलः

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

चरण 1: दोनों एजेंटों के लिए सख्त भूमिकाएं परिभाषित करें

क्या करें: कोड लिखने से पहले जिम्मेदारियों को लॉक करें।

  • अनुसंधान एजेंटः मैक्रो + बाजार संदर्भ पढ़ता है और उम्मीदवार सेटअप का प्रस्ताव करता है।
  • गेटकीपर एजेंट: केवल बाधाओं को मान्य करता है. यह नए ट्रेडों का आविष्कार नहीं कर सकता, केवल अनुमोदन/अस्वीकार/आकार बदल सकता है.

क्यों मायने रखता हैः यह पृथक्करण एक मॉडल को जोखिम नियंत्रणों को दरकिनार करने से रोकता है जब विश्वास उच्च है लेकिन साक्ष्य कमजोर है।


चरण 2: प्रत्यक्ष REST कॉल के साथ संरचित संदर्भ निकालें

क्या करें: रिलीज़ और स्पॉट डेटा को FXMacroData से प्राप्त करें ताकि शोध एजेंट को असंरचित सुर्खियों के बजाय स्वच्छ इनपुट मिले।

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"

क्यों मायने रखता हैः सुसंगत, संरचित क्षेत्र दोनों एजेंटों को सत्य का एक ही स्रोत देते हैं और सत्यापन को निर्धारक बनाते हैं।

न्यूनतम पायथन कलेक्टरः

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:],
    }

चरण 3: अनुसंधान एजेंट के साथ व्यापार उम्मीदवारों का निर्माण करें

क्या करें: केवल संरचित व्यापार उम्मीदवारों के लिए अनुसंधान एजेंट से पूछें। उसे निष्पादन के लिए तैयार निर्देश भेजने न दें।

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

क्यों मायने रखता हैः एक निश्चित स्कीमा गेटकीपर को मुक्त रूप पाठ को पार्स करने की कोशिश करने के बजाय पूर्वानुमान योग्य क्षेत्रों पर नियम लागू करने की अनुमति देती है।

टिप: से केंद्रीय बैंक संदर्भ शामिल करें फेडरल रिजर्व और ईसीबी अनुसंधान संकेत में संचार, लेकिन अंतिम आउटपुट कॉम्पैक्ट रखें।

चरण 4: द्वारपाल एजेंट में कठिन जोखिम नियमों को लागू करें

क्या करें: प्रत्येक उम्मीदवार को एक दूसरे मॉडल या नियम-पहले सत्यापनकर्ता के माध्यम से सख्त सीमाओं के साथ चलाएं।

नीति का उदाहरणः

  • व्यापार प्रति अधिकतम जोखिमः 0.50% इक्विटी का।
  • उच्च प्रभाव वाली रिलीज़ के 15 मिनट के भीतर कोई नया व्यापार नहीं रिलीज कैलेंडर.
  • अनिवार्य अमान्यकरण स्तर
  • यदि विश्वास < 0.60 हो तो अस्वीकार करें।

पीडांतिक गेट और निर्णय आउटपुटः

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")

क्यों मायने रखता हैः भले ही अनुसंधान एजेंट को गलत रीडिंग हो, लेकिन गेटकीपर अभी भी ओवरसाइज़ या कमजोर सेटअप को ब्लॉक कर सकता है।


Step 5: Add MCP integration path (tool-native agent workflow)

क्या करें: FXMacroData को MCP के माध्यम से उजागर करें ताकि एजेंट फ्रेमवर्क प्रत्येक बॉट के लिए कस्टम REST गोंद बनाने के बजाय मूल रूप से टूल को कॉल कर सकें।

पायथन आधारित एमसीपी सर्वर को के माध्यम से प्रारंभ करें uvx:

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

क्लाइंट कॉन्फ़िगर उदाहरणः

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

उदाहरण एमसीपी उपकरण कॉल स्कीमा आपके अनुसंधान एजेंट के लिएः

{
  "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"]
  }
}

एजेंट को बुलाने का उदाहरण (MCP पथ):

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."

क्यों मायने रखता हैः एमसीपी आपके स्टैक के बढ़ने के साथ एकीकरण बहाव को कम करता है, खासकर जब आप कई एजेंट या स्वैप मॉडल प्रदाताओं को चलाते हैं।


Step 6: Route outputs to human review, then broker API

क्या करें: पहले गेटकीपर निर्णय स्लैक/टेलीग्राम को भेजें। केवल मानव पुष्टि के बाद प्रारंभिक संस्करणों में निष्पादन प्रणालियों को अनुमोदित ट्रेड भेजें.

क्यों मायने रखता हैः यह एक ऑडिटेबल लूप बनाता है और आपको प्रॉम्प्ट या मॉडल परिवर्तन के दौरान बचाता है।

[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.

आपने जो बनाया

अब आपके पास दो एजेंट एफएक्स आर्किटेक्चर है जो विचार जनरेशन को जोखिम अनुमोदन से अलग करता है, प्रत्यक्ष आरईएसटी एकीकरण का समर्थन करता है और एमसीपी-आधारित टूल ऑर्केस्ट्रेशन का भी समर्थन करता हैं। uvxयह एकल-एजेंट बॉट्स की तुलना में एक मजबूत आधार है क्योंकि निष्पादन से पहले व्यापार उम्मीदवारों को एक स्वतंत्र नीति गेट से बचना चाहिए।

अगला कदमः एक मार-स्विच परत जोड़ें जो स्वचालित रूप से मजबूर करता है reject असामान्य विलंबता, गायब डेटा फ़ील्ड या उच्च अस्थिरता सत्रों के दौरान दोहराई गई स्कीमा विफलताओं के बाद. आप सेशन-जागरूक बाधाओं को भी जोड़ सकते हैं विदेशी मुद्रा सत्र और से स्थिति संदर्भ सीओटी.

Blogroll

AI Answer-Ready

Key Facts

Page
Build A Two Agent FX Stack Research And Execution Gatekeeper
Section
Articles
Canonical URL
https://fxmacrodata.com/hi/articles/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.