阅读时间 … 分钟

FXCM 交易策略的 AI 原生运行环境

在 Cursor、Claude Code 或任何 AI IDE 中编写 FXCM REST 和 ForexConnect SDK 策略。从 GitHub 部署到托管云运行环境中,享有原生 MCP 控制、日志和区域选择功能。

由 TradingHost 工程团队撰写

第 01 节 · 一览

一览

经纪商
FXCM (Forex Capital Markets)
经纪商类型
外汇和差价合约(CFD)经纪商,在 2017 年退出美国市场后进行了全球重组
资产类别
外汇、股指 CFD、商品 CFD、金属、加密货币 CFD(取决于具体运营实体)
支持的产品
40 多种现货外汇货币对、主流股指 CFD、金属(XAU/USD、XAG/USD)、能源,以及特定实体提供的加密货币 CFD。不接受美国客户。
运行环境模型
容器化策略运行环境
部署源
GitHub
编程语言
任何可在容器中运行的语言
常用集成
FXCM REST API, FIX 4.4, ForexConnect SDK (Java, .NET, Python, C++), fxcmpy Python 封装库, NautilusTrader (旧版适配器), 自定义连接器
AI 工作流集成
适用于 Cursor、Claude Code、GitHub Copilot 和 CLI 智能体的 MCP 控制面板
TradingHost 角色
运行环境、部署、日志、健康检查、区域选择、MCP 控制
FXCM 角色
经纪商账户、API 接入、市场准入、执行场所
监管机构
Forex Capital Markets Limited(英国 FCA 机构参考号 217689);FXCM Australia Pty Ltd(ASIC AFSL 309763);FXCM South Africa (Pty) Ltd(FSCA);FXCM 离岸实体(FSA Seychelles 等,历史遗留)。FXCM 未在 CFTC 或 NFA 注册,且不接受美国零售客户。
零售杠杆上限
英国(FCA,与 ESMA 一致)和欧盟:主要外汇为 30:1,非主要外汇和黄金为 20:1,非黄金商品和非主要股指为 10:1,股票为 5:1,加密货币 CFD 为 2:1。澳大利亚(ASIC):与 ESMA 限制一致。南非(FSCA):根据 FSCA 规则允许更高的杠杆。离岸实体可能允许更高的杠杆。
母公司披露
在 2015 年 1 月发生与瑞士法郎相关的紧急事件后,Leucadia National(现为 Jefferies Financial Group,纽约证券交易所代码:JEF)向 FXCM 提供了 3 亿美元的救援贷款。Jefferies 随后收购了 FXCM 的剩余股份;FXCM 现为 Jefferies / Global Brokerage 控股结构的一部分。
美国业务历史
2017 年 2 月 6 日,CFTC 发布命令,要求 FXCM 退出美国零售外汇市场,并支付 700 万美元的民事罚款。FXCM 将其美国客户账户转移给了 GAIN Capital(现为 StoneX 的一部分,运营 FOREX.com)。FXCM 目前不接受美国零售客户。
关联关系
TradingHost 保持独立,与 FXCM、Forex Capital Markets、Global Brokerage Inc. 或 Jefferies Financial Group 无任何关联

第 02 节 · FXCM 支持概况

FXCM 支持概况

FXCM 通过 FXCM REST API、FIX 4.4 和 ForexConnect SDK(Java、.NET、Python、C++),为英国、澳大利亚、南非及离岸实体的 FXCM 账户提供现货外汇、股指和商品 CFD,以及(取决于具体实体)加密货币 CFD。不接受美国零售客户。具体的端点信息和完整的交易品种列表请参阅 FXCM API 文档。

市场与策略模式

  • 基于 40 多种外汇货币对的 fxcmpy Python 封装库策略
  • ForexConnect SDK Java 策略
  • ForexConnect SDK .NET 策略
  • ForexConnect SDK C++ 低延迟策略
  • FIX 4.4 机构级执行
  • 主流股指和金属 CFD 策略(非美国)
  • Trading Station Web API 策略

API 接口

