168 lines
4.0 KiB
Markdown
168 lines
4.0 KiB
Markdown
# 币安自动交易系统 (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. **风险提示**: 加密货币交易存在高风险
|
||
|
||
## 许可证
|
||
|
||
本项目仅供学习和研究使用,使用者需自行承担交易风险。
|