对接墨西哥股票市场 k线图表数据klinechart 数据源API

收到,这里是为您准备的 StockTV 墨西哥股票数据 (Mexico Stock Market) 对接指南。根据您的指定,确认墨西哥市场的配置参数为 countryId=7


StockTV API 对接文档:墨西哥股票市场 (Mexico)

1. 基础参数配置

  • 接口域名 : https://api.stocktv.top
  • 墨西哥 Country ID : 7
  • 主要交易所: 墨西哥证券交易所 (BMV - Bolsa Mexicana de Valores), BIVA
  • 认证方式 : URL 参数 key=您的API密钥

2. 核心接口流程

对接逻辑:先通过列表接口 查询墨西哥股票的 PID(系统ID),再使用 PID 获取K线实时行情

第一步:获取墨西哥股票列表

查询墨西哥市场的股票代码、名称及 PID。

  • 接口 : /stock/stocks

  • 方法 : GET

  • 参数 :

    • countryId: 7 (必填)
    • pageSize: 20
    • key: 您的Key
  • 请求示例 :

    http 复制代码
    GET https://api.stocktv.top/stock/stocks?countryId=7&pageSize=20&page=1&key=YOUR_KEY
  • 预期数据 :

    • id: PID (后续接口使用)
    • symbol: 股票代码 (如 "AMX", "WALMEX", "CEMEX")
    • name: 公司名称 (如 "América Móvil", "Walmex")
    • currency: MXN (墨西哥比索)

第二步:获取墨西哥指数 (IPC)

获取墨西哥主要的 S&P/BMV IPC 指数行情。

  • 接口 : /stock/indices

  • 方法 : GET

  • 参数 : countryId=7

  • 请求示例 :

    http 复制代码
    GET https://api.stocktv.top/stock/indices?countryId=7&key=YOUR_KEY

第三步:获取 K 线数据

使用第一步获取的 id (PID) 查询历史数据。

  • 接口 : /stock/kline

  • 方法 : GET

  • 参数 :

    • pid: 股票ID
    • interval: 周期 (P1D=日线, PT1H=1小时)
  • 请求示例 :

    http 复制代码
    GET https://api.stocktv.top/stock/kline?pid=12345&interval=P1D&key=YOUR_KEY

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

