基于通达信协议的股票数据获取库 + Web可视化界面 + RESTful API
感谢源作者 injoyai,请支持原作者!
| 分类 | 功能 |
|---|---|
| 📊 核心功能 | 实时行情(五档盘口)、K线数据(10种周期)、分时数据、股票搜索、批量查询 |
| 🌐 Web界面 | 现代化UI、ECharts图表、智能搜索、实时刷新 |
| 🔌 RESTful API | 32个接口、完整文档、多语言示例、高性能 |
| 🐳 Docker部署 | 开箱即用、国内镜像加速、跨平台支持 |
# 克隆项目
git clone https://github.com/oficcejo/tdx-api.git
cd tdx-api
# 启动服务(已配置国内镜像加速)
docker-compose up -d
# 访问 http://localhost:8080
一键启动脚本:
docker-start.batchmod +x docker-start.sh && ./docker-start.sh# 前置要求: Go 1.22+
# 1. 下载依赖
go mod download
# 2. 进入web目录并运行
cd web
go run .
# 3. 访问 http://localhost:8080
⚠️ 注意: 必须使用
go run .编译所有Go文件,不能使用go run server.go
| 接口 | 说明 | 示例 |
|---|---|---|
/api/quote | 五档行情 | ?code=000001 |
/api/kline | K线数据 | ?code=000001&type=day |
/api/minute | 分时数据 | ?code=000001 |
/api/trade | 分时成交 | ?code=000001 |
/api/search | 搜索股票 | ?keyword=平安 |
/api/stock-info | 综合信息 | ?code=000001 |
| 接口 | 说明 |
|---|---|
/api/codes | 获取股票代码列表 |
/api/batch-quote | 批量获取行情 |
/api/kline-history | 历史K线数据 |
/api/kline-all | 完整K线数据 |
/api/kline-all/tdx | TDX源K线数据 |
/api/kline-all/ths | 同花顺源K线数据(含前复权) |
/api/index | 指数数据 |
/api/index/all | 全部指数数据 |
/api/market-stats | 市场统计 |
/api/market-count | 市场数量统计 |
/api/stock-codes | 股票代码 |
/api/etf-codes | ETF代码 |
/api/etf | ETF列表 |
/api/trade-history | 历史成交 |
/api/trade-history/full | 完整历史成交 |
/api/minute-trade-all | 全部分时成交 |
/api/workday | 交易日查询 |
/api/workday/range | 交易日范围 |
/api/income | 收益数据 |
/api/tasks/pull-kline | 创建K线拉取任务 |
/api/tasks/pull-trade | 创建成交拉取任务 |
/api/tasks | 任务列表 |
/api/server-status | 服务器状态 |
/api/health | 健康检查 |
完整API文档: API_接口文档.md
# 获取实时行情
curl "http://localhost:8080/api/quote?code=000001"
# 获取日K线
curl "http://localhost:8080/api/kline?code=000001&type=day"
# 搜索股票
curl "http://localhost:8080/api/search?keyword=平安"
# 健康检查
curl "http://localhost:8080/api/health"
import "github.com/injoyai/tdx"
// 连接服务器
c, _ := tdx.DialDefault(tdx.WithDebug(false))
// 获取行情
quotes, _ := c.GetQuote("000001", "600519")
// 获取日K线
kline, _ := c.GetKlineDayAll("000001")
Docker配置已使用国内镜像源,加速构建:
| 组件 | 镜像源 |
|---|---|
| Go基础镜像 | registry.cn-hangzhou.aliyuncs.com/library/golang |
| Alpine镜像 | registry.cn-hangzhou.aliyuncs.com/library/alpine |
| Alpine APK | mirrors.aliyun.com |
| Go Proxy | goproxy.cn + mirrors.aliyun.com/goproxy |
docker-compose up -d # 启动服务
docker-compose logs -f # 查看日志
docker-compose stop # 停止服务
docker-compose restart # 重启服务
docker-compose down # 完全清理
详细部署文档: DOCKER_DEPLOY.md
| 数据类型 | 方法 | 说明 |
|---|---|---|
| 五档行情 | GetQuote | 实时买卖五档、最新价、成交量 |
| 1/5/15/30/60分钟K线 | GetKlineXXXAll | 分钟级K线数据 |
| 日/周/月K线 | GetKlineDayAll 等 | 中长期K线数据 |
| 分时数据 | GetMinute | 当日每分钟价格 |
| 分时成交 | GetTrade | 逐笔成交记录 |
| 股票列表 | GetCodeAll | 全市场代码 |
tdx-api/ ├── client.go # TDX客户端核心 ├── protocol/ # 通达信协议实现 ├── web/ # Web应用 │ ├── server.go # 主服务器 │ ├── server_api_extended.go # 扩展API │ ├── tasks.go # 任务管理 │ └── static/ # 前端文件 ├── extend/ # 扩展功能 ├── Dockerfile # Docker镜像(国内源) ├── docker-compose.yml # Docker编排 └── docs/ # 文档
| 资源 | 链接 |
|---|---|
| 原项目 | injoyai/tdx |
| API文档 | API_接口文档.md |
| Docker部署 | DOCKER_DEPLOY.md |
| Python示例 | API_使用示例.py |
系统自动连接最快的服务器:
| IP | 地区 |
|---|---|
| 124.71.187.122 | 上海(华为) |
| 122.51.120.217 | 上海(腾讯) |
| 121.36.54.217 | 北京(华为) |
| 124.71.85.110 | 广州(华为) |
MIT License - 详见 LICENSE
如果这个项目对您有帮助,请点个 Star ⭐ 支持一下!