# 策略与信号评估及改进建议

基于持仓记录（2026-02-16）、当前策略逻辑与币安接口文档，对「长时间持仓、盈利不明显」做简要诊断，并给出可落地的改进方向。

---

## 一、持仓与信号现状简要诊断

### 1. 持仓样本（来自 持仓记录_2026-02-16）

- **数量**：约 12 个持仓，多空混合（BUY 少、SELL 多）。
- **盈亏分布**：部分有 +15%、+13%、+9% 等浮盈，多数在 -5%～+2% 区间横盘，整体「拿得久、盈利不突出」。
- **共性**：
  - 入场依赖 1H/4H 技术信号（MACD + EMA + 4H 趋势），**无资金费率、多空结构、订单流等过滤**，容易在「结构不利」时开仓。
  - 止损/止盈为固定比例或 ATR，**无跟踪止损、无时间止损**，盈利单容易回吐，亏损单容易长期挂单。
  - 选币主要按 24h 涨跌幅 + 成交量 + signal_strength 排序，**未用资金费率、大户多空比、主动买卖量等** 做过滤或排序。

### 2. 当前信号与选单逻辑（简要）

- **扫描**：24h 涨跌幅 ≥ 阈值 + 成交量 ≥ MIN_VOLUME_24H_STRICT → 对每个 symbol 拉 1H/4H K 线 → 算 RSI、MACD、EMA、4H 趋势 → 算 **signal_strength**（0–10），按强度排序取 TOP_N。
- **开仓条件**：signal_strength ≥ MIN_SIGNAL_STRENGTH（8）、4H 趋势不逆势、RSI/24h 涨跌幅过滤、短周期方向过滤、大盘 Beta 过滤等。
- **问题点**：
  - 信号完全来自 K 线技术指标，**没有合约特有的「成本与结构」信息**（资金费率、多空比、主动买卖）→ 容易在费率极高或多空极度拥挤时进场。
  - 入场时机只看扫描周期（如 15 分钟一次），**没有用 WS 订单/成交推送做更细的时机优化**。
  - 出场只有固定 SL/TP，**没有跟踪止损、没有「持仓时间 + 无盈利」类时间止损**。

---

## 二、基于现有接口的改进方向（可落地）

### 1. 资金费率过滤（已接入 REST，建议**优先上**）

- **接口**：`GET /fapi/v1/premiumIndex`（已封装为 `get_premium_index(symbol)`），含 `lastFundingRate`。
- **思路**：
  - **做多**：若 `lastFundingRate > 某上限`（例如 0.001，即 0.1%），说明多头付费高，开多成本高、易被费率侵蚀 → **跳过开多**。
  - **做空**：若 `lastFundingRate < 某下限`（例如 -0.001），说明空头付费高 → **跳过开空**。
- **效果**：减少在「费率极端不利于己方」时开仓，提高单笔期望收益；配合现有技术信号，不改变主逻辑，只做过滤。
- **实现**：在策略层开仓前增加「资金费率过滤」步骤（见下节代码）。

### 2. 大户多空比 / 主动买卖量（已接入 REST，可选增强）

- **接口**：`get_top_long_short_position_ratio`、`get_taker_long_short_ratio`（或账户数多空比）。
- **思路**：
  - **做多**：优先选择「近期主动买入占比高」或「大户多空比」偏多的标的（顺势）；或极端多头拥挤时做「逆势空」需谨慎、可提高信号门槛。
  - **做空**：优先选择「主动卖出占比高」或大户偏空的标的。
- **实现**：可在扫描后、或策略决定开仓前，对候选 symbol 取最近 1 条 taker 或大户多空比，与方向一致则通过、相反则降权或跳过（可选，先上资金费率再考虑）。

### 3. 订单/成交推送（WS）对「下单时机」的改进

- **文档**：订单交易更新推送（ORDER_TRADE_UPDATE）、条件单更新（ALGO_UPDATE）、账户信息流等。
- **思路**：
  - 已有 User Data Stream 时，**订单状态、成交回报**已经实时；可在此基础上做「下单后快速反馈、部分成交/全部成交的后续动作」。
  - 若引入 **aggTrade / depth** 等行情 WS：可在「信号已满足」时，结合最近几笔大单或盘口变化再点一次火，减少「信号刚满足就追在尖顶/尖底」的情况（实现成本较高，可作为二期）。

### 4. 止盈/止损与持仓管理

- **跟踪止损**：文档支持 `TRAILING_STOP_MARKET`（激活价、回调比例）。可在「浮盈达到 X% 后」改为跟踪止损，锁定利润、让利润奔跑。
- **时间止损**：若持仓超过 N 小时且浮盈 < 某阈值（或浮亏），可考虑平仓释放保证金，避免长期无效挂单（需在 position_manager 或策略层加「持仓时长」判断）。
- **分批止盈**：当前有 take_profit_1/2 等设计；可结合 ATR 或固定比例，先平一部分、留一部分用跟踪止损（逻辑已有基础，可逐步细化）。

### 5. 扫描与选币

- **资金费率**：扫描阶段可排除「费率极端」的标的（例如 |lastFundingRate| > 0.001），避免进入 TOP_N 的 symbol 本身就不适合当前方向。
- **成交量/流动性**：继续用 24h 成交量 + 深度（若有）保证可执行性；深度接口已接入，可用于大单前的冲击成本估算。
- **多空比/主动买卖**：作为排序加分项（与方向一致则排前），而不是硬过滤，避免过度减少开仓次数。

---

## 三、建议实施顺序

1. **立即**：在开仓前增加**资金费率过滤**（做多/做空各一个阈值），并加配置开关与日志。
2. **短期**：在配置中提供**跟踪止损**开关与参数（如激活盈利率、回调比例），对已有持仓在达到条件时切到跟踪止损（或先对部分新开仓做实验）。
3. **中期**：在扫描或策略中引入**大户多空比 / taker 买卖比**，作为过滤或排序加分，并观察胜率与频率变化。
4. **可选**：结合 WS 订单/成交与行情（aggTrade/depth）做更细的入场时机优化；以及「持仓时间 + 无盈利」的时间止损。

---

## 四、小结

- **现状**：信号与选单主要依赖 K 线技术指标和 4H 趋势，缺少「资金费率、多空结构、订单流」等维度，且出场方式单一，容易导致持仓时间长、盈利不明显。
- **改进**：在**不推翻现有技术信号**的前提下，优先用**资金费率**做开仓过滤，再用**多空比/主动买卖**做过滤或排序，并逐步加上**跟踪止损**和**时间/无盈利止损**，有望在控制回撤的同时提高单笔质量与资金效率。  
- 上述改进均可基于你已接入的 REST 接口（premiumIndex、fundingRate、topLongShort、takerlongshortRatio 等）和现有 WS 文档实现；具体参数（费率阈值、跟踪止损比例等）可在实盘或回测中微调。
