在一个已入金的 FxPro 账户上打开「Trade」标签页,应用会实时显示余额、净值、占用保证金、可用保证金与保证金水平,旁边则列出每一笔持仓和挂单。同一个登录名背后,可能是一套 MetaTrader 4 账目、一套 MetaTrader 5 账目,或者——通过配套的 cTrader 版本及其单一 cTID 登录——一个 cTrader 账户。三种不同的后端,一位交易者。这里的本地化名称 Giao dịch vàng 在越南语中意为「黄金交易」,而黄金(XAUUSD)往往正是这类数据的买家最想先对上的品种。把这个账户的当前、统一视图拉进你自己的系统,正是本页要解决的事。
读取上述任何数据,可靠的基础都是交易者本人已经持有的访问权限。MT4 与 MT5 账目对应的是只读投资者密码,cTrader 对应的是 cTID OAuth 授权。两者都能呈现余额、持仓与完整成交历史,却始终不授予下单或修改交易的权限。我们的构建严格贴着这条只读边界,并把三个平台折叠进同一套 schema,这样一个跨平台的混合组合读起来就是一条账户记录。
没有任何银行开放银行制度会去管辖一个差价合约交易账户,所以我们也不会假装有。账户持有人自己的授权就是接入通道,而且是一条干净的通道。
一个 FxPro 账户实际暴露了哪些数据
下表中的每一行,都是应用或其平台确实向账户持有人呈现的内容,并对应到它的来源以及集成方会用它做什么。
| 数据域 | 来源 | 粒度 | 可在其上构建的能力 |
|---|---|---|---|
| 账户资金 | Trade 标签页——余额、净值、保证金、可用保证金、保证金水平(MT4/MT5/cTrader) | 实时,按账户 | 投资组合看板、保证金风险与追缴监控 |
| 持仓与挂单 | Trade 标签页;cTrader reconcile | 按持仓,实时 | 敞口汇总、对冲与限额检查 |
| 已平仓成交/委托历史 | 账户历史(MT4/MT5);成交列表(cTrader) | 按每笔成交:时间、类型、手数、品种、开/平价、止损、止盈、掉期、盈亏 | 盈亏还原、税务与审计导出 |
| 交易品种与自选列表 | cTrader 自选列表、品种清单(据商店页超过 2,100 种品种) | 按品种 | 把 FxPro 品种映射到你的品种主数据 |
| 钱包与内部转账 | FxPro Wallet / FxPro Direct | 按转账 | 现金流台账、出入金对账 |
| 账户与平台元数据 | cTID / FxPro Direct | 按关联账户 | 把多个账户归回同一位客户 |
接入一个已入金账户的方式
只读凭证访问(MT4 / MT5 投资者密码)
交易者在平台的密码设置里签发一个 MetaTrader 投资者(只读)密码。我们用它连接,读取持仓和完整的账户历史;这个登录名完全不携带任何交易权限,而这正是我们想要的边界。投入小、稳定,交易者随时可以通过更改密码撤销授权。大多数 FxPro 账户就是走这条路接进来的。
cTID OAuth 授权(cTrader Open API)
对于 cTrader 上的账户,授权走的是 OAuth 2.0:交易者通过 cTID 授权并选择要共享哪些关联账户,我们用授权码换取访问令牌,先对应用鉴权,再对每个账户鉴权。消息以 Protocol Buffers 或 JSON 与 cTrader 后端往来。这条路可读取:通过 reconcile 获取的当前持仓与委托,以及带已实现盈亏的已平仓成交。它稳定,因为依托的是公开发布的协议,而不是某个屏幕界面。
对应用会话的授权协议分析
当客户需要只读登录不携带的实时报价与委托事件流时,我们会在获得账户持有人同意的前提下,记录 FxPro 应用与其服务器之间运行的交易会话。这投入更大,而且会跟随应用版本,所以我们会预留应用更新后重新验证的余地。
原生报表导出
在 MT4 终端里,账户历史右键即可选择 Save as Report,写出一个 HTML 或 Excel 文件。它是某一时点的数据而非实时,但作为对同步结果的一个干净、独立的交叉核对非常合适。
面对一个混合账目,我实际会这么做:对 MT4 和 MT5 账户取只读投资者密码,对 cTrader 上的账户加上 cTID OAuth,再把两者对账成一条记录。把账户历史导出留作对数字的独立核对。只有当有人需要只读登录漏掉的实时逐笔与委托流时,才动用完整的协议分析。
会进入你代码仓库的东西
- OpenAPI / Swagger 规范:覆盖归一化后的端点——账户、持仓、成交、钱包转账——这样无论 FxPro 数据来自哪个平台,在你这一侧都有一份干净的契约。
- 协议与鉴权流程报告:cTID OAuth 的交换(授权码 → 访问令牌 → 应用鉴权 → 账户鉴权)以及 MetaTrader 只读登录链路,逐字段记录,包含错误与重试场景。
- 可运行源码,Python 与 Node.js 两版:cTrader 的 reconcile 与成交列表拉取,加上 MT4/MT5 只读读取器,内建品种映射与 UTC 归一化。
- 自动化测试,针对一个已授权的演示账户运行,覆盖令牌刷新、空账目以及多持仓 reconcile。
- 接口文档与合规说明——只读范围界定、授权记录、留存与数据最小化建议。
一次完整的对账
最值得展示的是 cTrader 这条路,因为 OAuth 与消息序列正是大部分工作所在。下面的消息名会在构建过程中对照 cTrader Open API 文档逐一核验。
# cTrader Open API — read-only account pull (illustrative)
# 1. OAuth 2.0: trader consents via cTID; we receive a short-lived code.
# Per cTrader's auth docs the authorization code expires ~one minute
# after issue, so the exchange has to happen inside that window.
token = exchange_code_for_token(auth_code) # long-lived access token
# 2. Authenticate the application, then each consented account.
send(ProtoOAApplicationAuthReq(clientId=CID, clientSecret=SECRET))
send(ProtoOAAccountAuthReq(ctidTraderAccountId=ACC,
accessToken=token.access))
# 3. Current state: open positions + pending orders.
res = send(ProtoOAReconcileReq(ctidTraderAccountId=ACC))
# -> ProtoOAReconcileRes.position[], .order[]
# 4. Closed history: deals carrying realized P&L.
deals = send(ProtoOADealListReq(ctidTraderAccountId=ACC,
fromTimestamp=since, toTimestamp=now))
# -> ProtoOADeal[].closePositionDetail (entry, close, swap, commission)
# transport is Protobuf or JSON over the cTrader backend
MT4 和 MT5 账目则改走只读登录接入,返回的是同一种形状的数据——持仓与账户历史台账——我们再把它映射到下面这套 schema 上。
横跨 MT4、MT5 与 cTrader 的一套 schema
这次构建的意义在于:到了下游,平台是哪一个就不再重要了。无论来源如何,一个账户都归结为一条记录:
{
"broker": "FxPro",
"account_id": "<masked>",
"platform": "mt5", // mt4 | mt5 | ctrader
"currency": "USD",
"balance": 10250.40,
"equity": 10180.12,
"margin": 412.50,
"free_margin": 9767.62,
"margin_level_pct": 2467.3,
"positions": [
{ "symbol": "XAUUSD", "side": "buy", "volume": 0.10,
"open_price": 2338.55, "sl": 2310.00, "tp": 2390.00,
"swap": -1.20, "unrealized_pnl": 64.00 }
],
"deals": [
{ "symbol": "XAUUSD", "type": "sell", "volume": 0.20,
"open_price": 2351.10, "close_price": 2362.40,
"open_time": "2026-06-18T08:14:02Z",
"close_time": "2026-06-18T11:02:55Z",
"swap": -2.40, "profit": 226.00 }
]
}
这次构建中我们会提前处理好的几点
FxPro 有几处特性会影响对接工作,我们把它们当作交付的一部分来处理,而不是甩回去当成一条需求:
- 一个 FxPro 登录名可以同时混着 MT4、MT5 与 cTrader 账户。我们会识别每个账户在哪个平台上,并路由到对应的协议,这样一个跨平台拆分的组合仍然能对账成上面那条单一记录。
- cTrader 的访问令牌是长效的,但铸出它的授权码大约只有一分钟寿命。我们把 OAuth 交换构建成在这个窗口内捕获并持久化令牌,并在过期前提前刷新,让同步不会悄无声息地卡住。
- MetaTrader 的服务器时间和品种符号后缀因服务器和账户类型而异。我们把每个时间戳归一化到 UTC,并映射品种的各种变体,这样无论服务器把黄金叫 XAUUSD 还是带后缀的变体,读出来都一致。
- 整个集成都被限定为只读。因为投资者密码以及我们申请的 OAuth 范围都不携带交易权限,交付的任何部分都无法下单或修改委托——这是我们主动保持的属性,而非撞上的限制。
授权,以及账户背后的监管机构
FxPro 通过若干个实体运营,一个账户归属哪一个,取决于客户所在地区。根据 FxPro 自己的牌照披露,FxPro Global Markets Ltd 由巴哈马证券委员会授权(SIA-F184)——正是应用商店页所标注的实体——而其他客户则分别归属 FxPro UK Ltd(FCA)、FxPro Financial Services Ltd(CySEC)以及在 FSCA 注册的南非实体。面向欧盟客户的个人数据受 GDPR 约束。这些都不改变协议本身;它们改变的是我们对照记录的是谁的授权凭证与数据处理规则。
访问权限在启动阶段与账户持有人一起安排好——一个只读投资者密码,或范围限定于他们选择共享账户的 cTID OAuth 授权。我们记录授权,把留存数据最小化到项目所需的字段,并在客户要求时以 NDA 方式开展工作。授权可撤销:更改投资者密码,或撤回 cTID 授予,访问即告终止。
我们参照的界面截图
FxPro 应用的商店截图——也就是数据集成所对照的界面。点击可放大。
其他同类集成形态的经纪商
同样的问题,换一家经纪商:下面每一家都持有按账户的交易记录,统一集成会以完全相同的方式将其归一化。
- IG — 外汇、指数与股票差价合约,品种范围广,拥有自己的账户门户。
- Pepperstone — 提供 MT4、MT5 与 cTrader 账户,因此同样适用这套三平台对账。
- OANDA — 外汇与差价合约账户,交易历史记录详尽。
- eToro — 差价合约外加直接持有的股票与加密货币,并叠加跟单组合。
- Plus500 — 仅差价合约,运行于自有专有平台。
- XTB — 外汇与差价合约账户,基于 xStation 平台。
- IC Markets — 面向高交易量客户的 MetaTrader 与 cTrader 账目。
- AvaTrade — 横跨外汇、贵金属与指数的 MetaTrader 与专有平台账户。
- CMC Markets — 覆盖面广的差价合约与点差交易,账户报表内容丰富。
集成方常问的 FxPro 问题
能否把同一 FxPro 登录名下的 MT4、MT5 与 cTrader 账户对账合并成一条记录?
可以。我们会识别每个账户所在的平台,通过 MetaTrader 只读登录读取 MT4 与 MT5 的账目、通过 cTID OAuth 读取 cTrader 账户,再把三者映射进同一套归一化 schema,统一交易品种符号并使用 UTC 时间戳。
读取余额和持仓需要我的主密码吗?
不需要。在 MT4 与 MT5 上,一个 MetaTrader 投资者(只读)密码就足以查看持仓、余额与账户历史;cTrader 则使用 cTID OAuth 授权。两者都不具备下单或修改交易的权限,整个交付也被限定为只读。
账户归属哪个 FxPro 实体和监管机构,这会改变对接工作吗?
取决于客户所在地:根据 FxPro 自身披露,FxPro Global Markets Ltd 受巴哈马证券委员会(SCB)监管(SIA-F184),其余客户则分别归属 FCA、CySEC 或 FSCA 实体。协议本身不变,改变的只是我们对照记录的是谁的授权凭证与数据处理规则。
持仓和净值数据的实时性如何,导出方式又能提供什么?
通过只读登录以及 cTrader 的 reconcile 调用,余额、净值与持仓都是账户的实时数据。而以 HTML 或 Excel 导出的账户历史报表是某一时点的快照,我们把它作为同步数据的独立交叉核对。
这份材料是怎么整理出来的
2026 年 6 月,对照 FxPro 自己的帮助与牌照页面以及 cTrader Open API 文档完成映射:应用在 MT4/MT5 上展示余额与交易历史的位置、投资者(只读)密码的工作方式、FxPro 受监管的各实体,以及用于对账的 cTrader OAuth 与消息流程。查阅过的第一手来源:
- FxPro 帮助——MT4/MT5 上的账户余额与交易历史
- FxPro 帮助——创建 MT4/MT5 投资者(只读)密码
- cTrader Open API——应用与账户鉴权
- FxPro——牌照、监管与会员资格
2026-06-23 由 OpenBanking Studio 集成团队审阅。
合作方式
源码起价 300 美元进入你的代码仓库,只在交付之后、你对照真实账户核验过拉取结果后再付款——这是第一种模式。另一种是你按请求调用的托管 API,用于获取 FxPro 账户数据,没有预付费用;你只为实际发起的调用付费。无论哪种,构建都按一到两周的周期推进。通过联系页面告诉我们账户配置以及你想要的产出,我们就会接手往下走。你提供账户名与需求;访问权限与合规事项会与你一起安排。
应用简介——FxPro - Giao dịch vàng
FxPro - Giao dịch vàng(包名 com.fxpro.direct.application,据其 Play Store 商店页)是 FxPro 的移动交易应用,FxPro 是一家多资产外汇、贵金属与差价合约经纪商。该应用前端对接 MetaTrader 4 与 MetaTrader 5 账户;配套的 cTrader 版本负责 cTID 关联的账户。商店页宣称覆盖超过 2,100 种品种,横跨外汇、贵金属(含黄金)、股票、指数、期货与大宗商品,并配有用于内部转账的钱包系统。FxPro Global Markets Ltd 由巴哈马证券委员会授权并监管(SIA-F184),其姊妹实体分别归属 FCA、CySEC 与 FSCA。支持 Android 与 iOS。本简介仅为集成参考的中性归纳。