# Pacifica Delta中性交易系统 - 优化集成指南 ## 🚀 已实施的优化 ### 1. 保证金管理优化 ✅ - **阈值调整**: 75% (原85%),更早介入防止爆仓 - **减仓比例**: 30% (原20%),更快释放保证金 - **检查间隔**: 5秒 (原10秒),更快响应市场变化 **配置文件**: `config/trading-strategy.json` ```json "dynamicPositionAdjustment": { "maxMarginUsageThreshold": 0.75, "targetMarginRelease": 0.3, "checkInterval": 5000 } ``` ### 2. WebSocket错误恢复机制 ✅ - **指数退避重连**: 避免频繁重试造成资源浪费 - **致命错误处理**: 502/503错误自动退出进程,等待外部重启 - **连续失败保护**: 连续5次失败后退出进程 **实现文件**: `src/services/PacificaWebSocket.ts` - 最大重连次数: 100次 - 基础延迟: 5秒,指数增长至最大60秒 - 添加随机抖动防止同时重连 ### 3. 余额不足检测和暂停机制 ✅ - **预先检查**: 下单前检查账户余额 - **智能暂停**: 连续5次余额不足自动暂停60秒 - **缓冲保护**: 保留10%余额缓冲 **实现文件**: `scripts/run-delta-neutral-simple.ts` ```typescript checkAccountBalance() // 余额检查 handleInsufficientBalance() // 处理余额不足 ``` ### 4. 自动重启脚本 ✅ #### 方式1: Shell脚本 ```bash # 启动自动重启监控 yarn trade:auto # 功能特性: - 进程崩溃自动重启 - 无输出超时检测(5分钟) - 连续失败延长等待时间 - 最大重启100次 ``` #### 方式2: PM2进程管理(推荐) ```bash # 安装PM2 npm install -g pm2 # 启动交易程序 yarn trade:pm2 # 停止程序 yarn trade:pm2:stop # 查看日志 yarn trade:pm2:logs # 监控面板 yarn trade:pm2:monitor ``` **PM2优势**: - 内存超过2G自动重启 - 指数退避重启策略 - 完整的日志管理 - Web监控面板 - 集群模式支持 ### 5. 健康检查系统 ✅ ```bash # 运行健康检查 yarn health # PM2定时健康检查(每分钟) # 自动配置在ecosystem.config.js中 ``` **检查项目**: - 日志文件活动状态 - 交易统计和错误率 - 内存使用情况 - 自动告警通知(需配置Webhook) ## 📊 运维命令汇总 ### 基础命令 ```bash # 正常启动交易 yarn trade # 自动重启模式 yarn trade:auto # PM2管理模式 yarn trade:pm2 # 检查仓位 yarn positions # 紧急减仓 yarn reduce # 清理订单 yarn cleanup-orders # 健康检查 yarn health ``` ### PM2管理命令 ```bash # 启动所有服务 pm2 start ecosystem.config.js # 重启服务 pm2 restart delta-neutral-trading # 查看状态 pm2 status # 查看日志 pm2 logs # 监控CPU/内存 pm2 monit # 保存进程列表 pm2 save # 设置开机自启 pm2 startup ``` ## 🔧 配置优化建议 ### 1. 生产环境配置 ```json // config/trading-strategy.json { "orderStrategy": { "preferredOrderType": "market", // 市价单保证成交 "checkInterval": 10 }, "positions": { "balanceUsageRatio": 0.8, // 使用80%余额 "basePositionRatio": 0.2, // 20%基础仓位 "volumePositionRatio": 0.8 // 80%刷量仓位 }, "dynamicPositionAdjustment": { "enabled": true, "maxMarginUsageThreshold": 0.75, "targetMarginRelease": 0.3, "checkInterval": 5000 }, "retry": { "maxAttempts": 3, "delayMs": 10000, "apiCallInterval": 2000 } } ``` ### 2. 监控配置 ```bash # 设置告警Webhook(Slack/Discord) export ALERT_WEBHOOK_URL="https://hooks.slack.com/services/xxx" # 启动监控 yarn trade:pm2 ``` ## 🚨 故障处理 ### WebSocket 502错误 - **自动处理**: 系统会自动重连,超过限制后退出 - **手动处理**: 重启服务 `yarn trade:pm2:stop && yarn trade:pm2` ### 余额不足错误 - **自动处理**: 暂停60秒后自动恢复 - **手动处理**: 充值账户或运行 `yarn reduce` 减仓 ### 保证金告警 - **自动处理**: 自动减仓30%释放保证金 - **手动处理**: 运行 `yarn reduce` 紧急减仓 ### 进程崩溃 - **PM2模式**: 自动重启,最多100次 - **Shell模式**: 运行 `yarn trade:auto` ## 📈 性能监控 ### 查看实时状态 ```bash # PM2监控面板 yarn trade:pm2:monitor # 查看日志 tail -f logs/trading.log # 查看统计 cat logs/stats.json | jq '.' # 查看健康状态 cat logs/health.json | jq '.' ``` ### 关键指标 - **保证金使用率**: < 75% - **错误率**: < 10% - **内存使用**: < 2GB - **日志更新**: < 5分钟 ## 🔄 更新和维护 ### 更新配置 1. 编辑 `config/trading-strategy.json` 2. 重启服务: `pm2 restart delta-neutral-trading` ### 更新代码 ```bash # 拉取最新代码 git pull # 重新构建 yarn build # 重启服务 pm2 restart ecosystem.config.js ``` ### 备份数据 ```bash # 备份日志 cp -r logs/ logs_backup_$(date +%Y%m%d)/ # 备份配置 cp -r config/ config_backup_$(date +%Y%m%d)/ ``` ## 📞 支持 遇到问题请检查: 1. 日志文件: `logs/trading.log` 2. 健康状态: `logs/health.json` 3. PM2状态: `pm2 status` 4. 系统资源: `top` 或 `htop` --- **最后更新**: 2025-10-01 **版本**: 1.0.0-optimized