收到,這裏是為您準備的 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:20key:您的Key
-
請求示例:
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 -
請求示例:
GET https://api.stocktv.top/stock/indices?countryId=7&key=YOUR_KEY
第三步:獲取 K 線數據
使用第一步獲取的 id (PID) 查詢歷史數據。
- 接口:
/stock/kline - 方法:
GET -
參數:
pid: 股票IDinterval: 週期 (P1D=日線,PT1H=1小時)
-
請求示例:
GET https://api.stocktv.top/stock/kline?pid=12345&interval=P1D&key=YOUR_KEY
3. 完整代碼示例 (HTML + KlineCharts)
這是一個可以直接運行的 HTML 文件示例。它會自動請求墨西哥股票列表,打印到控制枱,並允許您輸入 PID 來渲染 K 線圖。
<!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)