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