在 `config.py` 中新增市场节奏自动识别配置,支持低波动期参数切换。更新 `market_scanner.py` 以根据市场波动情况动态调整策略,并在扫描时计算中位数以判断市场状态。同时,在 `position_manager.py` 中实现时间止损逻辑,确保在低波动期内有效管理持仓。新增流动性检查功能于 `strategy.py`,在开仓前评估市场深度与价差,提升交易决策的准确性与风险控制能力。
101 lines
6.9 KiB
Markdown
101 lines
6.9 KiB
Markdown
# 持仓与成交量低迷期优化分析
|
||
|
||
基于 `持仓记录_2026-02-17T02-22-51.json` 与「昨天到今天稳定小亏损、成交量较低」的反馈,做原因归纳和优化方案;并对照你已有的币安接口文档,标出能直接帮助的接口。
|
||
|
||
---
|
||
|
||
## 一、当前持仓快照摘要(2026-02-17)
|
||
|
||
| 项目 | 数值 |
|
||
|------|------|
|
||
| 持仓数 | 9 |
|
||
| 多单 / 空单 | 2 / 7(偏空) |
|
||
| 总浮盈(USDT) | 约 +0.75(该快照) |
|
||
| 浮盈笔数 / 浮亏笔数 | 5 / 4 |
|
||
| 浮亏标的 | FILUSDT, XLMUSDT, HUSDT, WLDUSDT |
|
||
|
||
说明:若「昨天到今天」整体是稳定小亏损,多半是**已平仓单**的净亏损或**持仓从浮盈回吐**;成交量低会放大滑点、费率占比和假突破,容易加剧小亏。
|
||
|
||
---
|
||
|
||
## 二、成交量偏低时「稳定小亏」的常见原因
|
||
|
||
1. **滑点与冲击成本**
|
||
成交量小 → 盘口薄,市价/条件单成交价差大,开平仓都被「多砍一点」,积少成多。
|
||
|
||
2. **资金费率占比变高**
|
||
持仓过夜/过结算,费率不变但单笔盈利变小,净收益容易被费率吃掉甚至变负。
|
||
|
||
3. **假突破增多**
|
||
波动主要来自少量大单,技术信号(突破、金叉等)更容易假突破,开仓胜率下降。
|
||
|
||
4. **止盈难触发、止损先到**
|
||
波动不足时价格磨蹭,止盈距离难达到,反而先触发止损或长时间横盘后小亏出场。
|
||
|
||
5. **多空结构不利**
|
||
若做多时多头拥挤(费率负、多空比极端),或做空时空头拥挤,结构不利会放大「小亏」。
|
||
|
||
---
|
||
|
||
## 三、你已有的币安文档与可落地的优化
|
||
|
||
下面按「文档 → 能帮上什么」对照,方便你按文档实现或扩展。
|
||
|
||
| 文档 | 能帮助的优化 |
|
||
|------|----------------|
|
||
| **行情接口REST.txt** | exchangeInfo(规则/合约信息)、ticker/深度/K 线:用于**成交量/深度过滤**(如 24h 量、盘口深度)、**流动性检查**;低量标的可直接从扫描候选剔除或降权。 |
|
||
| **行情ws接口.txt / ws行情推送.txt** | 实时 ticker、深度、K 线:可做**入场前二次确认**(如信号满足时再查一次深度或最近成交),减少在极薄盘口下单。 |
|
||
| **订单交易更新推送.txt** | ORDER_TRADE_UPDATE(NEW/FILLED/TRADE):已有 User Data 时可用于**成交回报、部分成交处理**;结合「条件单触发」可更快更新 DB、减少重复操作。 |
|
||
| **条件订单交易更新推送.txt** | 条件单/ALGO 状态:**止损/止盈/跟踪止损**触发后的实时反馈,便于统计「因何平仓」、优化 SL/TP 参数。 |
|
||
| **ws交易接口.txt** | WS 下单(order.place / algoOrder.place):已实现「WS 条件单 + REST 回退」,**减少下单超时**,在弱网或低流动性时更稳。 |
|
||
| **用户余额.txt** | 账户余额/可用保证金:用于**按可用保证金动态控仓**,避免在低量、高波动时过度开仓。 |
|
||
| **账户信息流连接.txt** | 账户/持仓推送:与现有 User Data 一致,**实时保证金与强平风险**,可做风控与告警。 |
|
||
|
||
---
|
||
|
||
## 四、可落地的优化方案(按优先级)
|
||
|
||
### 1. 成交量/流动性过滤(直接缓解「低量小亏」)
|
||
|
||
- **扫描阶段**:在现有 `MIN_VOLUME_24H_STRICT` 上,可再设「**最低 24h 成交额**」或「**相对前几日量比**」门槛,低量币不进 TOP_N。
|
||
- **开仓前**:用 **行情接口REST** 的深度(如 `GET /fapi/v1/depth`)或 24h ticker,对当前 symbol 做一次**流动性检查**(例如买一卖一价差、前几档挂单量),价差过大或挂单过薄则跳过或减小仓位。
|
||
- **文档**:`行情接口REST.txt` 中的 ticker、depth、K 线即可支持上述逻辑。
|
||
|
||
### 2. 资金费率与多空结构(减少「结构不利」导致的磨损)
|
||
|
||
- **开仓前**:已实现的「资金费率过滤」继续保留;可适当**收紧阈值**(如做多时 `lastFundingRate > 0.0005` 就跳过),在低波动期减少费率侵蚀。
|
||
- **扫描阶段**:已实现的「扫描阶段资金费率过滤」可保持或略加强(如 `SCAN_FUNDING_RATE_MAX_ABS` 从 0.001 降到 0.0008),避免把「费率极端」的币选进候选。
|
||
- 若有**大户多空比 / taker 买卖比**接口(在行情或衍生文档中),可作为**排序或过滤**:与开仓方向一致则优先,极端反向则跳过或降权。
|
||
|
||
### 3. 出场优化(止盈难触发、亏损单拿太久)
|
||
|
||
- **跟踪止损**:文档与策略建议里已多次提到;在浮盈达到 X% 后改为 `TRAILING_STOP_MARKET`,**锁定部分利润**,避免回吐成小亏。
|
||
- **时间/无盈利止损**:持仓超过 N 小时且浮盈 < 某阈值(或浮亏)→ 市价平仓或收紧止损,减少在低波动里「耗着」造成的资金占用和小亏。
|
||
- **条件单推送**:结合「条件订单交易更新推送」统计**止损/止盈/跟踪止损**的触发比例,用于调 SL/TP 距离和跟踪止损参数。
|
||
|
||
### 4. 开仓节奏与仓位(低量期少开、小开)
|
||
|
||
- **降低开仓频率**:低量日可适当增大 `SCAN_INTERVAL` 或提高 `MIN_SIGNAL_STRENGTH`,减少「为做而做」的次优单。
|
||
- **单笔仓位**:在配置里略降 `MAX_POSITION_PERCENT` 或固定风险比例,**单笔亏损上限变小**,整体回撤更可控。
|
||
- **余额与风控**:用「用户余额」或账户信息流,**按可用保证金**动态限制总敞口,避免在波动放大时超额开仓。
|
||
|
||
### 5. 监控与统计(用现有接口即可)
|
||
|
||
- **按平仓时间统计**:已实现「按平仓时间」筛选与统计,可看**每日/每周「平仓笔数、平仓盈亏」**,区分「开仓日」与「平仓日」表现。
|
||
- **按标的/按方向**:统计哪些 symbol、多/空在低量期亏损集中,用于**黑名单或降权**(例如某几类币在低量期一律不开或只做一侧)。
|
||
|
||
---
|
||
|
||
## 五、小结与建议顺序
|
||
|
||
- **可能原因**:成交量低 → 滑点大、费率占比高、假突破多、止盈难触发而止损/横盘小亏多;若再叠加多空结构不利,会放大「稳定小亏」。
|
||
- **文档利用**:你已有的行情 REST/WS、订单与条件单推送、WS 交易、用户余额与账户流,**足够**支撑:流动性过滤、资金费率/多空过滤、跟踪止损与时间止损、按保证金控仓、以及统计与监控。
|
||
- **建议实施顺序**:
|
||
1. 加强**成交量/深度过滤**(扫描 + 开仓前检查);
|
||
2. 略**收紧资金费率**阈值、保持或略加强扫描阶段费率过滤;
|
||
3. 上**跟踪止损**与**时间/无盈利止损**;
|
||
4. 低量期**降频、降单笔仓位**,并用余额/账户流做风控;
|
||
5. 用**按平仓时间统计**与条件单推送,持续观察「谁在亏、因何平仓」,再微调标的与参数。
|
||
|
||
如需,我可以按上述某一条(例如「开仓前深度检查」或「时间止损参数」)写出具体实现步骤或伪代码,直接对接到你现有 `market_scanner` / `strategy` / `position_manager`。
|