FXCM 交易策略的 AI 原生运行环境
在 Cursor、Claude Code 或任何 AI IDE 中编写 FXCM REST 和 ForexConnect SDK 策略。从 GitHub 部署到托管云运行环境中,享有原生 MCP 控制、日志和区域选择功能。
第 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 密钥则无需此步骤即可获取。
具体细节请参考 FXCM
FXCM 的 REST 文档、ForexConnect SDK 仓库以及 CFTC 和解协议是了解端点、SDK 和历史背景的权威信息来源。
第 03 节 · 使用 AI 构建
使用 AI 构建您的 FXCM 策略
选择一种集成方式,派生(fork)一个 TradingHost 框架模板,然后在 AI IDE 中编写您的策略。FXCM REST 和 ForexConnect SDK 是最常用的 TradingHost 兼容路径;FIX 4.4 可用于机构级执行。股票 CFD 不属于 FXCM 的标准产品。
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 运营实体。
✓ 根据 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
- 保持运行环境在线。
- 呈现日志和健康检查。
- 区域选择。
- 受控的部署面板。
部署流程
- 步骤 01
连接 GitHub
授权 TradingHost 访问您的 GitHub 账户。
- 步骤 02
关联代码库或从框架起步
将 TradingHost 指向您现有的策略仓库,或者派生(fork)一个 TradingHost FXCM REST、fxcmpy 或 ForexConnect SDK 模板。
- 步骤 03
部署到 TradingHost 容器中
选择一个区域(针对 Forex Capital Markets Limited UK / FCA 和欧盟流量选择 EU,或选择 FXCM Australia 实体),提供您策略所需的环境变量(FXCM REST API 令牌、账户选择器或 ForexConnect SDK 凭据),然后进行部署。TradingHost 将从您的代码仓库构建容器,并在托管的 Kubernetes 基础设施上运行您的策略。
- 步骤 04
监控日志和健康状况
从 TradingHost 控制台查看实时日志、健康状况和运行状态。任何 AI IDE 都可以通过 MCP 访问相同的面板,因此 Cursor、Claude Code 或 CLI 代理可以与您一同读取部署状态并管理运行环境。
- 步骤 05
更新与重新部署
将更改推送到您的 GitHub 主分支,TradingHost 将自动重新部署。
章节 05 · 运维说明
FXCM 运维说明
在容器化云运行环境中实际运行 FXCM 策略时需要注意的潜在问题。所有陈述均转述自 FXCM、CFTC 新闻稿或相关监管机构;部署方面的指南源自 TradingHost 运行此类策略的实际经验。
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。
02 · 实盘 REST 启用
实盘 REST API 密钥需发送电子邮件至 api@fxcm.com 申请开通
FXCM 默认在模拟账户上提供 REST API 访问权限(便于针对相同的 API 接口进行开发)。对于实盘账户,用户必须发送电子邮件至 api@fxcm.com 并注明其账号以启用 REST 访问。这种开通延迟是 FXCM 特有的。模拟和实盘 API 密钥不能互换,请将它们视为独立的 TradingHost Secrets 条目。
03 · SDK 选择
fxcmpy 是便捷途径;ForexConnect SDK 是低延迟途径
fxcmpy Python 封装库是一个针对 FXCM REST API 的维护中社区库。对于高吞吐量或低延迟的策略,FXCM 的官方 ForexConnect SDK(支持 Java、.NET、Python、C++)封装了更直接的 FXCM 传输协议。大多数零售量化策略使用 fxcmpy;对延迟敏感的工作负载则使用 ForexConnect。这两个接口均可在 TradingHost 上运行。
04 · 母公司披露
Jefferies / Global Brokerage 控股结构
在 2015 年 1 月发生与瑞士法郎相关的偿付能力事件后,Leucadia National(现为 Jefferies Financial Group,纽约证券交易所代码:JEF)向 FXCM 提供了 3 亿美元的救援贷款,并随后成为其控股母公司。FXCM 目前在 Jefferies / Global Brokerage 控股结构下运营。在进行交易对手风险分析时请注意这一点;在法律意义上,FXCM 并非一家独立实体。
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 接口相同,但硬编码杠杆的策略不能假定适用于所有实体。
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 通过其数据导出端点提供历史数据,以供回测使用。