ICRX,BTC,OKX,量化交易
一个基于 FastAPI + Vue3 的 OKX 交易所 K线数据管理平台,支持自动获取、存储和可视化展示 K线数据。: 使用本系统前请确保遵守OKX交易所的API使用条款和限制。本项目采用 MIT 许可证 - 查看。确认后端地址配置正确。2025年6月10日。
·
https://github.com/TIZZYONE/ICRX.git
ICRX
Intelligent Cryptocurrency Robot X:
一个基于 FastAPI + Vue3 的 OKX 交易所 K线数据管理平台,支持自动获取、存储和可视化展示 K线数据。
🚀 功能特性
📊 数据管理
- 自动数据获取: 每5小时自动获取最新K线数据 (最多300条记录)
- 智能重试机制: 获取失败时每1分钟自动重试
- 产品ID验证: 添加产品时自动验证ID有效性
- 数据统计: 提供完整的数据统计和监控功能
🎯 产品管理
- 产品配置: 支持添加、编辑、删除交易产品
- 状态控制: 可启用/禁用数据获取
- 常用产品: 预设热门交易对快速添加
- 手动获取: 支持手动触发数据更新
📈 数据展示
- 实时监控: Dashboard 显示系统状态和数据概览
- 图表可视化: 支持 K线图表展示 (集成 ECharts)
- 数据查询: 灵活的数据查询和筛选功能
🛠️ 系统特性
- 现代化UI: 基于 Element Plus 的响应式设计
- 双层菜单: 清晰的导航结构
- 错误处理: 完善的错误提示和处理机制
- 日志记录: 详细的任务执行日志
🏗️ 技术架构
后端 (FastAPI)
- 框架: FastAPI + Uvicorn
- 数据库: MySQL + SQLAlchemy ORM
- 任务调度: APScheduler
- API接口: RESTful API + 自动文档生成
前端 (Vue3)
- 框架: Vue 3 + Composition API
- 路由: Vue Router 4
- 状态管理: Pinia
- UI组件: Element Plus
- 图表库: ECharts + vue-echarts
- 构建工具: Vite
📋 系统要求
- Python 3.10+
- Node.js 16+
- MySQL 5.7+
- 网络连接 (访问 OKX API)
🚀 快速开始
1. 克隆项目
git clone https://github.com/TIZZYONE/ICRX.git
2. 后端设置
安装依赖
cd back
pip install -r requirements.txt
配置环境
复制并编辑环境配置文件:
copy env_example.txt .env
编辑 .env
文件,配置数据库连接:
# 数据库配置
DATABASE_URL=mysql+pymysql://username:password@localhost:3306/okx_data
# Redis配置 (可选)
REDIS_URL=redis://localhost:6379/0
# OKX API配置
OKX_API_KEY=your_api_key
OKX_SECRET_KEY=your_secret_key
OKX_PASSPHRASE=your_passphrase
# 任务配置
FETCH_INTERVAL_MINUTES=300 # 数据获取间隔(分钟)
RETRY_INTERVAL_MINUTES=1 # 重试间隔(分钟)
MAX_CANDLES_LIMIT=300 # 最大获取数量
3. 前端设置
安装依赖
cd frontend
npm install
配置API地址
编辑 vite.config.js
确认后端地址配置正确。
4. 启动服务
方法一:分别启动
启动后端:
cd back
python main.py
启动前端:
cd frontend
npm run dev
5. 访问系统
- 前端界面: http://localhost:5173
- 后端API: http://localhost:8000
- API文档: http://localhost:8000/docs
📖 使用指南
添加交易产品
- 访问 “产品管理” -> “添加产品”
- 输入产品ID (如: BTC-USDT)
- 系统会自动验证产品ID有效性
- 验证通过后创建配置并开始获取数据
支持的产品类型
- 现货交易对: BTC-USDT, ETH-USDT, etc.
- 合约交易对: BTC-USD-SWAP, ETH-USD-SWAP, etc.
- 期权合约: BTC-USD-OPTIONS, etc.
数据获取机制
- 自动获取: 每5小时获取一次最新数据
- 获取数量: 每次最多300条K线记录
- 重试机制: 失败时每1分钟重试一次
- 手动获取: 支持立即触发数据更新
🔧 开发说明
项目结构
ICRX/
├── back/ # 后端代码
│ ├── api/ # API路由
│ ├── core/ # 核心业务逻辑
│ ├── models/ # 数据模型
│ ├── services/ # 业务服务
│ ├── tasks/ # 定时任务
│ └── main.py # 应用入口
├── frontend/ # 前端代码
│ ├── src/
│ │ ├── api/ # API接口
│ │ ├── components/ # 组件
│ │ ├── layout/ # 布局组件
│ │ ├── router/ # 路由配置
│ │ ├── stores/ # 状态管理
│ │ └── views/ # 页面视图
│ └── package.json
└── README.md
添加新的交易产品类型
- 在
back/core/okx_ops.py
中添加相应的API调用 - 更新数据模型
back/models.py
- 在前端
frontend/src/views/instruments/InstrumentAdd.vue
中添加产品模板
🐛 故障排除
常见问题
1. 数据库连接失败
- 检查MySQL服务是否启动
- 验证数据库配置信息
- 确认数据库已创建
2. API调用失败
- 检查网络连接
- 验证OKX API配置
- 确认产品ID格式正确
3. 前端页面空白
- 检查后端服务是否启动
- 查看浏览器控制台错误信息
- 确认API接口地址配置
4. Node.js 警告信息
(node:xxx) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated
这是依赖包的警告,不影响功能,可通过更新依赖解决:
cd frontend
npm update
📝 更新日志
v1.0.0
- 基础的K线数据获取和管理功能
- 产品配置管理
- 自动化数据获取和重试机制
- 现代化Web界面
- API文档自动生成
🤝 贡献指南
- Fork 项目
- 创建特性分支 (
git checkout -b feature/amazing-feature
) - 提交更改 (
git commit -m 'Add amazing feature'
) - 推送到分支 (
git push origin feature/amazing-feature
) - 打开 Pull Request
📄 许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
📞 联系方式
如有问题或建议,请通过以下方式联系:
- 邮箱: cdb699@163.com
- Issues: 在GitHub上提交issue
注意: 使用本系统前请确保遵守OKX交易所的API使用条款和限制。
持续更新:
- 增加bianace相关功能
- 套利功能
2025年6月10日
更多推荐
所有评论(0)