# 项目结构说明

## 目录结构

```
auto_trade_sys/
├── trading_system/          # 交易系统核心（Python）
│   ├── __init__.py
│   ├── main.py             # 主程序入口
│   ├── config.py           # 配置文件
│   ├── binance_client.py   # 币安客户端
│   ├── market_scanner.py   # 市场扫描器
│   ├── risk_manager.py     # 风险管理
│   ├── position_manager.py # 仓位管理
│   ├── strategy.py         # 交易策略
│   ├── indicators.py       # 技术指标
│   ├── unicorn_websocket.py # Unicorn WebSocket
│   ├── config.example.py   # 配置示例
│   ├── requirements.txt    # 依赖
│   └── README.md           # 文档
│
├── backend/                 # 后端服务（FastAPI + MySQL）
│   ├── api/                # FastAPI应用
│   │   ├── main.py        # API入口
│   │   ├── routes/        # 路由
│   │   └── models/        # API模型
│   ├── database/          # 数据库
│   │   ├── connection.py
│   │   ├── models.py
│   │   └── init.sql
│   ├── config_manager.py  # 配置管理器
│   ├── init_config.py     # 配置初始化
│   ├── requirements.txt   # 依赖
│   ├── start.sh          # 启动脚本
│   └── README.md         # 文档
│
├── frontend/               # 前端应用（React）
│   ├── src/
│   │   ├── components/   # React组件
│   │   ├── services/     # API服务
│   │   └── App.jsx
│   ├── package.json
│   ├── vite.config.js
│   └── README.md
│
├── requirements.txt        # 项目依赖说明
├── README.md              # 项目主文档
└── [其他文档文件]
```

## 模块说明

### trading_system/ - 交易系统核心

**功能**：
- 自动市场扫描
- 技术指标分析
- 交易策略执行
- 风险控制
- 仓位管理

**运行方式**：
```bash
# 方式1：直接运行（推荐）
cd trading_system
python main.py

# 方式2：从项目根目录运行
python -m trading_system.main
```

### backend/ - 后端服务

**功能**：
- RESTful API
- 配置管理
- 数据统计
- 数据库操作

**运行方式**：
```bash
cd backend
uvicorn api.main:app --host 0.0.0.0 --port 8000
```

### frontend/ - 前端应用

**功能**：
- 配置管理界面
- 交易记录查看
- 统计仪表板

**运行方式**：
```bash
cd frontend
npm install
npm run dev
```

## 依赖管理

每个模块有独立的 `requirements.txt`：

- `trading_system/requirements.txt` - 交易系统依赖
- `backend/requirements.txt` - 后端API依赖
- `frontend/package.json` - 前端依赖

## 导入路径

### 交易系统内部导入

交易系统模块使用相对导入，支持：
- 直接运行：`from binance_client import ...`
- 作为模块：`from .binance_client import ...`

### 跨模块导入

交易系统访问后端：
```python
project_root = Path(__file__).parent.parent
backend_path = project_root / 'backend'
sys.path.insert(0, str(backend_path))
from database.models import ...
```

## 配置文件

### 交易系统配置

- `trading_system/config.py` - 主配置文件
- 优先从数据库读取
- 回退到环境变量和默认值

### 后端配置

- 环境变量：`DB_HOST`, `DB_USER`, `DB_PASSWORD` 等
- 数据库配置表：`trading_config`

## 日志文件

- 交易系统日志：`trading_bot.log`（项目根目录）
- 后端日志：可配置（默认控制台输出）

## 部署建议

### 开发环境

所有模块在同一台机器运行：
- 后端：localhost:8000
- 前端：localhost:3000
- 交易系统：后台运行

### 生产环境

可独立部署：
- 后端：单独服务器或Docker
- 前端：Nginx静态文件
- 交易系统：supervisor管理

详见 `DEPLOYMENT.md`
