auto_trade_sys/trading_system/WEBSOCKET_LICENSE_FIX.md
薇薇安 0379fdf123 a
2026-01-14 13:36:30 +08:00

86 lines
2.3 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.

# WebSocket 许可证问题解决方案
## 问题描述
`unicorn-binance-websocket-api` 2.4.0 版本需要 LUCIT 商业许可证,导致 WebSocket 管理器无法启动。
## 解决方案
### 方案1使用标准 WebSocket推荐已实现
系统已自动回退到使用 `python-binance` 自带的 `BinanceSocketManager`,功能不受影响。
**优点**:
- ✅ 无需许可证
- ✅ 完全免费
- ✅ 功能完整
- ✅ 已集成在系统中
**缺点**:
- ⚠️ 性能略低于 Unicorn但对大多数场景足够
### 方案2降级到旧版本可选
如果需要使用 Unicorn WebSocket可以降级到不需要许可证的旧版本
```bash
pip uninstall unicorn-binance-websocket-api
pip install unicorn-binance-websocket-api==1.45.0
```
**注意**: 旧版本可能功能较少,但不需要许可证。
### 方案3获取 LUCIT 许可证(不推荐)
如果需要使用 Unicorn WebSocket 2.4.0+ 的高级功能,可以获取 LUCIT 许可证:
- 参考: https://medium.lucit.tech/87b0088124a8
- 需要商业许可证费用
## 当前实现
系统已实现智能回退机制:
1. **优先尝试 Unicorn WebSocket**
- 如果可用且不需要许可证,使用 Unicorn
- 性能最优
2. **自动回退到标准 WebSocket**
- 如果 Unicorn 不可用或需要许可证
- 使用 `python-binance``BinanceSocketManager`
- 功能完全兼容
3. **价格缓存机制**
- 无论使用哪种 WebSocket都会维护价格缓存
- 减少 REST API 调用
## 验证标准 WebSocket 是否工作
查看日志,应该看到:
```
⚠ Unicorn WebSocket管理器启动失败将使用标准WebSocket
提示: 系统将使用python-binance的标准WebSocket功能不受影响
```
系统会继续正常运行,使用标准 WebSocket 获取实时价格数据。
## 性能对比
| 特性 | Unicorn WebSocket | 标准 WebSocket |
|------|------------------|---------------|
| 性能 | 高 | 中 |
| 许可证 | 需要2.4.0+ | 不需要 |
| 功能 | 完整 | 完整 |
| 稳定性 | 高 | 高 |
| 推荐度 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
## 结论
**推荐使用标准 WebSocket**(当前实现):
- ✅ 无需许可证
- ✅ 功能完整
- ✅ 性能足够
- ✅ 系统已自动处理
系统会自动使用标准 WebSocket无需额外配置。