Back to skills
SKILL.md
Bb Scalper
ASecurityBB 双向套利策略:加密合约 10x 杠杆布林带均值回归。布林带收窄=横盘→在下轨买、上轨卖;三重过滤器(1h趋势/RSI/BB甜区)确认碗平放,轨对轨止盈(RR 2:1~4:1)。含实时WebSocket模拟盘(paper)、历史回测(simulate/backtest_daily)、币安永续实盘CLI(trade_exec)。触发:'bb套利'、'布林带'、'bollinger'、'横盘策略'、'NEAR'、'回测'、'模拟盘'、'paper trading'。
- 92 stars
- 0 votes
- 0 copies
- 2 views
- Added September 22, 2026
Works with
Security analysis
100/100Pro scans all 18 files and shows the line behind each finding
npx -y skills add aAAaqwq/AGI-Super-Team --skill bb-scalper --agent claude-codeAre you the author of Bb Scalper?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/aaaaqwq-bb-scalper-agi-super-team)---
name: bb-scalper
description: "BB 双向套利策略:加密合约 10x 杠杆布林带均值回归。布林带收窄=横盘→在下轨买、上轨卖;三重过滤器(1h趋势/RSI/BB甜区)确认碗平放,轨对轨止盈(RR 2:1~4:1)。含实时WebSocket模拟盘(paper)、历史回测(simulate/backtest_daily)、币安永续实盘CLI(trade_exec)。触发:'bb套利'、'布林带'、'bollinger'、'横盘策略'、'NEAR'、'回测'、'模拟盘'、'paper trading'。"
author: Daniel Li
---
# 🎯 BB 双向套利策略 — 完整策略文档
> **版本**: v2.0 三重过滤 | **更新**: 2026-08-11
> **定位**: 加密合约 10x 杠杆双向套利 Skill
> **适配币种**: USDT 永续合约(主流优先)
---
## 零、一句话说清楚
> **布林带收窄 = 横盘震荡 → 在下轨买、上轨卖;在上轨卖、下轨买。
> 不赌方向,只吃区间振荡的统计优势。**
---
## 一、策略直觉:硬币在碗里滚
想象一个碗——左边是下轨、右边是上轨。硬币在里面滚来滚去:
```
上轨 ═══════════ 🔴 做空入场 ────
│ │
│ 价格在碗里来回弹 │
│ │
下轨 ═══════════ 🟢 做多入场 ─────
```
**做多逻辑**:硬币滚到碗左边(%B < 0.15)→ 大概率弹回去 → 买入,等它滚到右边再卖
**做空逻辑**:硬币滚到碗右边(%B > 0.85)→ 大概率弹回去 → 卖出,等它滚到左边再买
但市场的碗会变形——有时变窄(没空间赚)、有时倾斜(趋势中不能做)。所以需要**三重过滤器**确认碗是稳定平的。
---
## 二、核心数学:为什么「轨对轨」是唯一解
### ❌ 错误方案:止盈放中轨(我们踩的第一个坑)
```
做多: 入场=下轨 → 止盈=中轨 → 收益=1σ
止损=下轨下面 → 风险=1σ + 缓冲
RR = 1σ / (1σ + 0.15%) < 1 ← 永远亏多赚少!
```
**扫了 20 个币,15 个在震荡,RR 没一个超过 1.1。** 数学死结,不是参数问题。
### ✅ 正确方案:轨对轨(解法一)
```
做多: 入场=下轨 → 止盈=上轨 → 收益=2σ
止损=下轨外 0.15% → 风险 ≈ 1σ + 0.15%
RR = 2σ / (1σ + 0.15%) ≈ 2:1 到 4:1 ✅
```
**一句话**:止盈必须放到对侧轨道——吃整个区间,而不是只吃到中轨。
---
## 三、三重过滤器(v2.0 核心)
### 🔴 过滤器一:趋势过滤
**检查**:1h K 线的布林带中轨斜率
```
做多: 1h 中轨不能明显下行(斜率 > -0.06%)
做空: 1h 中轨不能明显上行(斜率 < +0.06%)
斜率 < 0.03% = 走平 ✅ 最优
斜率 0.03%-0.06% = 弱趋势,顺方向可以做
斜率 > 0.06% = 明确趋势,禁止逆势
```
**为什么**:碗底在下陷 → 硬币碰到底不会弹 → 假突破扫止损。趋势过滤就是确认碗是平放的。
**实际效果**:刚才扫码,ETH/SOL/BTC/INJ 四个币做空信号全被「1h 中轨上行」拦下——这些恰好是 v1.0 里连续止损 6-8 根的元凶。
---
### 🟡 过滤器二:RSI 确认
**检查**:价格是否已经超买/超卖
```
做多: RSI < 55 才做(不在高位接盘)
RSI 30-45 加分(超卖反弹概率大)
做空: RSI > 45 才做(不在低位砸盘)
RSI 55-70 加分(超买回落概率大)
```
**直觉**:下轨 + RSI 70 = 趋势刚启动、还会继续跌,买就是接飞刀。
---
### 🟢 过滤器三:BB 甜区
**检查**:布林带宽度是否合适
```
< 0.8%: 太窄 → 10x 利润不够覆盖滑点+手续费 → 跳过
0.8-2.5%: 甜区 → 可以做
> 2.5%: 太宽 → 不是真横盘,是波动行情 → 跳过
```
**各币宽度速查**:
| 宽度 | 币种例子 | 判断 |
|------|---------|------|
| 0.71% | XRP | ❌ 太窄 |
| 0.87% | BTC | ⚠️ 刚够线 |
| 0.88% | AVAX | ✅ 甜区 |
| 1.13% | NEAR | ✅ 甜区中心 |
| 2.75% | ATOM | ❌ 太宽 |
| 47.5% | TUT | ❌ 崩溃行情 |
---
## 四、动态宽度适配(🎯 进阶)
> 当前固定甜区 0.8-2.5%。但能否根据 BB 宽度**动态调整**而非一刀切?
### 分析
```
BB宽度 1%: 10x 杠杆 → 轨对轨 10% 收益 | 止损 1.5% | RR 6.7:1
BB宽度 2%: 10x 杠杆 → 轨对轨 20% 收益 | 止损 2.3% | RR 8.7:1
BB宽度 3%: 10x 杠杆 → 轨对轨 30% 收益 | 止损 3.2% | RR 9.4:1
```
**RR 数字看上去更好看,但物理上不成立**:
1. **宽度越大 → 越不是真横盘**。3% 宽度的振荡区间,价格从下轨走到上轨需要更多时间 → 中途转向概率大增 → 实际胜率暴跌
2. **止损距离变大**。0.15% × 3% = 更大的绝对止损 → 单笔亏损变大 → 连续止损的杀伤力更大
3. **市场在 2-3% 宽度时通常不是 RANGING,是 TRENDING 的早期阶段**——RSI 已经给出方向,趋势过滤大概率拒掉
### 结论
| BB 宽度 | 状态 | 策略结论 |
|---------|------|---------|
| < 0.8% | 太窄 | 不做。等待 BB 张口。 |
| 0.8-1.5% | **最优** | NEAR 级别,标准策略 |
| 1.5-2.5% | 可做 | 接受更低胜率(~25-30%),但 RR 更高 |
| 2.5-4% | 观望 | 等收窄到 2.5% 以下再入场 |
| > 4% | 不做 | 波动行情,非套利模式 |
**建议**:当前 v2.0 的 0.8-2.5% 甜区是最优的——已经覆盖了最稳定的横盘区间。拓宽到 3-4% 会引入大量假信号,反而降低净收益。先在小范围验证,数据说话。
---
## 五、回测数据
### 表现汇总
| 币种 | 回测期 | 信号 | 胜率 | 均盈 | 均亏 | 累计 PnL |
|------|--------|------|------|------|------|-----------|
| NEAR | 168h | 31 | 35% | +13.2% | -2.5% | **+95.4%** |
| DOGE | 72h | 9 | 44% | +7.8% | -2.5% | +18.6% |
| INJ | 72h | 13 | 23% | +11.3% | -2.5% | +9.0% |
### TUTUSDT 反例
| 指标 | TUTUSDT | NEARUSDT |
|------|---------|----------|
| BB 宽度 | 47.5% | 1.13% |
| 信号数 | 100 | 31 |
| 胜率 | **1%** | 35% |
| 本金 $100 | **$-69(穿仓)** | **+$95** |
| 死因 | 宽度超大 + 单边下跌 = 被 BB 伪信号反复止损 |
---
## 六、交易参数表
| 参数 | 值 | 说明 |
|------|-----|------|
| BB 周期 | 20 | 20 根 K 线 |
| BB 标准差 | 2.0 | 2σ 布林带 |
| 入场触发 | %B < 0.15 (做多) / > 0.85 (做空) | 价格逼近轨道 |
| 止盈 | 对侧轨道(轨对轨) | 2σ 空间 |
| 止损 | 入场轨外 0.15% | 紧止损 |
| 杠杆 | 10x | 固定 |
| 单笔风险 | 2% of 本金 | |
| 最大仓位 | $100 名义价值 | |
| SL 冷却 | 连续止损后 3 根 K 线 | 防集群止损 |
| 最大持仓 | 12 根 K 线(3h) | 超时强制平仓 |
---
## 七、脚本框架
```
projects/bb-scalper/
├── SKILL.md ← 你正在读的(策略文档)
├── cli/
│ ├── kline_fetch.py → 查询合约 K 线数据
│ ├── trade_exec.py → 对接币安交易接口(入场/止盈/止损)
│ ├── trade_log.py → 记录 + 统计交易记录
│ └── simulate.py → 模拟交易(不实际下单)
├── core/
│ ├── strategy.py → 策略核心逻辑(BB + 三重过滤)
│ └── filters.py → 趋势/RSI/甜区过滤器
└── config.yaml → 可调参数(甜区/杠杆/仓位等)
```
### CLI 接口设计
```bash
# 1. K线查询
python cli/kline_fetch.py --symbol NEARUSDT --interval 15m --limit 100
python cli/kline_fetch.py --scan # 扫 20 主流合约
# 2. 交易执行
python cli/trade_exec.py --symbol NEARUSDT --side LONG \
--entry 1.592 --tp 1.610 --sl 1.589 --qty 6
# 3. 交易记录
python cli/trade_log.py --list # 列出所有交易
python cli/trade_log.py --summary # 统计摘要
python cli/trade_log.py --export-csv trades.csv
# 4. 模拟交易
python cli/simulate.py --symbol NEARUSDT --hours 168 # 历史回测
python cli/simulate.py --paper # 实时模拟(不下单)
```
---
## 八、风险说明
| 风险 | 应对 |
|------|------|
| 假突破扫止损(65%频率) | 紧止损(-2.5%),小亏频繁但不致命 |
| 大行情打破区间 | 趋势过滤拦截 + 冷却机制 |
| 滑点(止损跳空) | 仅做主流合约(USDT 永续流动性好) |
| 手续费 | 轨对轨利润(~10%)远大于手续费(0.04%) |
| 过度交易 | 三重过滤 ≥ 筛掉 60% 噪音信号 |
---
## 九、使用原则
1. **仅用于横盘震荡市场**。趋势行情中 BB 套利 = 送钱。
2. **模拟盘验证优先**。先用 `simulate.py --paper` 跑一周,确认表现再实盘。
3. **分散币种**。不要只押一个币,NEAR/AVAX/INJ 各分一部分。
4. **每次执行前跑一次 scan**。确认三重过滤仍然通过。
5. **当 BB 宽度 > 4% 或 RSI 极端时暂停**。等市场平静再入场。
---
## 十、选币准则(月/周线过滤,🎯 2026-08-11 验证)
> 从 30/60/90 天回测 + 月线/周线分析得出。**选币比参数更重要**——同样策略,
> 横盘质量好的币月赚 500-1400%,差的币回撤 50%+ 拿不住。
### 核心规律
1. **「月线震荡」≠「适合」**。ETH/LINK 月净向≈0 但月振幅 44-49%,是"大振幅波动"不是"横盘"——BB 套利照样反复止损(ETH 90 天回撤 53%)。
2. **真横盘 = 小振幅 + 温和方向**。月线振幅 < 50% 且 |净向| < 25% 才适合。
3. **振幅比方向更重要**。月振幅 < 40% 的币(BTC/BNB)回撤天然低;月振幅 > 100%(NEAR 168%)波动大,短期好长期回撤飙。
4. **高回撤 ≠ 高收益可接受**。LINK(+739%回撤57%)/ARB(+636%回撤50%)/LTC(+401%回撤61%)——实盘会腰斩,多数人拿不住。
### 选币评分表(按月线)
| 月线特征 | 判断 | 示例 |
|---------|------|------|
| 振幅 < 40% + \|净向\| < 15% | ✅ 首选,横盘最稳 | BTC / BNB |
| 振幅 < 50% + \|净向\| < 25% | ✅ 适合 | SOL / XRP |
| 振幅 < 60% + 单一方向下行 | ⚠️ 可做,注意趋势过滤 | DOT / ATOM |
| 振幅 > 100% 或 \|净向\| > 40% | ❌ 波动/趋势行情,避开 | NEAR / INJ |
| 振幅 40-50% 但 \|净向\|≈0 | ⚠️ 大振幅震荡,伪横盘 | ETH / LINK |
### 操作流程
**A. 全市场扫描(🎯 2026-08-13 新增,替代手工选币)**
> 币安 USDT 永续合约 **527 个**,逐个人工看太慢。用「预筛 → 深度分析 → 推荐」三级漏斗:
1. **轻量预筛 527 个 → 30 个候选**
- 拉币安 `exchangeInfo`,筛掉无流动性(24h 成交额过低)、非 USDT 永续、非 TRADING 状态的
- 筛掉价格异常(市值太小/买卖盘太薄)的币
- 只留流动性好、可交易的合约
2. **深度分析 30 个 → 推荐 3-5 个**
- **布林带维度**:7 天 15m BB 宽度是否持续在甜区(0.8%-2.5%)且稳定(标准差低);%B 能反复触轨(<0.15 或 >0.85)
- **趋势/动量维度**:7 天 1h 中轨斜率接近 0(|斜率|<0.03%);30 天净方向温和(|净向|<10%);振幅适中(10-40%);RSI 中枢 40-60
- **回测维度**:跑 `cli/backtest_daily.py --days 7/30`,看累计 PnL 正、最大回撤 < 20%、日均交易 ≥ 2、有交易天数占比高
3. **交叉验证**:三个维度(布林带 + 趋势 + 回测)**一致看好**的币才入选;任一维度明显矛盾(如回测好但趋势强)则降级
4. **启动 testnet 模拟盘**:`python3 cli/paper_testnet.py --symbols <推荐币> --capital 500` 跑 7 天验证
**B. 月线过滤(原方法,作为补充确认)**
1. 拉月线(6 根)算**振幅 = (最高-最低)/起点** 与**净向 = (现价-起点)/起点**
2. 筛掉振幅 > 60% 或 |净向| > 30% 的币
3. 对剩余币跑 `cli/backtest_daily.py --days 30 --min-daily 2` 看**最大回撤 < 20%** 且日均交易 ≥ 2
4. 每次入场前仍跑 `scan` 确认 15m 三重过滤通过(选币是长期过滤,15m 是入场过滤)
---
*天枢 · 2026-08-11*
Files in this skill
- SKILL.md
- cli/backtest_daily.py
- cli/kline_fetch.py
- cli/paper.py
- cli/paper_testnet.py
- cli/simulate.py
- cli/test_trade_exec.py
- cli/testnet_exec.py
- cli/trade_exec.py
- cli/trade_log.py
- config.yaml
- core/binance_client.py
- core/filters.py
- core/logger.py
- core/strategy.py
- core/test_binance_client.py
- docs/backtest-records.md
- docs/paper-reviews.md
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.