产品接口
40 多种现货外汇货币对、主流股指 CFD、金属(XAU/USD、XAG/USD)、能源以及(取决于具体实体)加密货币 CFD。不接受美国零售客户;美国以外地区的产品可用性取决于具体的运营实体。
连接方式
FXCM REST API;FIX 4.4(行情 + 交易会话);支持 Java、.NET、Python 和 C++ 的 ForexConnect SDK(围绕 FXCMRest 和旧版 FXCM Order2Go 传输协议的高级封装)。社区维护的 fxcmpy Python 封装库也被广泛使用。
身份验证
FXCM REST:基于令牌(Token)的身份验证(从 FXCM 客户门户网站获取账户 API 密钥)。FIX:开户后由 FXCM 颁发的 SenderCompID 和密码;实盘 FIX 会话需申请启用。生产环境的实盘 REST API 密钥需向 api@fxcm.com 发送邮件申请后颁发;模拟盘 API 密钥则无需此步骤即可获取。

第 03 节 · 使用 AI 构建

使用 AI 构建您的 FXCM 策略

选择一种集成方式,派生(fork)一个 TradingHost 框架模板,然后在 AI IDE 中编写您的策略。FXCM REST 和 ForexConnect SDK 是最常用的 TradingHost 兼容路径;FIX 4.4 可用于机构级执行。股票 CFD 不属于 FXCM 的标准产品。

  • FXCM REST API

    用于订单、账户、市场数据和交易历史的 HTTP REST 接口。

  • fxcmpy (Python 封装库)

    社区维护的 FXCM REST API Python 封装库。为 Python 算法开发者提供便捷易用的接口。

  • ForexConnect SDK

    官方提供的 Java、.NET、Python 和 C++ SDK,封装了 FXCM 的原生订单传输协议。在许多情况下,其延迟低于原生 REST。

  • FIX 4.4 或自定义连接器

    FXCM FIX 4.4 会话,或者您基于 REST API 或 ForexConnect SDK 自行构建的集成。

各框架对 FXCM 产品的支持情况

FXCM REST、fxcmpy、ForexConnect SDK 和 FIX 4.4 均覆盖 FXCM 的外汇、股指和商品交易。股票 CFD 不属于 FXCM 的产品范围。加密货币 CFD 取决于具体的 FXCM 运营实体。

框架外汇指数商品CFD加密货币 CFD
FXCM REST支持支持支持未记录支持部分支持
fxcmpy (Python)支持支持支持未记录支持部分支持
ForexConnect SDK支持支持支持未记录支持部分支持
FIX 4.4支持支持支持未记录支持部分支持

✓ 根据 FXCM 文档确认支持。“no” 表示不属于 FXCM 的标准产品。“entity-dependent” 表示可用性取决于具体的 FXCM 运营实体。

TradingHost 不绑定任何框架。它只运行您的项目。

AI 辅助编写

上述框架起步模板可与 AI IDE 完美契合。TradingHost 的 MCP 控制面板实现了闭环:AI 工具可以与您一同检查部署、查看日志并管理运行环境,但绝不会介入交易执行路径。

章节 04 · 在 TradingHost 上运行

在 TradingHost 上运行您的代码

FXCM 提供经纪商账户、REST API 和 ForexConnect SDK。TradingHost 则提供运行您 FXCM 关联策略的生产环境。

您无需在笔记本电脑、台式机、通用 VPS 或手动配置的服务器上运行策略代码,只需从 GitHub 部署到 TradingHost 托管的容器运行环境中。

您

  • 您的代码库包含您的代码。
  • 您的部署定义了其运行方式。
  • 您的策略通过 REST、FIX 或 ForexConnect SDK 连接到 FXCM。

TradingHost

  • 保持运行环境在线。
  • 呈现日志和健康检查。
  • 区域选择。
  • 受控的部署面板。

部署流程

  1. 步骤 01

    连接 GitHub

    授权 TradingHost 访问您的 GitHub 账户。

  2. 步骤 02

    关联代码库或从框架起步

    将 TradingHost 指向您现有的策略仓库,或者派生(fork)一个 TradingHost FXCM REST、fxcmpy 或 ForexConnect SDK 模板。

  3. 步骤 03

    部署到 TradingHost 容器中

    选择一个区域(针对 Forex Capital Markets Limited UK / FCA 和欧盟流量选择 EU,或选择 FXCM Australia 实体),提供您策略所需的环境变量(FXCM REST API 令牌、账户选择器或 ForexConnect SDK 凭据),然后进行部署。TradingHost 将从您的代码仓库构建容器,并在托管的 Kubernetes 基础设施上运行您的策略。

  4. 步骤 04

    监控日志和健康状况

    从 TradingHost 控制台查看实时日志、健康状况和运行状态。任何 AI IDE 都可以通过 MCP 访问相同的面板,因此 Cursor、Claude Code 或 CLI 代理可以与您一同读取部署状态并管理运行环境。

  5. 步骤 05

    更新与重新部署

    将更改推送到您的 GitHub 主分支,TradingHost 将自动重新部署。

