How To Build An Fx Trading Bot With Hermes And Fxmacrodata banner image

Reference

Macro Education

How To Build An Fx Trading Bot With Hermes And Fxmacrodata

Build a practical FX trading bot with a Hermes model and FXMacroData. Learn how to wire macro releases, spot FX data, and rule-based risk filters into an automated signal loop you can run locally.

متوفر أيضًا في English

كيفية بناء روبوت تداول العملات الأجنبية مع هيرميس و FXMacroData

مؤلف: فريق FXMacroData
نشرت: 21 مايو 2026

تعتبر نماذج هيرميس مناسبة بشكل قوي لمساعدين تجاريين عمليين لأنها سريعة وسهلة التشغيل محلياً وقابلة للتنبؤ في سير العمل الذي يدعو الأدوات. في هذا الدليل ، ستقوم ببناء روبوت تجاري خفيف الوزن لتداول العملات الأجنبية يجمع بين تفكير هيرمس مع بيانات سوق FXMacroData حتى يتمكن من تقييم مفاجآت الكلية ، وتصنيف إعدادات التداول ، وإخراج أفكار تجارية منضبطة.

تركز الاستراتيجية على الدولار الأمريكي مقابل اليابان و تستخدم التضخم الأمريكي- لا سعر سعر السياسة في الاحتياطي الفيدراليو سعر الفائدة المحدد للبنك المركزي الياباني يمكنك إعادة استخدام نفس الإطار لأي زوج تغطيه FXMacroData.


الشروط المسبقة

  • بيئة محلية من Python 3.10+
  • مفتاح FXMacroData API من إدارة API. .
  • نقطة نهاية نموذج هيرميس (محلية أو مستضافة) ، مثل هيرمس عبر أولاما.
  • معرفة أساسية بمجالات REST API وبرامج Python.

تثبيت التبعيات:

pip install requests python-dotenv

الخطوة 1: حدد هدف الروبوت وقواعد المخاطر

قبل التشفير، قم بتثبيت نطاق القرار.

  • تداول زوج واحد فقط (USD/JPY).
  • رد فعل فقط على التغيرات الكبرى ذات التأثير العالي
  • لا تضع طلباً مباشراً أبداً تلقائياً في V1
  • الناتج: الاتجاه، والثقة، ومستوى التبديد، واقتراح حجم الموقف.

هذا يبقي الروبوت الأول مفيدًا دون تحويله إلى صندوق أسود.


الخطوة 2: سحب بيانات الماكرو والعملات الأجنبية من FXMacroData

استخدم واجهة برمجة التطبيقات مع إثبات معايير الاستفسار. ابدأ بالإصدارات وبيانات الموقع.

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&quote=JPY&api_key=YOUR_API_KEY"

يمكنك أيضاً استفسار تقويم الإصدار و تحديد موقع COT لإضافة مخاطر الحدث وتحيز الموقع إلى سياقك الفوري.


الخطوة 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 وقارن كيف تختلف منطق تباين السياسة بين المناطق.

إذا كنت تريد تعميق الإعداد، أضف وظيفة ملخص يومية التي تصنف أعلى مفاجآت الكلية وتقوم برسمها إلى تأثير العملات الأجنبية المحتملة قبل افتتاح لندن.

AI Answer-Ready

Key Facts

Page
How To Build An FX Trading Bot With Hermes And FXmacrodata
Section
Articles
Canonical URL
https://fxmacrodata.com/articles/how-to-build-an-fx-trading-bot-with-hermes-and-fxmacrodata
Source
FXMacroData editorial and official publisher references
Last Updated
2026-05-28 00: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 How To Build An FX Trading Bot With Hermes And FXmacrodata 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.

Blogroll