# Alpha

> Binance Alpha new coin launch detector. Uses WebSocket to monitor !miniTicker@arr stream and detects new trading pairs immediately when they appear. Maintains known symbols set in memory and triggers alert for new symbols with valid opening price.

- Skill: `kbarbel640-del/alpha` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add kbarbel640-del/alpha`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kbarbel640-del/alpha/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: kbarbel640-del (https://skillmd.com/u/kbarbel640-del)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/kbarbel640-del/alpha

---


# Binance Alpha 新币上线监控

通过 WebSocket 实时监听 Binance 所有交易对行情，第一时间发现新上线的加密货币。

## 工作原理

1. **WebSocket 连接** - 连接 Binance 流式 API (`!miniTicker@arr`)
2. **Symbol 检测** - 维护 `known_symbols` 集合，检测新出现的交易对
3. **价格验证** - 通过 REST API 确认交易对已有有效开盘价
4. **实时报警** - 立即输出新币上线信息

## 功能特性

- ⚡ **实时检测** - WebSocket 流式数据，毫秒级延迟
- 🎯 **精准过滤** - 自动过滤系统 symbol 和无效数据
- ✅ **价格确认** - 双重验证确保交易对已开放交易
- 💾 **状态持久化** - 保存已知交易对和历史报警记录
- 🔄 **自动重连** - 断线自动重连，确保监控不中断

## 前提条件

### 安装依赖

```bash
pip3 install websocket-client --user
```

## 使用方法

### 启动监控

```bash
python3 scripts/alpha.py monitor
```

输出示例：
```
🚀 Binance Alpha 新币上线监控
==================================================
📂 已加载 1847 个已知交易对
✅ WebSocket 连接成功
📊 开始监控... 已知交易对: 1847 个
⏳ 等待新币上线...

======================================================================
🚀🚀🚀 新币上线 detected! 🚀🚀🚀
======================================================================
⏰ 检测时间: 2024-02-03T15:42:18.123456
🪙 交易对: BTCUSDT
💰 当前价格: 43250.50
📊 开盘价: 43100.00
📈 24h涨跌: 150.50 (0.35%)
📦 24h成交量: 15234.56
💵 24h成交额: 658923456.78
======================================================================
```

### 查看历史报警

```bash
# 查看最近 20 条
python3 scripts/alpha.py history

# 查看最近 50 条
python3 scripts/alpha.py history --limit 50
```

输出示例：
```
📜 历史报警记录 (最近 3 条):

⏰ 2024-02-03T15:42:18.123456
🪙 BTCUSDT
💰 价格: 43250.50
📊 涨跌: 0.35%
--------------------------------------------------
⏰ 2024-02-03T14:30:22.654321
🪙 ETHUSDT
💰 价格: 2650.30
📊 涨跌: 1.20%
--------------------------------------------------
```

### 查看状态

```bash
python3 scripts/alpha.py status
```

输出：
```
📊 当前状态:

  已知交易对数量: 1847
  历史报警数量: 15
  状态文件位置: /Users/xxx/.config/alpha

  最近报警:
    时间: 2024-02-03T15:42:18.123456
    交易对: BTCUSDT
```

### 重置监控

如果需要重新开始监控（清除所有历史记录）：

```bash
python3 scripts/alpha.py reset
```

⚠️ **警告**：这将清除所有已知交易对和历史报警记录！

## 技术实现

### WebSocket 数据源

**连接地址**：`wss://stream.binance.com:9443/ws/!miniTicker@arr`

**数据格式**：
```json
[
  {
    "e": "24hrMiniTicker",
    "E": 1234567890123,
    "s": "BTCUSDT",
    "c": "43250.50",
    "o": "43100.00",
    "h": "43500.00",
    "l": "42800.00",
    "v": "15234.56",
    "q": "658923456.78"
  },
  ...
]
```

字段说明：
- `s` - Symbol (交易对)
- `c` - 最新价格
- `o` - 开盘价
- `h` - 最高价
- `l` - 最低价
- `v` - 成交量
- `q` - 成交额

### 新币检测逻辑

1. 接收 `!miniTicker@arr` 推送的所有交易对数据
2. 提取每个数据包中的 `s` (symbol) 字段
3. 检查 symbol 是否在 `known_symbols` 集合中
4. 如果不在集合中，通过 REST API 确认价格有效性
5. 确认有效后触发报警，并加入 `known_symbols`

### 价格验证

通过 Binance REST API 二次确认：
```
GET /api/v3/ticker/price?symbol=XXX
```

确保交易对已有有效开盘价（价格 > 0）。

## 配置文件

状态文件存储位置：`~/.config/alpha/`

- `known_symbols.json` - 已知的交易对集合
- `alerts_history.json` - 历史报警记录（最近100条）

## 命令参考

| 命令 | 功能 | 示例 |
|------|------|------|
| `monitor` | 启动监控 | `alpha.py monitor` |
| `history` | 查看历史 | `alpha.py history --limit 50` |
| `status` | 查看状态 | `alpha.py status` |
| `reset` | 重置数据 | `alpha.py reset` |

## 运行环境

- Python 3.7+
- 网络连接（能访问 Binance）
- 无需 API Key（使用公开 WebSocket 流）

## 使用场景

### 场景1：第一时间发现新币
```bash
# 保持监控运行
python3 scripts/alpha.py monitor

# 当有新币上线时，立即在终端看到报警
```

### 场景2：追踪历史新币表现
```bash
# 查看最近发现的新币
python3 scripts/alpha.py history --limit 10
```

### 场景3：定期清理数据
```bash
# 每周重置一次，重新统计
python3 scripts/alpha.py reset
```

## 常见问题

**错误：websocket-client 库未安装**
→ 运行: `pip3 install websocket-client --user`

**连接断开**
→ 程序会自动重连，无需手动干预

**误报（显示已存在的币）**
→ 运行 `alpha.py reset` 重置数据

**没有报警**
→ 确认 Binance 确实有新币上线，检查网络连接

**如何集成到通知系统**
→ 修改 `alert_new_coin` 函数，添加邮件/短信/钉钉等通知逻辑

## 注意事项

1. **网络要求** - 需要能访问 Binance 的 WebSocket 服务
2. **内存占用** - 维护的 symbol 集合约占用几 MB 内存
3. **误报可能** - 偶尔可能因为网络问题产生重复报警
4. **仅限现货** - 监控的是现货交易对，不包含合约

## 参考

- Binance WebSocket API: https://binance-docs.github.io/apidocs/spot/en/#websocket-market-streams
- miniTicker 文档: [references/binance_ws.md](references/binance_ws.md)

