auto_trade_sys/README_ARCHITECTURE.md
薇薇安 8a89592cb5 a
2026-01-13 17:30:59 +08:00

3.4 KiB
Raw Permalink Blame History

项目架构说明

目录结构

auto_trade_sys/
├── backend/              # 后端服务FastAPI + MySQL
│   ├── api/             # FastAPI应用
│   │   ├── main.py     # API入口
│   │   ├── routes/     # API路由
│   │   └── models/     # API模型
│   ├── database/       # 数据库
│   │   ├── connection.py
│   │   ├── models.py
│   │   └── init.sql
│   ├── config_manager.py  # 配置管理器
│   └── requirements.txt
│
├── frontend/            # 前端应用React
│   ├── src/
│   │   ├── components/  # React组件
│   │   ├── services/    # API服务
│   │   └── App.jsx
│   ├── package.json
│   └── vite.config.js
│
└── [交易系统文件]       # 原有交易系统
    ├── main.py
    ├── strategy.py
    ├── position_manager.py
    └── ...

架构说明

1. 后端服务 (backend/)

技术栈:

  • FastAPIRESTful API框架
  • PyMySQLMySQL数据库连接
  • 数据库MySQL

功能:

  • 配置管理API从数据库读取/更新配置)
  • 交易记录API
  • 统计分析API
  • 仪表板数据API

部署:

  • 独立部署,可单独运行
  • 端口8000可配置
  • 支持CORS允许前端跨域访问

2. 前端应用 (frontend/)

技术栈:

  • React 18
  • Vite构建工具
  • React Router路由
  • Recharts图表库
  • AxiosHTTP请求

功能:

  • 配置管理界面(可视化配置交易参数)
  • 交易记录查看(历史交易和统计)
  • 仪表板(实时账户和持仓信息)

部署:

  • 独立部署,可单独运行
  • 开发端口3000
  • 生产构建:npm run build

3. 交易系统

功能:

  • 自动交易逻辑
  • 从数据库读取配置(优先)
  • 记录交易数据到数据库
  • 记录账户快照
  • 记录市场扫描结果
  • 记录交易信号

数据流

前端界面 → API请求 → FastAPI后端 → MySQL数据库
                                    ↓
交易系统 ← 读取配置 ← 配置管理器 ← MySQL数据库
    ↓
执行交易 → 记录数据 → MySQL数据库

配置管理流程

  1. 前端修改配置 → API更新数据库
  2. 交易系统启动 → 从数据库读取配置
  3. 配置更新 → 交易系统自动重新加载(下次扫描时)

数据库设计

核心表

  1. trading_config - 交易配置
  2. trades - 交易记录
  3. account_snapshots - 账户快照
  4. market_scans - 市场扫描记录
  5. trading_signals - 交易信号

部署方式

方式1独立部署推荐

  • 后端单独服务器或Docker容器
  • 前端Nginx静态文件服务
  • 交易系统单独进程supervisor管理

方式2一体化部署

  • 后端和交易系统在同一服务器
  • 前端通过Nginx反向代理

环境变量

后端

DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=auto_trade_sys
CORS_ORIGINS=http://localhost:3000

前端

VITE_API_URL=http://localhost:8000

启动顺序

  1. MySQL数据库
  2. 后端API服务
  3. 前端应用(开发)或部署前端(生产)
  4. 交易系统

API文档

启动后端后访问: