在 `config.py` 中新增市场节奏自动识别配置,支持低波动期参数切换。更新 `market_scanner.py` 以根据市场波动情况动态调整策略,并在扫描时计算中位数以判断市场状态。同时,在 `position_manager.py` 中实现时间止损逻辑,确保在低波动期内有效管理持仓。新增流动性检查功能于 `strategy.py`,在开仓前评估市场深度与价差,提升交易决策的准确性与风险控制能力。
6.9 KiB
6.9 KiB
持仓与成交量低迷期优化分析
基于 持仓记录_2026-02-17T02-22-51.json 与「昨天到今天稳定小亏损、成交量较低」的反馈,做原因归纳和优化方案;并对照你已有的币安接口文档,标出能直接帮助的接口。
一、当前持仓快照摘要(2026-02-17)
| 项目 | 数值 |
|---|---|
| 持仓数 | 9 |
| 多单 / 空单 | 2 / 7(偏空) |
| 总浮盈(USDT) | 约 +0.75(该快照) |
| 浮盈笔数 / 浮亏笔数 | 5 / 4 |
| 浮亏标的 | FILUSDT, XLMUSDT, HUSDT, WLDUSDT |
说明:若「昨天到今天」整体是稳定小亏损,多半是已平仓单的净亏损或持仓从浮盈回吐;成交量低会放大滑点、费率占比和假突破,容易加剧小亏。
二、成交量偏低时「稳定小亏」的常见原因
-
滑点与冲击成本
成交量小 → 盘口薄,市价/条件单成交价差大,开平仓都被「多砍一点」,积少成多。 -
资金费率占比变高
持仓过夜/过结算,费率不变但单笔盈利变小,净收益容易被费率吃掉甚至变负。 -
假突破增多
波动主要来自少量大单,技术信号(突破、金叉等)更容易假突破,开仓胜率下降。 -
止盈难触发、止损先到
波动不足时价格磨蹭,止盈距离难达到,反而先触发止损或长时间横盘后小亏出场。 -
多空结构不利
若做多时多头拥挤(费率负、多空比极端),或做空时空头拥挤,结构不利会放大「小亏」。
三、你已有的币安文档与可落地的优化
下面按「文档 → 能帮上什么」对照,方便你按文档实现或扩展。
| 文档 | 能帮助的优化 |
|---|---|
| 行情接口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 交易、用户余额与账户流,足够支撑:流动性过滤、资金费率/多空过滤、跟踪止损与时间止损、按保证金控仓、以及统计与监控。
- 建议实施顺序:
- 加强成交量/深度过滤(扫描 + 开仓前检查);
- 略收紧资金费率阈值、保持或略加强扫描阶段费率过滤;
- 上跟踪止损与时间/无盈利止损;
- 低量期降频、降单笔仓位,并用余额/账户流做风控;
- 用按平仓时间统计与条件单推送,持续观察「谁在亏、因何平仓」,再微调标的与参数。
如需,我可以按上述某一条(例如「开仓前深度检查」或「时间止损参数」)写出具体实现步骤或伪代码,直接对接到你现有 market_scanner / strategy / position_manager。