当前位置: 首页 > news >正文

期货数据对接指南,用于获取黄金、白银、原油等大宗商品的数据。

1. 基础配置

  • 接口域名: https://api.stocktv.top
  • 期货基础路径: /futures
  • 认证方式: URL 参数 key=您的API密钥

2. 核心对接流程

第一步:获取期货品种列表 (查找 Symbol)

由于期货合约代码(Symbol)可能因交易所不同而有所差异(例如黄金可能是 XAUGCGold),第一步必须先拉取列表,找到对应的 symbol

  • 接口: /futures/list
  • 方法: GET
  • 参数: key
  • 请求示例:
    GET https://api.stocktv.top/futures/list?key=YOUR_KEY
    
  • 如何查找:
    • 黄金: 搜索关键词 "Gold" 或 "XAU"
    • 白银: 搜索关键词 "Silver" 或 "XAG"
    • 原油: 搜索关键词 "Oil", "WTI", "Brent" 或 "CL"

第二步:获取实时行情 (Real-time Quote)

获取特定品种的最新买卖价、涨跌幅。

  • 接口: /futures/querySymbol
  • 方法: GET
  • 参数:
    • symbol: 品种代码 (第一步获取的)
  • 请求示例 (假设黄金代码为 XAU):
    GET https://api.stocktv.top/futures/querySymbol?symbol=XAU&key=YOUR_KEY
    
  • 响应示例:
    {"code": 200,"data": [{"symbol": "XAU","name": "Gold Spot","buy": "2350.50",    // 买价"sell": "2350.80",   // 卖价"last_price": "2350.60", // 最新价"chg_pct": "0.45",   // 涨跌幅"time": "2024-05-20"}]
    }
    

第三步:获取 K 线数据 (Chart Data)

获取用于绘制图表的历史数据。

  • 接口: /futures/kline
  • 方法: GET
  • 参数:
    • symbol: 品种代码
    • interval: 周期 (注意期货接口的周期定义与股票略有不同)
      • 1, 5, 15, 30, 60 (分钟)
      • 1d (日线)
  • 请求示例:
    GET https://api.stocktv.top/futures/kline?symbol=XAU&interval=1d&key=YOUR_KEY
    

3. 完整代码示例 (HTML + JavaScript)

这是一个完整的演示页面。它包含两个功能:

  1. 自动搜索品种:点击按钮自动在列表中查找黄金、白银、原油的 Symbol。
  2. 渲染图表:使用找到的 Symbol 绘制 K 线图。
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>StockTV 期货行情 (黄金/原油)</title><script src="https://cdn.jsdelivr.net/npm/klinecharts/dist/klinecharts.min.js"></script><style>body { font-family: sans-serif; padding: 20px; background-color: #f0f2f5; }.container { max-width: 1000px; margin: 0 auto; background: white; padding: 20px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }.btn-group { margin-bottom: 20px; display: flex; gap: 10px; }button { padding: 10px 20px; border: none; border-radius: 4px; cursor: pointer; background-color: #007bff; color: white; font-size: 14px; }button:hover { background-color: #0056b3; }.status-bar { margin-bottom: 10px; padding: 10px; background: #e6f7ff; border: 1px solid #91d5ff; border-radius: 4px; color: #0050b3; font-size: 14px; }#chart { width: 100%; height: 500px; border: 1px solid #eee; }</style>
</head>
<body><div class="container"><h2>StockTV 全球期货数据演示</h2><div class="status-bar" id="status">请点击下方按钮加载数据...</div><div class="btn-group"><button onclick="loadCommodity('Gold', '黄金')">加载 黄金 (Gold)</button><button onclick="loadCommodity('Silver', '白银')">加载 白银 (Silver)</button><button onclick="loadCommodity('Oil', '原油')">加载 原油 (Oil)</button><button onclick="loadCommodity('Gas', '天然气')">加载 天然气 (Gas)</button></div><div id="chart"></div>
</div><script>// === 配置您的 API Key ===const API_KEY = 'YOUR_API_KEY'; // TODO: 替换为您的 Keyconst BASE_URL = 'https://api.stocktv.top';const chart = klinecharts.init('chart');function updateStatus(msg) {document.getElementById('status').innerText = msg;}/*** 1. 智能查找品种 Symbol* 先获取列表,然后模糊匹配名称*/async function findSymbol(keyword) {updateStatus(`正在期货列表中搜索 "${keyword}" ...`);const url = `${BASE_URL}/futures/list?key=${API_KEY}`;try {const res = await fetch(url);const json = await res.json();if (json.code === 200 && json.data) {// 在列表中查找名称包含 keyword 的项 (不区分大小写)const target = json.data.find(item => item.name.toLowerCase().includes(keyword.toLowerCase()) || item.symbol.toLowerCase().includes(keyword.toLowerCase()));return target;}} catch (e) {console.error(e);updateStatus("网络请求失败,请检查控制台");}return null;}/*** 2. 加载数据主流程*/async function loadCommodity(keyword, displayName) {// 第一步:查找 Symbolconst commodity = await findSymbol(keyword);if (!commodity) {updateStatus(`未找到 "${displayName}" 相关的期货合约,请尝试其他关键词。`);return;}const symbol = commodity.symbol;updateStatus(`找到合约: ${commodity.name} (${symbol})。正在加载 K 线...`);// 第二步:获取 K 线数据 (日线 1d)// 注意:期货接口 interval 定义: 1, 5, 15, 30, 60, 1dconst klineUrl = `${BASE_URL}/futures/kline?symbol=${symbol}&interval=1d&key=${API_KEY}`;try {const res = await fetch(klineUrl);const json = await res.json();if (json.code === 200 && json.data) {// 转换数据格式// 期货接口返回: date (字符串时间), open, close, high, low, volume, timestamp (秒级)const dataList = json.data.map(item => ({timestamp: item.timestamp * 1000, // 转换为毫秒open: parseFloat(item.open),high: parseFloat(item.high),low: parseFloat(item.low),close: parseFloat(item.close),volume: parseFloat(item.volume)}));// 排序dataList.sort((a, b) => a.timestamp - b.timestamp);chart.applyNewData(dataList);updateStatus(`成功加载 ${displayName} (${symbol}) 的日线数据,共 ${dataList.length} 条。最新价: ${dataList[dataList.length-1].close}`);} else {updateStatus(`获取 K 线数据失败: ${json.message}`);}} catch (e) {console.error(e);updateStatus("K线请求发生错误");}}
</script></body>
</html>
http://www.jsqmd.com/news/72448/

相关文章:

  • GEO公司推荐敢说真话版:2025年度哪些GEO服务商的口碑好? - 资讯焦点
  • 2025 适合上班族的代餐品牌推荐,便携即食,低热量款液体代餐评测 - 品牌2026
  • 2025智能机器人行业全景解析:巡检/消毒/安保巡逻10大品牌排名与未来趋势/优质厂家品牌推荐,支持定制 - 品牌推荐大师1
  • 外贸建站公司哪家好? - 栗子测评
  • 2025年AI学习机选购指南:5大品牌深度测评,普娃家长必看 - 品牌测评鉴赏家
  • 2025设备隔音房推荐TOP5:抛丸机/冲槽机隔音房厂家权威 - mypinpai
  • 聚焦机器学习与机器人技术的re:MARS大会
  • 聚焦机器学习与机器人技术的re:MARS大会
  • 北京众品众知餐饮管理有限公司的服务质量怎样?实力如何? - myqiye
  • 2025 年,最值得加盟的自习室品牌全解析! - 品牌测评鉴赏家
  • 2025 年,最值得加盟的自习室品牌全解析! - 品牌测评鉴赏家
  • 2025-2026北京律师事务所靠谱排行榜:专业能力与胜诉率深度解析(含口碑排名白皮书) - 苏木2025
  • 2025年琉璃瓦厂家推荐及选择指南:TOP 5 琉璃瓦厂家推荐排行榜,哪家好?哪家靠谱?选哪家? - AIEO
  • 2025国内专业谷歌推广服务商权威榜:浙江亿企邦领衔 - GEO排行榜
  • 外贸独立站建站平台有哪些? - 栗子测评
  • 新生儿纸尿裤推荐品牌|好奇深睡大师:0-4 岁宝宝深睡守护首选 - 速递信息
  • 2025年中国翅片机隔音房公司实力排名:看看翅片机隔音房哪家 - mypinpai
  • 外贸独立站建站公司服务商有哪些? - 栗子测评
  • Drizzle ORM 全面介绍
  • 2025年静音房测试静音箱推荐TOP5权威榜单:甄选工业降噪 - myqiye
  • 2025年哈尔滨有实力的开业庆典策划企业推荐,开业庆典策划公 - 工业推荐榜
  • 2025年哈尔滨演出活动策划公司排名:资质齐全的演出活动策划 - 工业品牌热点
  • 2025年邮件服务器软件哪个好?这款国产软件值得推荐 - U-Mail邮件系统
  • CTP技术国产化替代浪潮:十大品牌深度解析与推荐 - 匠子网络
  • 第三方油漆检测有什么项目/有哪些标准/多久出报告?第三方油漆检测专业机构排名及推荐,哪家专业?哪家靠谱?(2025年12月版) - 品牌推荐大师1
  • 2025年五大智能客服平台大PK:谁才是中小企业的“省钱神器”?
  • 2025义乌小商品外贸推广服务商权威排行榜发布 - GEO排行榜
  • 你的模拟量通道不是坏,是被“用坏”的:7 个典型现场错误一次讲清
  • 小程序开发定制,商城模板制作,外卖跑腿,点餐软件等源码
  • 为什么高端相机都要配它?图像采集卡的3大核心使命