这是一个可以直接运行的 HTML 文件示例。它会自动请求墨西哥股票列表,打印到控制台,并允许您输入 PID 来渲染 K 线图。

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>墨西哥股票 K线演示 (CountryID=7)</title>
    <script src="https://cdn.jsdelivr.net/npm/klinecharts/dist/klinecharts.min.js"></script>
    <style>
        body { font-family: sans-serif; padding: 20px; }
        .control-panel { background: #f4f4f4; padding: 15px; margin-bottom: 20px; border-radius: 8px; }
        .log-panel { background: #333; color: #0f0; padding: 10px; height: 100px; overflow-y: scroll; font-family: monospace; margin-bottom: 10px; }
        #chart { width: 100%; height: 500px; border: 1px solid #ccc; }
        button { padding: 8px 15px; cursor: pointer; background: #007bff; color: white; border: none; border-radius: 4px; }
        input { padding: 8px; width: 200px; }
    </style>
</head>
<body>

    <h2>StockTV 墨西哥市场对接 (ID: 7)</h2>

    <div class="control-panel">
        <p>1. <strong>获取列表</strong>:点击按钮获取墨西哥股票列表,查看控制台或下方日志获取 PID。</p>
        <button onclick="fetchMexicoList()">获取墨西哥股票列表</button>
        <hr>
        <p>2. <strong>渲染K线</strong>:输入 PID 查看图表。</p>
        <input type="text" id="pidInput" placeholder="请输入股票 PID (例如: 12345)">
        <button onclick="renderChart()">生成 K 线图</button>
    </div>

    <div class="log-panel" id="logPanel">等待操作...</div>
    <div id="chart"></div>

    <script>
        // === 配置区域 ===
        const API_KEY = 'YOUR_API_KEY'; // 请在此填入您的 Key
        const COUNTRY_ID = 7;           // 墨西哥 Country ID
        const BASE_URL = 'https://api.stocktv.top';

        // 初始化图表
        const chart = klinecharts.init('chart');

        // 日志辅助函数
        function log(msg) {
            const panel = document.getElementById('logPanel');
            panel.innerHTML += `<div>> ${msg}</div>`;
            panel.scrollTop = panel.scrollHeight;
            console.log(msg);
        }

        // 1. 获取股票列表
        async function fetchMexicoList() {
            const url = `${BASE_URL}/stock/stocks?countryId=${COUNTRY_ID}&pageSize=10&page=1&key=${API_KEY}`;
            log(`正在请求列表: ${url}`);
            
            try {
                const res = await fetch(url);
                const json = await res.json();
                
                if (json.code === 200 && json.data.records) {
                    log(`获取成功! 共有 ${json.data.total} 条数据。`);
                    log("--- 前3条示例 ---");
                    json.data.records.slice(0, 3).forEach(stock => {
                        log(`名称: ${stock.name} | 代码: ${stock.symbol} | PID: ${stock.id}`);
                    });
                    log("------------------");
                    
                    // 自动填充第一个PID方便测试
                    if(json.data.records.length > 0) {
                        document.getElementById('pidInput').value = json.data.records[0].id;
                        log(`已自动填充示例 PID: ${json.data.records[0].id}`);
                    }
                } else {
                    log("错误: " + json.message);
                }
            } catch (err) {
                log("网络请求失败");
                console.error(err);
            }
        }

        // 2. 渲染 K 线
        async function renderChart() {
            const pid = document.getElementById('pidInput').value;
            if(!pid) return alert('请输入 PID');

            // 请求日线数据 P1D
            const url = `${BASE_URL}/stock/kline?pid=${pid}&interval=P1D&key=${API_KEY}`;
            log(`请求 K 线: PID=${pid}`);

            try {
                const res = await fetch(url);
                const json = await res.json();

                if (json.code === 200 && json.data) {
                    // 数据格式转换 StockTV -> KlineCharts
                    const dataList = json.data.map(item => ({
                        timestamp: item.time,
                        open: Number(item.open),
                        high: Number(item.high),
                        low: Number(item.low),
                        close: Number(item.close),
                        volume: Number(item.volume)
                    }));
                    
                    // 排序
                    dataList.sort((a, b) => a.timestamp - b.timestamp);
                    
                    chart.applyNewData(dataList);
                    log(`图表已更新,加载数据 ${dataList.length} 条`);
                } else {
                    log("无 K 线数据或 API 报错");
                }
            } catch (err) {
                log("请求 K 线失败");
                console.error(err);
            }
        }
    </script>
</body>
</html>

4. 常见墨西哥蓝筹股 (供参考)

如果在测试时需要验证数据,可以在列表中留意以下代码:

  • AMX (América Móvil)
  • WALMEX (Wal-Mart de México)
  • CEMEX (Cemex)
  • FEMSA (Fomento Económico Mexicano)
  • GMEXICO (Grupo México)
相关推荐
yue0081 小时前
C# 实现电脑锁屏功能
开发语言·c#·电脑·电脑锁屏
chilavert3181 小时前
技术演进中的开发沉思-230 Ajax:Prototype.js 重构原生 DOM
开发语言·前端·javascript
技术不打烊1 小时前
Solidity 是什么?区块链智能合约开发入门指南 下
web3·solidity
csbysj20201 小时前
SVN 标签
开发语言
CaliXz1 小时前
取出51.la统计表格内容为json数据 api
java·javascript·json
2501_930707781 小时前
如何在 C# 中分离饼图的某个区域
开发语言·c#
Rysxt_1 小时前
Vue 集成富文本编辑器教程
前端·javascript·vue.js·富文本
开发者小天1 小时前
React中的受控组件示例
前端·javascript·react.js
奋斗吧程序媛1 小时前
request请求相关
前端·javascript·vue.js