auto_trade_sys/docs/common/后续方向实施说明.md
薇薇安 13a0e7d580 delete: 移除过时的文档与代码文件
删除了多个不再使用的文档和代码文件,包括交易更新推送、条件订单推送、REST API 文档、WebSocket API 文档及相关的策略分析文档。这些文件的移除有助于清理代码库,确保项目的整洁性与可维护性。
2026-02-20 17:49:00 +08:00

59 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 后续方向实施说明
本文档说明「策略与信号评估及改进建议」中未实现或部分实现的方向,以及固定内容入库的用法。
---
## 一、已完成的改动
### 1. 固定内容入库(交易对 / 费率规则)
- **表**`market_cache`(见 `backend/database/add_market_cache.sql`
- 字段:`cache_key`(如 `exchange_info`、`funding_info`)、`cache_value`JSON、`updated_at`
- **模型**`backend/database/models.py` 中的 `MarketCache`
- `get_exchange_info(max_age_seconds=86400)` / `set_exchange_info(data)`
- `get_funding_info(max_age_seconds=86400)` / `set_funding_info(data)`
- **使用**`trading_system/binance_client.py`
- `get_all_usdt_pairs()`:优先从 DB 读 `exchange_info`24 小时内有效),命中则直接解析返回;否则请求 API 并回写 DB。
- `get_symbol_info(symbol)`:在内存/Redis 未命中时,尝试从 DB 的 `exchange_info` 解析该 symbolAPI 拉取后也会回写 DB。
**部署**:执行 `mysql -u root -p auto_trade_sys < backend/database/add_market_cache.sql` 创建表。无需改配置即可生效。
### 2. 扫描阶段资金费率过滤
- **配置**`trading_system/config.py` 与 DB `trading_config`
- `SCAN_FUNDING_RATE_FILTER_ENABLED`:是否启用(默认 True
- `SCAN_FUNDING_RATE_MAX_ABS`:阈值,默认 0.001(即 \|lastFundingRate\| > 0.1% 的标的从扫描候选剔除)
- **逻辑**:在 `market_scanner.scan_market()` 中,在得到「初步筛选后」的 `pre_filtered_symbols` 后,若启用则调用 `get_premium_index(None)` 取全量费率,剔除 \|lastFundingRate\| > 阈值的 symbol再进入详细分析K 线/技术指标)。
---
## 二、建议实现顺序(未实现部分)
| 顺序 | 方向 | 说明 |
|------|----------------|------|
| 1 | 跟踪止损 | 浮盈达到 X% 后,用 `TRAILING_STOP_MARKET` 替代或补充固定止盈;配置:`TRAILING_STOP_ENABLED`、`TRAILING_ACTIVATION_PCT`、`TRAILING_CALLBACK_RATE`;在 position_manager 挂完固定 SL/TP 后,达标则下跟踪止损单。 |
| 2 | 时间/无盈利止损 | 持仓时长 > N 小时且浮盈 < 某阈值或浮亏)→ 市价平仓或提高止损优先级配置`MAX_HOLD_HOURS`、`MIN_PNL_PCT_TO_HOLD` position_manager 的检查循环里按 `entry_time` 与当前 pnl% 判断 |
| 3 | WS 订单/成交优化 | 下单后根据 ORDER_TRADE_UPDATE/TRADE 做快速反馈部分成交后的加仓/减仓逻辑实现成本较高可排在跟踪止损和时间止损之后 |
---
## 三、跟踪止损(待实现)要点
- **币安**条件单类型 `TRAILING_STOP_MARKET` `callbackRate`、`activationPrice`或由系统按比例计算)。
- **配置建议**与现有 `USE_TRAILING_STOP`、`TRAILING_STOP_ACTIVATION`、`TRAILING_STOP_PROTECT` 对齐或新增 `TRAILING_ACTIVATION_PCT`、`TRAILING_CALLBACK_RATE` config/DB 读取
- **位置**`trading_system/position_manager.py` 在挂完固定 SL/TP 或定时检查持仓时若启用且当前浮盈% 激活比例则下 `TRAILING_STOP_MARKET`若已有跟踪止损单则跳过
---
## 四、时间/无盈利止损(待实现)要点
- **逻辑** position_manager 的持仓检查循环中读取每仓的 `entry_time` 和当前 pnl% `持仓时长 > MAX_HOLD_HOURS` `pnl_percent < MIN_PNL_PCT_TO_HOLD`或为负则触发市价平仓或标记为建议平仓」。
- **配置**`MAX_HOLD_HOURS`、`MIN_PNL_PCT_TO_HOLD` config/DB
---
## 五、手续费等固定费率(可选)
若后续要做预估盈亏最小盈利目标」,可将 maker/taker 费率存入 config 或单独表 `symbol_fee`在算目标价/预期收益时读取当前未实现