基于 ECB 的汇率体系说明
本插件采用 欧洲央行(ECB,European Central Bank) 发布的欧元参考汇率作为底层数据源。
ECB 在每个工作日(TARGET2 结算日)约 欧洲中部时间 15:15 完成汇率采样,约 16:00 后 通过官方渠道发布。该汇率体系是欧洲及全球外汇市场最权威、最透明的基准汇率之一,广泛应用于跨境结算、财务估值、宏观经济分析等场景。
ECB 参考汇率的定义方式为:
1 欧元 = X 单位其他货币
即所有汇率均以欧元(EUR)为基准货币,其他货币均为报价货币。这一设计具有天然优势:
- 高度标准化:便于横向比较各国货币的相对强弱;
- 便于交叉汇率计算:任意两种非欧元货币之间的汇率可由其对欧元的汇率推算得出;
- 数据链完整:ECB 汇率数据可追溯至 1999 年欧元诞生之日。
主要货币列表
| # | 代码 | 名称 |
|---|---|---|
| 1 | USD | 美元 |
| 2 | JPY | 日元 |
| 3 | BGN | 保加利亚列弗 |
| 4 | CZK | 捷克克朗 |
| 5 | DKK | 丹麦克朗 |
| 6 | GBP | 英镑 |
| 7 | HUF | 匈牙利福林 |
| 8 | PLN | 波兰兹罗提 |
| 9 | RON | 罗马尼亚列伊 |
| 10 | SEK | 瑞典克朗 |
| 11 | CHF | 瑞士法郎 |
| 12 | ISK | 冰岛克朗 |
| 13 | NOK | 挪威克朗 |
| 14 | HRK | 克罗地亚库纳 |
| 15 | TRY | 土耳其里拉 |
| 16 | AUD | 澳元 |
| 17 | BRL | 巴西雷亚尔 |
| 18 | CAD | 加元 |
| 19 | CNY | 人民币 |
| 20 | HKD | 港币 |
| 21 | IDR | 印尼盾 |
| 22 | ILS | 以色列新谢克尔 |
| 23 | INR | 印度卢比 |
| 24 | KRW | 韩元 |
| 25 | MXN | 墨西哥比索 |
| 26 | MYR | 马来西亚林吉特 |
| 27 | NZD | 新西兰元 |
| 28 | PHP | 菲律宾比索 |
| 29 | SGD | 新加坡元 |
| 30 | THB | 泰铢 |
| 31 | ZAR | 南非兰特 |
⚠️ 特别说明:俄罗斯卢布(RUB) 曾长期在 ECB 发布列表中,但自 2022 年 3 月 1 日 起已无限期暂停发布,本插件当前版本不再包含 RUB,但保留了扩展接口以备恢复。
⚠️ HRK 克罗地亚库纳, 现已加入欧元区
数据更新机制
插件通过 定时任务 自动更新 ECB 数据:
| 机制 | 说明 |
|---|---|
| 手动导入 | 首次使用时,通过后台 「数据管理 → 导入全部 ECB 历史数据」 完成完整数据导入 |
| 每日增量更新 | 系统每天凌晨自动拉取 ECB 最新发布数据,仅补充缺失日期 |
| 缓存刷新 | 每次更新后自动刷新交叉汇率缓存表,确保前台展示实时汇率 |
| 错误降级 | 若 ECB 服务器暂时不可用,系统自动使用最近可用数据,不影响前台展示 |
基础汇率表(wp_base_rates)
| 字段 | 类型 | 说明 |
|---|---|---|
currency_code | CHAR(3) | 货币代码(如 USD、CNY) |
rate | DECIMAL(20,10) | 1 EUR = X 该货币 |
rate_date | DATE | 汇率日期 |
- 唯一索引:
(currency_code, rate_date)防止重复数据 - 数据量:当前约 17.9 万条(30 种货币 × 约 6,000 个交易日)
缓存表(wp_base_cache)
| 字段 | 说明 |
|---|---|
currency_pair | 货币对(如 USDCNY) |
rate | 交叉汇率 |
change_percent | 涨跌幅(基于前一日) |
expire_time | 缓存过期时间(24 小时自动刷新) |
具象汇率大师(Nextick Pro) 以欧洲央行(ECB)官方汇率体系为核心,构建了一套完整、可信、可追溯的汇率数据基础设施:
- 数据源权威:ECB 欧元基准汇率,全球公认;
- 货币覆盖面广:30 种主要货币,覆盖全球主要经济体;
- 历史数据完整:1999 年至今,支持深度趋势分析;
- 计算逻辑严谨:交叉汇率 + 高精度运算,确保数据准确;
- 用户灵活度高:可任意切换基础货币,自动生成货币对;
- 本地化存储:一次导入,永久可用,不依赖外部 API。
这使得本插件既适用于企业级的汇率数据管理,也适用于网站前台的汇率展示、图表分析、AI 预测等多元化场景。
我的汇率设置
「我的汇率设置」是一个用户自定义汇率偏好的配置面板,允许登录用户选择自己关注的货币对,系统会自动生成对应的汇率数据并保存到用户账户中。
权限控制
| 用户类型 | 行为 |
|---|---|
| 未登录用户 | 显示只读界面,提示「登录后可以自定义您的汇率显示偏好」 |
| 已登录用户 | 完整可编辑界面,可保存设置 |
| 管理员禁用 | 如果后台关闭「允许用户自定义」,显示提示信息 |
与其他模块交互关系
兼容除侧边 汇率兑换widget 之外所有模块且不断更新中
Q: 为什么我保存设置后没有立即看到数据?
Q: 最多能选多少个货币?
Q: 为什么有些货币无法选择?
Q: 访客能看到我的设置吗?
Q: 如果管理员禁用了用户自定义功能怎么办?
时间周期选择器(Time Period Selector)
时间周期选择器是汇率表格顶部的下拉菜单,允许用户切换显示 当前、最近3天、最近7天 的汇率数据。
![图片[1]-具象汇率大师 NeTick-Pro-具象智联 Orientalnexus.cn](https://cdn.orientalnexus.cn/media/20260707175341574-banner-timeperiod-1024x714.webp)
逻辑流程图
拉取数据策略(smart_fetch)
数据来源判断逻辑
/**
* 判断今天数据的来源
*/
function get_today_data_source($pair) {
// 1. 检查 ECB 是否有今天的数据
$ecb_rate = $calculator->get_rate($base, $quote, $today);
if ($ecb_rate !== false && $ecb_rate > 0) {
return 'ecb'; // ECB 收盘价
}
// 2. 检查 API 是否有今天的数据
$api_rate = DataService::get_rate($pair);
if ($api_rate && $api_rate['last_price'] > 0) {
return 'api'; // API 实时价格
}
return 'no_data'; // 暂无数据
}
周期切换逻辑
// 用户选择周期 → 刷新页面
$select.on('change', function() {
var days = $(this).val();
var url = new URL(window.location.href);
url.searchParams.set('period', days);
window.location.href = url.toString();
});
// PHP 读取 URL 参数
$period_param = isset($_GET['period']) ? intval($_GET['period']) : 0;
if (in_array($period_param, [1, 3, 7])) {
$days = $period_param;
} else {
$days = 7; // 默认
}
K线图
K线图(Candlestick Chart)是一种用于显示汇率/价格走势的技术分析图表。每根K线包含四个价格信息:
![图片[2]-具象汇率大师 NeTick-Pro-具象智联 Orientalnexus.cn](https://cdn.orientalnexus.cn/media/20260707175117130-banner-k-1024x778.webp)
| 要素 | 说明 |
|---|---|
| 开盘价(Open) | 该时间段开始时的价格 |
| 收盘价(Close) | 该时间段结束时的价格 |
| 最高价(High) | 该时间段内的最高价格 |
| 最低价(Low) | 该时间段内的最低价格 |
颜色含义:
- 🟢 绿色阳线:收盘价 > 开盘价(上涨)
- 🔴 红色阴线:收盘价 < 开盘价(下跌)
在汇率表格中,点击任意货币对名称(如 USD/CNY),即可弹出K线图弹窗。
技术指标说明
📈 趋势类
| 指标 | 用途 |
|---|---|
| MA5 / MA10 / MA20 / MA30 / MA60 / MA120 / MA200 | 判断趋势方向和强度 |
| 布林带(上/中/下轨) | 判断支撑阻力位和波动区间 |
📊 动量类
| 指标 | 用途 |
|---|---|
| RSI | 判断超买超卖(>70超买,<30超卖) |
| MACD / MACD信号线 / MACD柱状图 | 判断趋势方向和买卖信号(金叉/死叉) |
| KDJ-K / KDJ-D / KDJ-J | 判断短期超买超卖和买卖点 |
| CCI | 判断价格是否偏离正常范围 |
| 威廉%R | 判断超买超卖 |
📉 波动类
| 指标 | 用途 |
|---|---|
| ATR | 衡量市场波动性,辅助设置止损位 |
💰 量能类
| 指标 | 用途 |
|---|---|
| 成交量 | 确认趋势可靠性 |
| OBV | 通过成交量验证价格趋势 |
建议组合
| 用户类型 | 推荐指标组合 |
|---|---|
| 新手 | MA5 + MA20 + 成交量 |
| 中级 | MA5 + MA20 + RSI + MACD + 成交量 |
| 高级 | MA5 + MA20 + MA60 + 布林带 + RSI + MACD + KDJ + 成交量 |
缩放与拖拽
| 操作 | 效果 |
|---|---|
| 滚轮滚动 | 放大/缩小K线图 |
| 拖拽图表 | 左右移动查看不同时间段 |
| 点击底部滑块 | 拖动滑块选择查看区间 |
将鼠标悬停在任意K线上,会显示该日的详细数据:
- 日期
- 开盘价、收盘价、最高价、最低价
- 各技术指标值
数据说明
| 项目 | 说明 |
|---|---|
| 数据来源 | 欧洲央行(ECB)官方历史数据 + 实时API补充 |
| 更新频率 | 每个交易日北京时间 22:00-23:00 更新 |
| 数据范围 | 支持查询 1999 年至今的历史数据 |
| 数据真实性 | 所有数据均为真实市场数据,无任何虚拟或模拟数据 |