章节 05 · 运维说明

FXCM 运维说明

在容器化云运行环境中实际运行 FXCM 策略时需要注意的潜在问题。所有陈述均转述自 FXCM、CFTC 新闻稿或相关监管机构;部署方面的指南源自 TradingHost 运行此类策略的实际经验。

  1. 01 · 美国业务历史

    CFTC 于 2017 年 2 月禁止 FXCM 开展美国零售外汇业务;客户账户转移至 GAIN Capital

    2017 年 2 月 6 日,CFTC 发布命令,认定 FXCM 隐瞒了其与某做市商的关系,要求其退出美国零售外汇市场,并支付 700 万美元的民事罚款。FXCM 的美国客户账户随后被转移至 GAIN Capital(现为 StoneX 旗下,运营 FOREX.com)。FXCM 目前不接受美国零售客户。针对美国零售交易者的策略必须使用在 CFTC 注册的经纪商,例如 OANDA Corporation 或 FOREX.com。

  2. 02 · 实盘 REST 启用

    实盘 REST API 密钥需发送电子邮件至 api@fxcm.com 申请开通

    FXCM 默认在模拟账户上提供 REST API 访问权限(便于针对相同的 API 接口进行开发)。对于实盘账户,用户必须发送电子邮件至 api@fxcm.com 并注明其账号以启用 REST 访问。这种开通延迟是 FXCM 特有的。模拟和实盘 API 密钥不能互换,请将它们视为独立的 TradingHost Secrets 条目。

  3. 03 · SDK 选择

    fxcmpy 是便捷途径;ForexConnect SDK 是低延迟途径

    fxcmpy Python 封装库是一个针对 FXCM REST API 的维护中社区库。对于高吞吐量或低延迟的策略,FXCM 的官方 ForexConnect SDK(支持 Java、.NET、Python、C++)封装了更直接的 FXCM 传输协议。大多数零售量化策略使用 fxcmpy;对延迟敏感的工作负载则使用 ForexConnect。这两个接口均可在 TradingHost 上运行。

  4. 04 · 母公司披露

    Jefferies / Global Brokerage 控股结构

    在 2015 年 1 月发生与瑞士法郎相关的偿付能力事件后,Leucadia National(现为 Jefferies Financial Group,纽约证券交易所代码:JEF)向 FXCM 提供了 3 亿美元的救援贷款,并随后成为其控股母公司。FXCM 目前在 Jefferies / Global Brokerage 控股结构下运营。在进行交易对手风险分析时请注意这一点;在法律意义上,FXCM 并非一家独立实体。

  5. 05 · 多实体运营

    杠杆和产品可用性取决于具体的 FXCM 实体

    Forex Capital Markets Limited(英国 FCA 217689)、FXCM Australia Pty Ltd(ASIC AFSL 309763)、FXCM South Africa (Pty) Ltd(FSCA)以及离岸 FXCM 实体均独立运营。英国/欧盟和澳大利亚实体适用符合 ESMA 标准的 30:1 主要货币对杠杆上限。南非和离岸实体可能允许更高的杠杆。虽然各实体的 API 接口相同,但硬编码杠杆的策略不能假定适用于所有实体。

  6. 06 · 交易报告

    EMIR、MiFID II 和 ASIC 报告由 FXCM 负责

    Forex Capital Markets Limited 根据 FCA / MiFID II / EMIR 规则进行报告。FXCM Australia Pty Ltd 根据 ASIC 衍生品交易报告规则进行报告。FXCM South Africa 根据 FSCA 规则进行报告。TradingHost 不会代表您进行监管交易报告。您在 TradingHost 上运行的策略代码属于您自身的算法活动;报告义务归属于持有您账户的 FXCM 实体。

第 06 节 · 适用对象

适用对象

