हर्मेस और FXMacroData के साथ एक FX ट्रेडिंग बॉट कैसे बनाएं
लेखक: FXMacroData टीम
प्रकाशित: 21 मई, 2026
हर्मेस मॉडल व्यावहारिक ट्रेडिंग सहायकों के लिए एक मजबूत फिट हैं क्योंकि वे तेज़, स्थानीय रूप से चलाने में आसान और टूल-कॉल वर्कफ़्लो में अनुमानित हैं। इस गाइड में, आप एक हल्के एफएक्स ट्रेडिंग बॉट का निर्माण करेंगे जो हर्मीस तर्क को एफएक्समैक्रोडाटा बाजार डेटा के साथ जोड़ता है ताकि यह मैक्रो आश्चर्य का मूल्यांकन कर सके, व्यापार सेटअप को रैंक कर सके और अनुशासित व्यापारिक विचारों का उत्पादन कर सके।
उदाहरण रणनीति पर ध्यान केंद्रित किया गया है USD/JPY और उपयोग करता है अमेरिकी मुद्रास्फीति, फेडरल रिजर्व नीतिगत दर, और बैंक ऑफ जापान की नीतिगत दर आप FXMacroData द्वारा कवर किसी भी जोड़ी के लिए एक ही ढांचे का पुनः उपयोग कर सकते हैं।
पूर्व शर्तें
- स्थानीय पायथन 3.10+ वातावरण।
- से एक FXMacroData एपीआई कुंजी एपीआई प्रबंधन.
- एक हर्मेस मॉडल अंत बिंदु (स्थानीय या होस्ट किया गया), जैसे हर्मीस ओल्मा के माध्यम से।
- आरईएसटी एपीआई और पायथन स्क्रिप्टिंग के साथ बुनियादी परिचितता।
निर्भरताएँ स्थापित करेंः
pip install requests python-dotenv
चरण 1: अपने बॉट उद्देश्य और जोखिम नियमों को परिभाषित करें
कोड करने से पहले, निर्णय के दायरे को लॉक करें. एक अच्छा पहला संस्करण हैः
- केवल एक जोड़ी (USD/JPY) का व्यापार करें।
- केवल उच्च प्रभाव वाले मैक्रो शिफ्ट पर प्रतिक्रिया करें।
- कभी भी V1 में स्वचालित रूप से एक लाइव ऑर्डर न दें।
- आउटपुटः दिशा, विश्वास, अमान्यता स्तर और स्थिति आकार सुझाव।
यह पहले बॉट को ब्लैक बॉक्स में बदलने के बिना उपयोगी रखता है।
चरण 2: FXMacroData से मैक्रो और FX डेटा निकालें
क्वेरी-पैरामीटर सत्यापन के साथ एपीआई का उपयोग करें. रिलीज़ और स्पॉट डेटा के साथ शुरू करें.
curl "https://fxmacrodata.com/api/v1/announcements/usd/inflation?api_key=YOUR_API_KEY"
curl "https://fxmacrodata.com/api/v1/announcements/jpy/policy_rate?api_key=YOUR_API_KEY"
curl "https://fxmacrodata.com/api/v1/forex?base=USD"e=JPY&api_key=YOUR_API_KEY"
आप रिलीज कैलेंडर और सीओटी पोजिशनिंग घटना जोखिम और स्थिति पूर्वाग्रह को अपने त्वरित संदर्भ में जोड़ने के लिए।
चरण 3: पायथन में एक हर्मेस-संगत सिग्नल लूप बनाएं
नीचे दिया गया स्क्रिप्ट हाल के डेटा को प्राप्त करता है, एक कॉम्पैक्ट संदर्भ पेलोड बनाता है, और हेर्मेस से एक संरचित निर्णय के लिए कहता है। सख्त JSON आउटपुट की आवश्यकता करके इसे निर्धारक रखें।
import os
import json
import requests
from datetime import datetime, timezone
API_BASE = "https://fxmacrodata.com/api/v1"
API_KEY = os.environ["FXMD_API_KEY"]
HERMES_URL = os.environ["HERMES_URL"] # Example: http://localhost:11434/api/generate
HERMES_MODEL = os.environ.get("HERMES_MODEL", "hermes3")
def fxmd_get(path, **params):
r = requests.get(
f"{API_BASE}{path}",
params={"api_key": API_KEY, **params},
timeout=25,
)
r.raise_for_status()
return r.json()
def last_value(payload):
rows = payload.get("data", [])
return rows[-1] if rows else {}
usd_infl = last_value(fxmd_get("/announcements/usd/inflation"))
jpy_rate = last_value(fxmd_get("/announcements/jpy/policy_rate"))
usd_rate = last_value(fxmd_get("/announcements/usd/policy_rate"))
spot = fxmd_get("/forex", base="USD", quote="JPY").get("data", [])
spot_last = spot[-1] if spot else {}
spot_prev = spot[-2] if len(spot) > 1 else spot_last
context = {
"timestamp_utc": datetime.now(timezone.utc).isoformat(),
"pair": "USD/JPY",
"macro": {
"usd_inflation_latest": usd_infl.get("value"),
"usd_policy_rate_latest": usd_rate.get("value"),
"jpy_policy_rate_latest": jpy_rate.get("value"),
},
"price": {
"last": spot_last.get("value"),
"previous": spot_prev.get("value"),
},
"rules": {
"allowed_actions": ["long", "short", "flat"],
"max_risk_per_trade_pct": 0.5,
"require_invalidation_level": True,
},
}
prompt = f"""
You are an FX strategy assistant.
Use this JSON context: {json.dumps(context)}
Return JSON only with keys:
action, confidence, thesis, invalidation, size_pct, next_data_to_watch
Rules:
- No prose outside JSON.
- Confidence between 0 and 1.
- size_pct must be <= 0.5.
"""
hermes_req = {
"model": HERMES_MODEL,
"prompt": prompt,
"stream": False,
}
resp = requests.post(HERMES_URL, json=hermes_req, timeout=45)
resp.raise_for_status()
raw = resp.json().get("response", "{}")
decision = json.loads(raw)
print(json.dumps(decision, indent=2))
यह पैटर्न क्यों काम करता हैः
- FXMacroData संरचित इनपुट प्रदान करता है, इसलिए हर्मेस शोर-शराबी पाठ के बजाय स्वच्छ क्षेत्रों पर तर्क देता है।
- प्रम्प्ट एक सीमित स्कीमा को लागू करता है, आउटपुट बहाव को कम करता है।
- जोखिम संबंधी बाधाओं को संदर्भ में डाला जाता है, उन्हें निहित नहीं छोड़ा जाता है।
चरण 4: घटना-जागरूक फ़िल्टर जोड़ें
अधिकांश बुरे बॉट निर्णय उच्च अस्थिरता खिड़कियों के आसपास होते हैं. किसी भी संकेत पर भरोसा करने से पहले दो फ़िल्टर जोड़ेंः
- कैलेंडर निकटताः यदि 30 मिनट के भीतर शीर्ष स्तर की रिहाई की आवश्यकता है, तो आकार या बल को कम करें
flat. - शासन में असहमति: यदि मैक्रो पूर्वाग्रह और मूल्य गति में भारी असहमति है, तो आत्मविश्वास को स्वचालित रूप से कम करें।
त्वरित संदर्भ के लिए अपने स्वयं के दस्तावेजों में अंत बिंदु लिंक का उपयोग करेंः अमेरिकी गैर-कृषि वेतन, यूएस कोर पीसीई, और जापान मुद्रास्फीति.
चरण 5: निर्णयों को अलर्ट में बदलें, ऑटो-निष्पादित नहीं
उत्पादन में, पहले स्लैक / टेलीग्राम पर निर्णयों को रूट करें। मानव पुष्टि तब तक अनिवार्य बनी रहेगी जब तक आपके पास पर्याप्त पूर्व-परीक्षण नमूने नहीं हैं। एक व्यावहारिक अलर्ट प्रारूपः
[FX BOT] USD/JPY
Action: LONG
Confidence: 0.72
Thesis: US inflation + sticky core, policy divergence still USD-supportive.
Invalidation: Daily close below 154.20
Suggested Size: 0.35%
Watch Next: US Core PCE (Friday 12:30 UTC)
इससे जवाबदेही और लेखापरीक्षा की क्षमता स्पष्ट रहती है और साथ ही शोध समय की बचत होती है।
जिन गलतियों से बचना चाहिए
- मॉडल को गतिशील रूप से जोखिम सीमा चुनने देना।
- एक जोड़ी को गहराई से मान्य करने से पहले बहुत सारे जोड़े का उपयोग करना।
- आपके पाइपलाइन में पुराने डेटा की जांच को अनदेखा करना।
- मॉडल के विश्वास को लाभ की संभावना के रूप में व्यवहार करना।
आपने जो बनाया
अब आपके पास एक पूर्ण v1 आर्किटेक्चर है जो कि एक हर्मेस संचालित FX बॉट के लिए हैः संरचित मैक्रो + FX सेवन, निर्धारक मॉडल आउटपुट, और जोखिम-सीमित संकेत जनरेशन। इसके बाद, एक ही ढांचे को EUR/USD जैसी दूसरी जोड़ी तक बढ़ाएं और तुलना करें कि नीति विचलन तर्क विभिन्न क्षेत्रों में कैसे भिन्न होता है।
यदि आप सेटअप को गहरा करना चाहते हैं, तो एक दैनिक सारांश कार्य जोड़ें जो शीर्ष मैक्रो आश्चर्य को रैंक करता है और उन्हें लंदन खोलने से पहले संभावित विदेशी मुद्रा प्रभाव के लिए मैप करता है।