auto_trade_sys/README.md
薇薇安 e5cea19b6a a
2026-01-13 20:43:43 +08:00

168 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 币安自动交易系统 (Binance Automated Trading System)
基于币安API的Python自动交易系统实现自动发现涨跌幅最大的货币对并执行交易策略。
## 项目结构
```
auto_trade_sys/
├── trading_system/ # 交易系统核心Python
│ ├── main.py # 主程序入口
│ ├── config.py # 配置文件
│ ├── binance_client.py
│ ├── market_scanner.py
│ ├── risk_manager.py
│ ├── position_manager.py
│ ├── strategy.py
│ └── ...
├── backend/ # 后端服务FastAPI + MySQL
│ ├── api/ # FastAPI应用
│ ├── database/ # 数据库
│ └── ...
├── frontend/ # 前端应用React
│ ├── src/
│ └── ...
└── [文档文件]
```
**注意**:根目录不再有 `main.py`,请直接运行 `trading_system/main.py`
```
## 快速开始
### 1. 初始化数据库
```bash
mysql -u root -p < backend/database/init.sql
cd backend
python init_config.py
```
### 2. 创建虚拟环境(推荐)
```bash
# 在项目根目录创建虚拟环境供backend和trading_system共享
python3 -m venv .venv
source .venv/bin/activate # Linux/Mac
# 或 .venv\Scripts\activate # Windows
```
### 3. 启动后端服务
```bash
cd backend
pip install -r requirements.txt
export DB_HOST=localhost DB_USER=root DB_PASSWORD=xxx DB_NAME=auto_trade_sys
uvicorn api.main:app --host 0.0.0.0 --port 8000
```
### 4. 启动前端
```bash
cd frontend
npm install
npm run dev
```
### 5. 安装并启动交易系统
```bash
# 方式1使用安装脚本推荐
cd trading_system
./setup.sh
# 然后运行(确保虚拟环境已激活)
source ../.venv/bin/activate # 或 source .venv/bin/activate
python main.py
# 方式2手动安装
cd trading_system
source ../.venv/bin/activate # 激活虚拟环境
pip install -r requirements.txt
python main.py
```
**注意**:现代 Linux 系统(如 Ubuntu 22.04+)不允许直接在系统 Python 中安装包,必须使用虚拟环境。详见 `INSTALL.md`
## 功能特性
1. **自动市场扫描**每1小时扫描所有USDT永续合约发现涨跌幅最大的前10个货币对
2. **智能交易**基于技术指标的高胜率策略预期胜率60-70%
3. **严格仓位控制**
- 单笔最大仓位账户余额的5%
- 总仓位上限账户余额的30%
4. **风险控制**
- 自动止损3%(动态调整)
- 自动止盈5%
- 移动止损:保护利润
5. **可视化配置**通过Web界面管理所有配置
6. **数据统计**:查看交易记录、胜率、盈亏分析
## 技术栈
### 交易系统
- Python 3.10+
- python-binance
- asyncio
- 技术指标计算
### 后端
- FastAPI
- PyMySQL
- MySQL
### 前端
- React 18
- Vite
- Recharts
## 配置说明
### 1小时主周期配置
- **主周期**: 1小时
- **确认周期**: 4小时
- **入场周期**: 15分钟
- **扫描间隔**: 1小时
### 配置管理
- 通过前端界面http://localhost:3000/config
- 配置自动保存到数据库
- 交易系统自动读取新配置
## 文档
- `QUICK_START.md` - 快速开始指南
- `INSTALL.md` - 安装指南(虚拟环境设置)
- `DEPLOYMENT.md` - 部署指南
- `README_ARCHITECTURE.md` - 架构说明
- `PROJECT_SUMMARY.md` - 项目总结
- `trading_system/README.md` - 交易系统文档
- `backend/README.md` - 后端文档
- `frontend/README.md` - 前端文档
## 部署
### 独立部署
- **后端**: 可单独部署到服务器
- **前端**: 可单独部署Nginx静态文件
- **交易系统**: 可单独运行supervisor管理
详见 `DEPLOYMENT.md`
## 注意事项
1. **数据库**: 确保MySQL服务运行
2. **API密钥**: 在配置界面或环境变量中设置
3. **测试网**: 建议先在测试网运行
4. **风险提示**: 加密货币交易存在高风险
## 许可证
本项目仅供学习和研究使用,使用者需自行承担交易风险。