# Pacifica 后台交易系统 一个纯后台运行的 Pacifica 多账户 BTC 对冲刷量交易系统,通过配置文件控制所有功能,无需 API 交互。 ## 🚀 特性 - **纯后台运行**: 无 API 交互,完全通过配置文件控制 - **多账户管理**: 支持多个交易账户的协调管理 - **自动任务调度**: 基于 cron 表达式的自动任务执行 - **实时监控**: 系统状态、性能指标和告警监控 - **风险控制**: 多层次风险管理和自动停止机制 - **配置驱动**: 所有功能通过 JSON 配置文件控制 - **守护进程**: 系统级守护进程,支持优雅关闭和自动重启 ## 📋 系统架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ Pacifica 后台交易系统 │ ├─────────────────────────────────────────────────────────────┤ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ 守护进程 │ │ 后台系统 │ │ 任务调度器 │ │ │ │ Daemon │ │ BackendSystem│ │TaskScheduler│ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ 监控系统 │ │ 配置管理 │ │ 账户管理 │ │ │ │ Monitoring │ │ Config │ │ Account │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ 订单协调 │ │ 风险管理 │ │ 审计日志 │ │ │ │ Order │ │ Risk │ │ Audit │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` ## 🛠️ 安装和配置 ### 1. 环境要求 - Node.js 18.0.0 或更高版本 - TypeScript 5.0.0 或更高版本 - 足够的系统资源(建议 2GB+ RAM) ### 2. 安装依赖 ```bash npm install ``` ### 3. 配置文件设置 #### 系统配置文件 (`config/system-config.json`) ```json { "system": { "name": "Pacifica Wash Trading System", "version": "1.0.0", "environment": "development", "logLevel": "info", "maxConcurrentSessions": 5, "sessionTimeout": 3600000, "healthCheckInterval": 30000 }, "trading": { "defaultSymbol": "BTC-PERP", "maxOrderSize": 1.0, "minOrderSize": 0.001, "maxSlippage": 0.01, "orderTimeout": 30000, "retryAttempts": 3 }, "risk": { "maxTotalVolume": 100.0, "maxNetExposure": 0.1, "maxDailyLoss": 1000.0, "positionLimit": 10.0, "stopLossThreshold": 0.05 }, "automation": { "enabled": true, "autoStartSessions": true, "autoStopOnRisk": true, "scheduleConfig": "0 */6 * * *", "maxRunningSessions": 3 } } ``` #### 自动会话配置 (`config/auto-sessions.json`) ```json { "autoSessions": [ { "id": "auto-session-1", "name": "BTC 等量交易会话", "enabled": true, "strategy": { "type": "EQUAL_VOLUME", "symbol": "BTC-PERP", "parameters": { "volumePerOrder": 0.01, "priceSpread": 0.0001, "interval": 5000 } }, "accounts": ["account-1", "account-2"], "targetVolume": 1.0, "duration": 3600000, "schedule": { "enabled": true, "cron": "0 9 * * *", "timezone": "Asia/Shanghai" } } ] } ``` #### 账户配置 (`config/accounts.json`) ```json [ { "id": "account-1", "name": "主账户", "apiKey": "encrypted_api_key", "privateKey": "encrypted_private_key", "address": "0x...", "balance": { "total": 10000, "available": 10000, "used": 0 }, "riskLimits": { "maxPosition": 1.0, "dailyVolume": 100.0, "maxLoss": 500.0 }, "isActive": true } ] ``` ## 🚀 运行系统 ### 开发模式 ```bash npm run dev ``` ### 生产模式 ```bash # 构建项目 npm run build # 启动守护进程 npm start ``` ### 后台运行 ```bash # 使用 nohup 后台运行 nohup npm start > logs/daemon.log 2>&1 & # 或使用 PM2 pm2 start dist/daemon.js --name pacifica-daemon ``` ## 📊 系统管理 ### 查看状态 ```bash # 查看进程状态 npm run status # 查看日志 tail -f logs/daemon.log ``` ### 停止系统 ```bash # 优雅停止 npm run stop # 或发送信号 kill -TERM ``` ### 重启系统 ```bash npm run restart ``` ## 🔧 配置管理 ### 重新加载配置 ```bash # 发送 SIGHUP 信号重新加载配置 kill -HUP ``` ### 生成状态报告 ```bash # 发送 SIGUSR1 信号生成状态报告 kill -USR1 ``` ### 重启服务 ```bash # 发送 SIGUSR2 信号重启服务 kill -USR2 ``` ## 📈 监控和日志 ### 日志文件 - `logs/daemon.log` - 守护进程日志 - `logs/system.log` - 系统日志 - `logs/monitoring-report-*.json` - 监控报告 - `logs/status-report-*.json` - 状态报告 ### 监控指标 - 系统资源使用率(内存、CPU) - 交易会话状态和性能 - 任务执行统计 - 错误率和告警 ### 告警规则 - 内存使用率 > 80% - 错误率 > 10 - 会话成功率 < 70% ## 🛡️ 风险管理 ### 自动风险控制 - 最大并发会话数限制 - 单账户风险限制 - 全局风险限制 - 自动停止机制 ### 风险指标 - 总交易量限制 - 净敞口限制 - 最大损失限制 - 持仓限制 ## 🔄 任务调度 ### 支持的任务类型 - **自动会话**: 按计划启动交易会话 - **健康检查**: 定期检查系统健康状态 - **清理任务**: 清理过期数据和日志 - **监控任务**: 实时监控系统状态 ### Cron 表达式示例 ```bash # 每天上午9点启动 0 9 * * * # 每6小时启动一次 0 */6 * * * # 每分钟检查一次 */1 * * * * ``` ## 📁 项目结构 ``` pacifica-wash-trading-system/ ├── src/ │ ├── core/ # 核心系统 │ │ ├── BackendSystem.ts # 后台系统 │ │ ├── ConfigManager.ts # 配置管理 │ │ ├── TaskScheduler.ts # 任务调度 │ │ └── MonitoringSystem.ts # 监控系统 │ ├── services/ # 服务层 │ ├── models/ # 数据模型 │ ├── strategies/ # 交易策略 │ ├── utils/ # 工具类 │ └── daemon.ts # 守护进程入口 ├── config/ # 配置文件 ├── logs/ # 日志文件 ├── tests/ # 测试文件 └── package.json ``` ## 🔒 安全考虑 - 敏感数据加密存储 - 配置文件权限控制 - 进程隔离运行 - 日志脱敏处理 ## 🐛 故障排除 ### 常见问题 1. **进程无法启动** - 检查端口占用 - 验证配置文件格式 - 查看错误日志 2. **任务不执行** - 检查 cron 表达式 - 验证账户配置 - 查看任务日志 3. **内存使用过高** - 调整并发会话数 - 检查内存泄漏 - 优化配置参数 ### 调试模式 ```bash # 启用调试日志 export LOG_LEVEL=debug npm run dev ``` ## 📞 支持 如有问题或建议,请: 1. 查看日志文件 2. 检查配置文件 3. 提交 Issue 4. 联系技术支持 ## 📄 许可证 MIT License - 详见 [LICENSE](LICENSE) 文件 --- **注意**: 本系统仅用于学习和研究目的,请遵守相关法律法规和交易所规则。