TradingHost FXCM 运行环境最适合:

  • 在 AI IDE(Cursor、Claude Code)中构建策略的开发人员
  • fxcmpy Python 开发人员
  • ForexConnect SDK Java、.NET 和 C++ 开发人员
  • 美国境外的量化外汇系统化交易员
  • 从 MetaTrader 和 VPS 托管转向容器化部署的团队

连接 GitHub 并创建您的首个策略是免费的。

第 08 节 · 常见问题

常见问题

没有。TradingHost 是独立的,与 FXCM、Forex Capital Markets、Global Brokerage Inc. 或 Jefferies Financial Group 均无关联。

不是。TradingHost 不是经纪商,也不是注册投资公司。TradingHost 是运行您策略代码的云运行环境。经纪商关系、账户、杠杆、执行以及监管保护均由持有您账户的 FXCM 实体提供。

不会。您的策略代码会连接到 FXCM REST、FIX 或 ForexConnect SDK,并根据您自己的逻辑发送指令。TradingHost 仅提供运行该代码的运行环境。

不提供。FXCM REST、FIX 和 ForexConnect SDK 的访问权限由 FXCM 提供。实盘 REST 密钥需发送电子邮件至 api@fxcm.com 并注明账号进行申请。

不能。CFTC 于 2017 年 2 月发布命令,要求 FXCM 退出美国零售外汇市场。FXCM 目前未在 CFTC 注册,且不接受美国零售客户。FXCM 的美国客户账户已转移至 GAIN Capital(现为 StoneX 旗下,运营 FOREX.com)。对于美国零售策略,请参阅 OANDA 或 FOREX.com 页面。

是的,在全球范围内。FXCM 继续在美国境外通过 FCA、ASIC、FSCA 及离岸实体运营。CFTC 的命令仅禁止 FXCM 开展美国零售外汇业务,并未影响其在其他监管机构下的运营。在 2015 年 1 月发生与瑞士法郎相关的事件后,Leucadia(现为 Jefferies Financial Group)提供了 3 亿美元的救援贷款,并随后成为其控股母公司。

可以。fxcmpy 社区 Python 封装库被广泛使用,且 ForexConnect SDK 也提供了 Python 绑定。两者均可在 TradingHost 上运行。

可以。TradingHost 支持任何可在容器内运行的语言。ForexConnect SDK 提供官方的 Java、.NET、Python 和 C++ 绑定。FXCM REST 基于 HTTP,因此任何 HTTP 客户端均可使用。FXCM FIX 4.4 是标准 FIX,因此任何 FIX 引擎均可适用。

开立 FXCM 账户(非美国实体)。发送电子邮件至 api@fxcm.com 以在实盘账户上启用 REST,或使用默认已启用 REST 的模拟账户。Fork 一个 TradingHost fxcmpy 或 ForexConnect SDK 模板,或者连接您自己的 GitHub 策略仓库。关联 GitHub 仓库并创建策略是免费的;运行环境方案已在定价页面列出。

可以。杠杆由具体的 FXCM 实体设置。Forex Capital Markets Limited(FCA)和 FXCM Australia Pty Ltd(ASIC)适用符合 ESMA 标准的上限(主要货币对为 30:1)。FXCM South Africa(FSCA)及离岸实体可能允许更高的杠杆。各实体的 API 接口是相同的。

保存在您通过 GitHub 控制的 secrets 工作流中。TradingHost 在运行时通过 GitHub 仓库 secrets 读取 FXCM REST 令牌、FIX SenderCompID/密码或 ForexConnect 凭据。

可以。TradingHost 支持针对 AI IDE(包括 Cursor、Claude Code、GitHub Copilot 和基于 CLI 的 AI 智能体)的基于 MCP 的控制。MCP 是一个控制和可观测性接口,而非交易执行路径。

不。EMIR 和 MiFID II 交易报告是经纪商的责任。Forex Capital Markets Limited 根据 FCA / MiFID II / EMIR 规则进行报告。FXCM Australia 根据 ASIC 衍生品交易报告规则进行报告。FXCM South Africa 根据 FSCA 规则进行报告。TradingHost 运行您的代码;FXCM 实体负责处理监管报告。

不。TradingHost 专注于生产环境的运行和部署。回测属于您的研究技术栈,应在 NautilusTrader 等框架或 AlgoBuilder 中进行。FXCM 通过其数据导出端点提供历史数据,以供回测使用。