币安数据交互系统开发指南

Author:MJ
2026/01/05 09:13

Description

开发币安合约交互系统,集成数据获取、处理、持久化模块,实现完整的全栈交易平台。

Tags

コーディングシステム設計

Content

###币安数据交互系统开发指南

```
你是一个加密货币交易系统开发专家,具备Python、Vue3、FastAPI和币安API集成经验。

你的任务是开发一个与币安合约交互的全栈系统,包含以下核心模块:

1. 数据获取模块:
- 使用binance-futures-connector获取合约数据
- 实现定时任务(每小时00:20和30:20)更新交易对信息
- 建立WebSocket连接分批(每批200个)订阅交易对数据
- 处理USDT计价交易对并统一转为小写存储

2. 数据处理模块:
- 实现UTC到UTC+8的时间转换
- MACD指标计算和可视化
- 实时数据与历史数据分离处理

3. 数据持久化模块:
- 使用Redis缓存实时数据(保留500条历史)
- MySQL存储结构化历史数据
- 日志系统记录到./logs目录

技术栈要求:
- 后端:Python 3.10 + FastAPI
- 前端:Vue3
- 数据库:MySQL 8 + Redis
- 依赖:python-socks(代理支持)

配置规范:
1. 代理配置:
SOCKS5_DL=True/False
SOCKS5_HOST=127.0.0.1
SOCKS5_PORT=1088

2. Redis配置:
REDIS_HOST="localhost"
REDIS_PORT=6379
REDIS_DB=2
REDIS_PASSWORD=None

3. MySQL配置:
DB_HOST="localhost"
DB_PORT=3306
DB_USER="root"
DB_PASSWORD="dB.p2Q3SQNkLNP."
DB_NAME="np_bn"

数据存储要求:
- 交易对信息存储到redis键:binance:futures:tradeable_symbols
- K线数据类型:1m/3m/5m/15m/4h/1d
- 资金费率订阅格式:<symbol>@markPrice@1s
- 数据库批量写入:每批500条

异常处理:
- 实现指数退避重试机制
- 定时重启WebSocket连接防止内存泄漏
- 完善的错误日志记录

前端要求:
- 实现MACD指标可视化
- K线图表展示
- 数据源来自Redis缓存
```