From 225cb436d18380cda1347bf4afd82c7466cfe307 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=87=E8=96=87=E5=AE=89?= Date: Mon, 16 Feb 2026 12:42:58 +0800 Subject: [PATCH] =?UTF-8?q?feat(trades):=20=E6=B7=BB=E5=8A=A0=E5=8F=AF?= =?UTF-8?q?=E5=AF=B9=E8=B4=A6=E8=AE=B0=E5=BD=95=E7=AD=9B=E9=80=89=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E4=BB=A5=E7=A1=AE=E4=BF=9D=E4=B8=8E=E5=B8=81=E5=AE=89?= =?UTF-8?q?=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在获取交易记录和统计时,新增 `reconciled_only` 参数,默认值为 true,确保仅返回可对账的交易记录(包含 entry_order_id 和 exit_order_id)。此改动有助于提高统计的准确性,确保系统盈亏与币安一致。 --- backend/api/routes/trades.py | 40 +++++- docs/INDEX.md | 59 +++++++++ docs/README.md | 2 + docs/{ => archive}/ALTCOIN_STRATEGY_UPDATE.md | 0 ...理性分析与优化建议_2026-01-27.md | 0 .../ATR配置优化完成总结_2026-01-27.md | 0 .../CONFIG_ARCHITECTURE_VERIFICATION.md | 0 docs/{ => archive}/DYNAMIC_LEVERAGE.md | 0 docs/{ => archive}/FIX_CURSOR_PATH_ISSUE.md | 0 docs/{ => archive}/GLOBAL_CONFIG_MIGRATION.md | 0 docs/{ => archive}/MARGIN_DISPLAY_FIX.md | 0 docs/{ => archive}/MIN_MARGIN_ANALYSIS.md | 0 .../OPTIMIZATION_IMPLEMENTATION_SUMMARY.md | 0 docs/{ => archive}/OPTIMIZATION_SUMMARY.md | 0 .../PRESET_CONFIGURATION_ANALYSIS.md | 0 .../QUICK_APPLY_ALTCOIN_STRATEGY.md | 0 .../QUICK_PRESET_RECOMMENDATION.md | 0 docs/archive/README.md | 20 +++ docs/{ => archive}/RECOMMENDATION_ANALYSIS.md | 0 .../RECOMMENDATION_SERVICE_API_KEY_FIX.md | 0 docs/{ => archive}/REDIS_CACHE_ANALYSIS.md | 0 .../REDIS_CACHE_IMPLEMENTATION.md | 0 .../REVENUE_OPTIMIZATION_COMPLETE.md | 0 .../Redis缓存问题修复说明.md | 0 docs/{ => archive}/SCAN_CONFIG_ANALYSIS.md | 0 .../SELL单止损价格计算错误修复.md | 0 .../STOP_LOSS_IMMEDIATE_CLOSE_FIX.md | 0 .../STOP_LOSS_ORDER_FAILURE_ANALYSIS.md | 0 docs/{ => archive}/STRATEGY_ANALYSIS.md | 0 docs/{ => archive}/STRATEGY_IMPROVEMENTS.md | 0 docs/{ => archive}/STRATEGY_LOGIC_ANALYSIS.md | 0 .../STRATEGY_OPTIMIZATION_PLAN.md | 0 .../TAKE_PROFIT_TIME_LOCK_ANALYSIS.md | 0 docs/{ => archive}/TIMEZONE_FIX_SUMMARY.md | 0 docs/{ => archive}/TRADE_RECOMMENDATIONS.md | 0 docs/{ => archive}/TRADE_STATUS_SYNC_FIX.md | 0 docs/{ => archive}/TRADING_FLOW_ANALYSIS.md | 0 .../TRADING_LOSS_ANALYSIS_2026-01-23-2.md | 0 .../TRADING_LOSS_ANALYSIS_2026-01-23.md | 0 .../TRADING_LOSS_ANALYSIS_2026-02-04.md | 0 .../TRADING_PERFORMANCE_ANALYSIS.md | 0 docs/{ => archive}/UNICORN_WEBSOCKET.md | 0 .../WEBSOCKET_HOLD_TIME_MINUTES_FIX.md | 0 docs/{ => archive}/WEBSOCKET_MIGRATION.md | 0 .../WEBSOCKET_SUBSCRIBE_ANALYSIS.md | 0 ...cursor_binance_automated_trading_system.md | 0 docs/{ => archive}/new_suggestion20260117.md | 0 docs/{ => archive}/newplan20260115.md | 0 docs/{ => archive}/亏损分析_ZENUSDT.md | 0 ...对筛选优化完成总结_2026-01-27.md | 0 .../交易对筛选优化方案_2026-01-27.md | 0 .../交易数据分析_2026-01-25.md | 0 ...交易数据分析_2026-01-25_完整版.md | 0 ...析_2026-01-27_ATR使用合理性分析.md | 0 ...据分析_2026-01-27_优化效果评估.md | 0 ...据分析_2026-01-27_止损问题分析.md | 0 .../交易策略问题诊断_2026-01-28.md | 0 ...式化错误和订单状态延迟分析.md | 0 ...止损_山寨币交易适用性分析.md | 0 ...步止盈与移动止损兼容性分析.md | 0 .../分步止盈优化_30%固定止盈.md | 0 ...管理分析与优化方案_2026-01-27.md | 0 ...态细分实施完成总结_2026-01-27.md | 0 .../分步止盈策略收益分析.md | 0 ...单量少和盈利不平仓问题分析.md | 0 .../山寨币策略_4H趋势中性分析.md | 0 .../山寨币策略完成总结.md | 0 ...币策略配置优化方案_2026-01-27.md | 0 .../{ => archive}/市场扫描优化分析.md | 0 .../市场扫描优化完成总结.md | 0 .../{ => archive}/市场扫描深度分析.md | 0 docs/{ => archive}/并发数优化说明.md | 0 .../扫描效率优化完成总结.md | 0 .../{ => archive}/扫描时间对齐分析.md | 0 .../{ => archive}/扫描时间差异分析.md | 0 .../{ => archive}/扫描结果缓存分析.md | 0 .../排查账户未下单问题指南.md | 0 ...推荐系统日志和运行状态检查.md | 0 ...问题和交易数据分析_2026-01-26.md | 0 .../{ => archive}/数据迁移执行指南.md | 0 .../止损价计算错误分析_DUSKUSDT.md | 0 .../止损失效问题修复_2026-01-26.md | 0 .../止损失效问题分析_2026-01-26.md | 0 ...为止损问题修复总结_2026-01-27.md | 0 ...标记为止损问题分析_2026-01-27.md | 0 ...略优化实施完成总结_2026-01-27.md | 0 ...建议评估与实施方案_2026-01-27.md | 0 .../策略执行分析_2026-01-30.md | 0 .../策略执行分析_2026-01-31.md | 0 .../策略调整建议_2026-01-28.md | 0 ...户未下单问题_4H趋势中性过滤.md | 0 .../{ => archive}/账户交易差异分析.md | 0 .../配置优化实施指南_2026-01-27.md | 0 ...置修改合理性分析和杠杆评估.md | 0 .../配置值格式简化方案.md | 0 .../配置值格式统一_实施指南.md | 0 .../配置值格式统一_最终方案.md | 0 .../配置值格式统一方案.md | 0 .../配置值格式统一方案_简化版.md | 0 .../配置值格式转换修复_2026-01-26.md | 0 ...错误和交易问题分析_2026-01-26.md | 0 docs/当前策略方案总结_2026-02-15.md | 117 ++++++++++++++++++ docs/订单与统计一致性说明.md | 17 ++- frontend/src/components/TradeList.jsx | 18 ++- 104 files changed, 263 insertions(+), 10 deletions(-) create mode 100644 docs/INDEX.md rename docs/{ => archive}/ALTCOIN_STRATEGY_UPDATE.md (100%) rename docs/{ => archive}/ATR使用合理性分析与优化建议_2026-01-27.md (100%) rename docs/{ => archive}/ATR配置优化完成总结_2026-01-27.md (100%) rename docs/{ => archive}/CONFIG_ARCHITECTURE_VERIFICATION.md (100%) rename docs/{ => archive}/DYNAMIC_LEVERAGE.md (100%) rename docs/{ => archive}/FIX_CURSOR_PATH_ISSUE.md (100%) rename docs/{ => archive}/GLOBAL_CONFIG_MIGRATION.md (100%) rename docs/{ => archive}/MARGIN_DISPLAY_FIX.md (100%) rename docs/{ => archive}/MIN_MARGIN_ANALYSIS.md (100%) rename docs/{ => archive}/OPTIMIZATION_IMPLEMENTATION_SUMMARY.md (100%) rename docs/{ => archive}/OPTIMIZATION_SUMMARY.md (100%) rename docs/{ => archive}/PRESET_CONFIGURATION_ANALYSIS.md (100%) rename docs/{ => archive}/QUICK_APPLY_ALTCOIN_STRATEGY.md (100%) rename docs/{ => archive}/QUICK_PRESET_RECOMMENDATION.md (100%) create mode 100644 docs/archive/README.md rename docs/{ => archive}/RECOMMENDATION_ANALYSIS.md (100%) rename docs/{ => archive}/RECOMMENDATION_SERVICE_API_KEY_FIX.md (100%) rename docs/{ => archive}/REDIS_CACHE_ANALYSIS.md (100%) rename docs/{ => archive}/REDIS_CACHE_IMPLEMENTATION.md (100%) rename docs/{ => archive}/REVENUE_OPTIMIZATION_COMPLETE.md (100%) rename docs/{ => archive}/Redis缓存问题修复说明.md (100%) rename docs/{ => archive}/SCAN_CONFIG_ANALYSIS.md (100%) rename docs/{ => archive}/SELL单止损价格计算错误修复.md (100%) rename docs/{ => archive}/STOP_LOSS_IMMEDIATE_CLOSE_FIX.md (100%) rename docs/{ => archive}/STOP_LOSS_ORDER_FAILURE_ANALYSIS.md (100%) rename docs/{ => archive}/STRATEGY_ANALYSIS.md (100%) rename docs/{ => archive}/STRATEGY_IMPROVEMENTS.md (100%) rename docs/{ => archive}/STRATEGY_LOGIC_ANALYSIS.md (100%) rename docs/{ => archive}/STRATEGY_OPTIMIZATION_PLAN.md (100%) rename docs/{ => archive}/TAKE_PROFIT_TIME_LOCK_ANALYSIS.md (100%) rename docs/{ => archive}/TIMEZONE_FIX_SUMMARY.md (100%) rename docs/{ => archive}/TRADE_RECOMMENDATIONS.md (100%) rename docs/{ => archive}/TRADE_STATUS_SYNC_FIX.md (100%) rename docs/{ => archive}/TRADING_FLOW_ANALYSIS.md (100%) rename docs/{ => archive}/TRADING_LOSS_ANALYSIS_2026-01-23-2.md (100%) rename docs/{ => archive}/TRADING_LOSS_ANALYSIS_2026-01-23.md (100%) rename docs/{ => archive}/TRADING_LOSS_ANALYSIS_2026-02-04.md (100%) rename docs/{ => archive}/TRADING_PERFORMANCE_ANALYSIS.md (100%) rename docs/{ => archive}/UNICORN_WEBSOCKET.md (100%) rename docs/{ => archive}/WEBSOCKET_HOLD_TIME_MINUTES_FIX.md (100%) rename docs/{ => archive}/WEBSOCKET_MIGRATION.md (100%) rename docs/{ => archive}/WEBSOCKET_SUBSCRIBE_ANALYSIS.md (100%) rename docs/{ => archive}/cursor_binance_automated_trading_system.md (100%) rename docs/{ => archive}/new_suggestion20260117.md (100%) rename docs/{ => archive}/newplan20260115.md (100%) rename docs/{ => archive}/亏损分析_ZENUSDT.md (100%) rename docs/{ => archive}/交易对筛选优化完成总结_2026-01-27.md (100%) rename docs/{ => archive}/交易对筛选优化方案_2026-01-27.md (100%) rename docs/{ => archive}/交易数据分析_2026-01-25.md (100%) rename docs/{ => archive}/交易数据分析_2026-01-25_完整版.md (100%) rename docs/{ => archive}/交易数据分析_2026-01-27_ATR使用合理性分析.md (100%) rename docs/{ => archive}/交易数据分析_2026-01-27_优化效果评估.md (100%) rename docs/{ => archive}/交易数据分析_2026-01-27_止损问题分析.md (100%) rename docs/{ => archive}/交易策略问题诊断_2026-01-28.md (100%) rename docs/{ => archive}/修复日志格式化错误和订单状态延迟分析.md (100%) rename docs/{ => archive}/分步止盈vs移动止损_山寨币交易适用性分析.md (100%) rename docs/{ => archive}/分步止盈与移动止损兼容性分析.md (100%) rename docs/{ => archive}/分步止盈优化_30%固定止盈.md (100%) rename docs/{ => archive}/分步止盈状态管理分析与优化方案_2026-01-27.md (100%) rename docs/{ => archive}/分步止盈状态细分实施完成总结_2026-01-27.md (100%) rename docs/{ => archive}/分步止盈策略收益分析.md (100%) rename docs/{ => archive}/单量少和盈利不平仓问题分析.md (100%) rename docs/{ => archive}/山寨币策略_4H趋势中性分析.md (100%) rename docs/{ => archive}/山寨币策略完成总结.md (100%) rename docs/{ => archive}/山寨币策略配置优化方案_2026-01-27.md (100%) rename docs/{ => archive}/市场扫描优化分析.md (100%) rename docs/{ => archive}/市场扫描优化完成总结.md (100%) rename docs/{ => archive}/市场扫描深度分析.md (100%) rename docs/{ => archive}/并发数优化说明.md (100%) rename docs/{ => archive}/扫描效率优化完成总结.md (100%) rename docs/{ => archive}/扫描时间对齐分析.md (100%) rename docs/{ => archive}/扫描时间差异分析.md (100%) rename docs/{ => archive}/扫描结果缓存分析.md (100%) rename docs/{ => archive}/排查账户未下单问题指南.md (100%) rename docs/{ => archive}/推荐系统日志和运行状态检查.md (100%) rename docs/{ => archive}/推荐系统超时问题和交易数据分析_2026-01-26.md (100%) rename docs/{ => archive}/数据迁移执行指南.md (100%) rename docs/{ => archive}/止损价计算错误分析_DUSKUSDT.md (100%) rename docs/{ => archive}/止损失效问题修复_2026-01-26.md (100%) rename docs/{ => archive}/止损失效问题分析_2026-01-26.md (100%) rename docs/{ => archive}/盈利单被错误标记为止损问题修复总结_2026-01-27.md (100%) rename docs/{ => archive}/盈利单被错误标记为止损问题分析_2026-01-27.md (100%) rename docs/{ => archive}/策略优化实施完成总结_2026-01-27.md (100%) rename docs/{ => archive}/策略优化建议评估与实施方案_2026-01-27.md (100%) rename docs/{ => archive}/策略执行分析_2026-01-30.md (100%) rename docs/{ => archive}/策略执行分析_2026-01-31.md (100%) rename docs/{ => archive}/策略调整建议_2026-01-28.md (100%) rename docs/{ => archive}/解决账户未下单问题_4H趋势中性过滤.md (100%) rename docs/{ => archive}/账户交易差异分析.md (100%) rename docs/{ => archive}/配置优化实施指南_2026-01-27.md (100%) rename docs/{ => archive}/配置修改合理性分析和杠杆评估.md (100%) rename docs/{ => archive}/配置值格式简化方案.md (100%) rename docs/{ => archive}/配置值格式统一_实施指南.md (100%) rename docs/{ => archive}/配置值格式统一_最终方案.md (100%) rename docs/{ => archive}/配置值格式统一方案.md (100%) rename docs/{ => archive}/配置值格式统一方案_简化版.md (100%) rename docs/{ => archive}/配置值格式转换修复_2026-01-26.md (100%) rename docs/{ => archive}/配置显示错误和交易问题分析_2026-01-26.md (100%) create mode 100644 docs/当前策略方案总结_2026-02-15.md diff --git a/backend/api/routes/trades.py b/backend/api/routes/trades.py index 4ee6f9d..e8fe17f 100644 --- a/backend/api/routes/trades.py +++ b/backend/api/routes/trades.py @@ -80,6 +80,7 @@ async def get_trades( exit_reason: Optional[str] = Query(None, description="平仓原因筛选: 'stop_loss', 'take_profit', 'trailing_stop', 'manual', 'sync'"), status: Optional[str] = Query(None, description="状态筛选: 'open', 'closed', 'cancelled'"), include_sync: bool = Query(False, description="是否包含 entry_reason 为 sync_recovered 的历史同步单"), + reconciled_only: bool = Query(True, description="仅返回可对账记录(有 entry_order_id,已平仓的还有 exit_order_id),与币安一致,统计真实"), limit: int = Query(100, ge=1, le=1000, description="返回记录数限制"), ): """ @@ -133,7 +134,22 @@ async def get_trades( if (t.get("entry_reason") or "") != "sync_recovered" and (t.get("exit_reason") or "") != "sync" ] - logger.info(f"查询到 {len(trades)} 条交易记录(include_sync={include_sync})") + # 仅可对账:有开仓订单号,已平仓的还须有平仓订单号,保证与币安可一一对应、统计真实 + def _has_entry_order_id(t): + eid = t.get("entry_order_id") + return eid is not None and eid != "" and (eid != 0 if isinstance(eid, (int, float)) else True) + def _has_exit_order_id(t): + xid = t.get("exit_order_id") + return xid is not None and xid != "" and (xid != 0 if isinstance(xid, (int, float)) else True) + if reconciled_only: + before = len(trades) + trades = [ + t for t in trades + if _has_entry_order_id(t) + and (t.get("status") != "closed" or _has_exit_order_id(t)) + ] + logger.info(f"可对账过滤: {before} -> {len(trades)} 条(reconciled_only=True)") + logger.info(f"查询到 {len(trades)} 条交易记录(include_sync={include_sync}, reconciled_only={reconciled_only})") # 格式化交易记录,添加平仓类型的中文显示 formatted_trades = [] @@ -173,7 +189,8 @@ async def get_trades( "end_date": datetime.fromtimestamp(end_timestamp).strftime('%Y-%m-%d %H:%M:%S') if end_timestamp else None, "period": period, "symbol": symbol, - "status": status + "status": status, + "reconciled_only": reconciled_only, } } @@ -192,8 +209,9 @@ async def get_trade_stats( period: Optional[str] = Query(None, description="快速时间段筛选: '1d', '7d', '30d', 'today', 'week', 'month'"), symbol: Optional[str] = Query(None, description="交易对筛选"), include_sync: bool = Query(False, description="是否包含 entry_reason 为 sync_recovered 的历史同步单"), + reconciled_only: bool = Query(True, description="仅统计可对账记录,与币安一致,避免系统盈利/币安亏损偏差"), ): - """获取交易统计""" + """获取交易统计(默认仅统计可对账记录,保证与币安一致)""" try: logger.info(f"获取交易统计请求: start_date={start_date}, end_date={end_date}, period={period}, symbol={symbol}") @@ -235,6 +253,19 @@ async def get_trade_stats( if (t.get("entry_reason") or "") != "sync_recovered" and (t.get("exit_reason") or "") != "sync" ] + if reconciled_only: + before = len(trades) + def _has_eid(t): + eid = t.get("entry_order_id") + return eid is not None and eid != "" and (eid != 0 if isinstance(eid, (int, float)) else True) + def _has_xid(t): + xid = t.get("exit_order_id") + return xid is not None and xid != "" and (xid != 0 if isinstance(xid, (int, float)) else True) + trades = [ + t for t in trades + if _has_eid(t) and (t.get("status") != "closed" or _has_xid(t)) + ] + logger.info(f"统计可对账过滤: {before} -> {len(trades)} 条(reconciled_only=True)") closed_trades = [t for t in trades if t['status'] == 'closed'] # 辅助函数:计算净盈亏(优先使用 realized_pnl - commission) @@ -341,7 +372,8 @@ async def get_trade_stats( "start_date": datetime.fromtimestamp(start_timestamp).strftime('%Y-%m-%d %H:%M:%S') if start_timestamp else None, "end_date": datetime.fromtimestamp(end_timestamp).strftime('%Y-%m-%d %H:%M:%S') if end_timestamp else None, "period": period, - "symbol": symbol + "symbol": symbol, + "reconciled_only": reconciled_only, } } diff --git a/docs/INDEX.md b/docs/INDEX.md new file mode 100644 index 0000000..a428d8d --- /dev/null +++ b/docs/INDEX.md @@ -0,0 +1,59 @@ +# 文档索引(优先阅读顺序,便于 AI/人快速定位) + +## 一、先看这些(当前策略与使用) + +| 文档 | 说明 | +|------|------| +| **当前策略方案总结_2026-02-15.md** | 当前策略与参数汇总,与盈利期对齐的配置与逻辑 | +| **快速使用_盈利期对齐配置.md** | 如何一键应用「山寨币策略(推荐)」、全局配置 | +| **risk_profile_2026-02-15.md** | 风险参数调整记录(止损/杠杆/移动止损等) | +| **CURRENT_STRATEGY.md** | 策略概述、信号逻辑、时间段策略(偏概念) | +| **CONFIG_GUIDE.md** | 配置项说明与推荐值 | + +## 二、止盈/止损与风控 + +| 文档 | 说明 | +|------|------| +| **止损止盈双通道说明.md** | 交易所条件单 + 本机 WebSocket 双通道,移动止损同步 | +| **止损止盈计算说明.md** | 止损/止盈价格计算方式 | +| **止盈止损与盈利优化_2026-02-15.md** | 止盈 28%~30%、止损约 10% 等建议 | +| **STOP_LOSS_TAKE_PROFIT_EXPLANATION.md** | 英文版止盈止损说明 | +| **盈利提升方案.md** | 仓位数量、单笔风险、移动止损等优化建议 | +| **订单与统计一致性说明.md** | 订单与 DB 对账、统计口径 | + +## 三、近期分析(可选) + +| 文档 | 说明 | +|------|------| +| **交易对比分析_2026-02-14_盈利期vs亏损期.md** | 10–11 号盈利 vs 亏损期原因(RSI 反向等) | +| **持仓分析_2026-02-15_与参数建议.md** | 当时持仓 SL/TP 与预设调整 | +| **交易表现分析_20260214.md** / **交易分析_2026-02-14_策略执行与优化建议.md** | 2 月 14 日表现与执行建议 | + +## 四、架构与运维 + +| 文档 | 说明 | +|------|------| +| **README.md** | 项目说明、快速开始 | +| **README_ARCHITECTURE.md** | 架构与模块说明 | +| **QUICK_START.md** | 快速启动步骤 | +| **INSTALL.md** | 安装与依赖 | +| **DEPLOYMENT.md** | 部署说明 | +| **STRUCTURE.md** | 目录与代码结构 | +| **PROJECT_SUMMARY.md** | 项目摘要 | +| **全局配置与数据库同步.md** | 全局配置表与同步方式 | +| **MULTI_USER_ARCHITECTURE.md** | 多账号/多用户架构 | +| **SUPERVISOR_TROUBLESHOOTING.md** | Supervisor 排查 | +| **API_KEY_SETUP.md** | API 密钥配置 | +| **ENTRY_CONTEXT_入场思路记录.md** | 入场思路 JSON 字段说明 | + +## 五、策略与 ATR + +| 文档 | 说明 | +|------|------| +| **ATR.md** | ATR 指标与用法 | +| **ATR_STRATEGY_IMPLEMENTATION.md** | ATR 策略实现 | +| **山寨币策略快速应用完整指南.md** | 山寨币预设使用指南 | + +--- + +**archive/** 目录下为历史分析、一次性修复总结、旧方案(2026-01 居多),需要查历史再进 archive;日常整理与问答以本索引优先。 diff --git a/docs/README.md b/docs/README.md index bc2bd4a..c1846a4 100644 --- a/docs/README.md +++ b/docs/README.md @@ -2,6 +2,8 @@ 基于币安API的Python自动交易系统,实现自动发现涨跌幅最大的货币对并执行交易策略。 +**文档导航**:详细文档列表与优先阅读顺序见 [INDEX.md](INDEX.md)。历史/一次性分析已移至 [archive/](archive/)。 + ## 项目结构 ``` diff --git a/docs/ALTCOIN_STRATEGY_UPDATE.md b/docs/archive/ALTCOIN_STRATEGY_UPDATE.md similarity index 100% rename from docs/ALTCOIN_STRATEGY_UPDATE.md rename to docs/archive/ALTCOIN_STRATEGY_UPDATE.md diff --git a/docs/ATR使用合理性分析与优化建议_2026-01-27.md b/docs/archive/ATR使用合理性分析与优化建议_2026-01-27.md similarity index 100% rename from docs/ATR使用合理性分析与优化建议_2026-01-27.md rename to docs/archive/ATR使用合理性分析与优化建议_2026-01-27.md diff --git a/docs/ATR配置优化完成总结_2026-01-27.md b/docs/archive/ATR配置优化完成总结_2026-01-27.md similarity index 100% rename from docs/ATR配置优化完成总结_2026-01-27.md rename to docs/archive/ATR配置优化完成总结_2026-01-27.md diff --git a/docs/CONFIG_ARCHITECTURE_VERIFICATION.md b/docs/archive/CONFIG_ARCHITECTURE_VERIFICATION.md similarity index 100% rename from docs/CONFIG_ARCHITECTURE_VERIFICATION.md rename to docs/archive/CONFIG_ARCHITECTURE_VERIFICATION.md diff --git a/docs/DYNAMIC_LEVERAGE.md b/docs/archive/DYNAMIC_LEVERAGE.md similarity index 100% rename from docs/DYNAMIC_LEVERAGE.md rename to docs/archive/DYNAMIC_LEVERAGE.md diff --git a/docs/FIX_CURSOR_PATH_ISSUE.md b/docs/archive/FIX_CURSOR_PATH_ISSUE.md similarity index 100% rename from docs/FIX_CURSOR_PATH_ISSUE.md rename to docs/archive/FIX_CURSOR_PATH_ISSUE.md diff --git a/docs/GLOBAL_CONFIG_MIGRATION.md b/docs/archive/GLOBAL_CONFIG_MIGRATION.md similarity index 100% rename from docs/GLOBAL_CONFIG_MIGRATION.md rename to docs/archive/GLOBAL_CONFIG_MIGRATION.md diff --git a/docs/MARGIN_DISPLAY_FIX.md b/docs/archive/MARGIN_DISPLAY_FIX.md similarity index 100% rename from docs/MARGIN_DISPLAY_FIX.md rename to docs/archive/MARGIN_DISPLAY_FIX.md diff --git a/docs/MIN_MARGIN_ANALYSIS.md b/docs/archive/MIN_MARGIN_ANALYSIS.md similarity index 100% rename from docs/MIN_MARGIN_ANALYSIS.md rename to docs/archive/MIN_MARGIN_ANALYSIS.md diff --git a/docs/OPTIMIZATION_IMPLEMENTATION_SUMMARY.md b/docs/archive/OPTIMIZATION_IMPLEMENTATION_SUMMARY.md similarity index 100% rename from docs/OPTIMIZATION_IMPLEMENTATION_SUMMARY.md rename to docs/archive/OPTIMIZATION_IMPLEMENTATION_SUMMARY.md diff --git a/docs/OPTIMIZATION_SUMMARY.md b/docs/archive/OPTIMIZATION_SUMMARY.md similarity index 100% rename from docs/OPTIMIZATION_SUMMARY.md rename to docs/archive/OPTIMIZATION_SUMMARY.md diff --git a/docs/PRESET_CONFIGURATION_ANALYSIS.md b/docs/archive/PRESET_CONFIGURATION_ANALYSIS.md similarity index 100% rename from docs/PRESET_CONFIGURATION_ANALYSIS.md rename to docs/archive/PRESET_CONFIGURATION_ANALYSIS.md diff --git a/docs/QUICK_APPLY_ALTCOIN_STRATEGY.md b/docs/archive/QUICK_APPLY_ALTCOIN_STRATEGY.md similarity index 100% rename from docs/QUICK_APPLY_ALTCOIN_STRATEGY.md rename to docs/archive/QUICK_APPLY_ALTCOIN_STRATEGY.md diff --git a/docs/QUICK_PRESET_RECOMMENDATION.md b/docs/archive/QUICK_PRESET_RECOMMENDATION.md similarity index 100% rename from docs/QUICK_PRESET_RECOMMENDATION.md rename to docs/archive/QUICK_PRESET_RECOMMENDATION.md diff --git a/docs/archive/README.md b/docs/archive/README.md new file mode 100644 index 0000000..f031ab7 --- /dev/null +++ b/docs/archive/README.md @@ -0,0 +1,20 @@ +# 归档文档说明 + +本目录为 **历史/一次性** 文档,已从 `docs/` 根目录移入,避免日常阅读与 AI 整理时干扰。 + +## 归档内容概览 + +- **按日期的一次性分析**:如 2026-01-23 ~ 2026-02-04 的交易分析、亏损分析、策略执行分析等 +- **已完成实施的总结**:如「配置优化实施完成总结」「分步止盈状态细分实施完成总结」「ATR 配置优化完成总结」等 +- **多版本文案只保留最终版后**:如「配置值格式统一」多个版本、「分步止盈」多篇分析 +- **单次修复/单币种分析**:如止损失效修复、某币种止损价错误分析、WebSocket/Redis 修复说明等 +- **旧计划与建议**:如 newplan20260115、策略优化建议评估与实施方案等 + +## 使用方式 + +- 需要查 **当时为什么这样改** 或 **某次问题结论** 时,可在此目录按文件名或日期查找 +- 当前策略与配置以 **docs/当前策略方案总结_2026-02-15.md** 和 **docs/INDEX.md** 为准 + +## 归档时间 + +2026-02-15 diff --git a/docs/RECOMMENDATION_ANALYSIS.md b/docs/archive/RECOMMENDATION_ANALYSIS.md similarity index 100% rename from docs/RECOMMENDATION_ANALYSIS.md rename to docs/archive/RECOMMENDATION_ANALYSIS.md diff --git a/docs/RECOMMENDATION_SERVICE_API_KEY_FIX.md b/docs/archive/RECOMMENDATION_SERVICE_API_KEY_FIX.md similarity index 100% rename from docs/RECOMMENDATION_SERVICE_API_KEY_FIX.md rename to docs/archive/RECOMMENDATION_SERVICE_API_KEY_FIX.md diff --git a/docs/REDIS_CACHE_ANALYSIS.md b/docs/archive/REDIS_CACHE_ANALYSIS.md similarity index 100% rename from docs/REDIS_CACHE_ANALYSIS.md rename to docs/archive/REDIS_CACHE_ANALYSIS.md diff --git a/docs/REDIS_CACHE_IMPLEMENTATION.md b/docs/archive/REDIS_CACHE_IMPLEMENTATION.md similarity index 100% rename from docs/REDIS_CACHE_IMPLEMENTATION.md rename to docs/archive/REDIS_CACHE_IMPLEMENTATION.md diff --git a/docs/REVENUE_OPTIMIZATION_COMPLETE.md b/docs/archive/REVENUE_OPTIMIZATION_COMPLETE.md similarity index 100% rename from docs/REVENUE_OPTIMIZATION_COMPLETE.md rename to docs/archive/REVENUE_OPTIMIZATION_COMPLETE.md diff --git a/docs/Redis缓存问题修复说明.md b/docs/archive/Redis缓存问题修复说明.md similarity index 100% rename from docs/Redis缓存问题修复说明.md rename to docs/archive/Redis缓存问题修复说明.md diff --git a/docs/SCAN_CONFIG_ANALYSIS.md b/docs/archive/SCAN_CONFIG_ANALYSIS.md similarity index 100% rename from docs/SCAN_CONFIG_ANALYSIS.md rename to docs/archive/SCAN_CONFIG_ANALYSIS.md diff --git a/docs/SELL单止损价格计算错误修复.md b/docs/archive/SELL单止损价格计算错误修复.md similarity index 100% rename from docs/SELL单止损价格计算错误修复.md rename to docs/archive/SELL单止损价格计算错误修复.md diff --git a/docs/STOP_LOSS_IMMEDIATE_CLOSE_FIX.md b/docs/archive/STOP_LOSS_IMMEDIATE_CLOSE_FIX.md similarity index 100% rename from docs/STOP_LOSS_IMMEDIATE_CLOSE_FIX.md rename to docs/archive/STOP_LOSS_IMMEDIATE_CLOSE_FIX.md diff --git a/docs/STOP_LOSS_ORDER_FAILURE_ANALYSIS.md b/docs/archive/STOP_LOSS_ORDER_FAILURE_ANALYSIS.md similarity index 100% rename from docs/STOP_LOSS_ORDER_FAILURE_ANALYSIS.md rename to docs/archive/STOP_LOSS_ORDER_FAILURE_ANALYSIS.md diff --git a/docs/STRATEGY_ANALYSIS.md b/docs/archive/STRATEGY_ANALYSIS.md similarity index 100% rename from docs/STRATEGY_ANALYSIS.md rename to docs/archive/STRATEGY_ANALYSIS.md diff --git a/docs/STRATEGY_IMPROVEMENTS.md b/docs/archive/STRATEGY_IMPROVEMENTS.md similarity index 100% rename from docs/STRATEGY_IMPROVEMENTS.md rename to docs/archive/STRATEGY_IMPROVEMENTS.md diff --git a/docs/STRATEGY_LOGIC_ANALYSIS.md b/docs/archive/STRATEGY_LOGIC_ANALYSIS.md similarity index 100% rename from docs/STRATEGY_LOGIC_ANALYSIS.md rename to docs/archive/STRATEGY_LOGIC_ANALYSIS.md diff --git a/docs/STRATEGY_OPTIMIZATION_PLAN.md b/docs/archive/STRATEGY_OPTIMIZATION_PLAN.md similarity index 100% rename from docs/STRATEGY_OPTIMIZATION_PLAN.md rename to docs/archive/STRATEGY_OPTIMIZATION_PLAN.md diff --git a/docs/TAKE_PROFIT_TIME_LOCK_ANALYSIS.md b/docs/archive/TAKE_PROFIT_TIME_LOCK_ANALYSIS.md similarity index 100% rename from docs/TAKE_PROFIT_TIME_LOCK_ANALYSIS.md rename to docs/archive/TAKE_PROFIT_TIME_LOCK_ANALYSIS.md diff --git a/docs/TIMEZONE_FIX_SUMMARY.md b/docs/archive/TIMEZONE_FIX_SUMMARY.md similarity index 100% rename from docs/TIMEZONE_FIX_SUMMARY.md rename to docs/archive/TIMEZONE_FIX_SUMMARY.md diff --git a/docs/TRADE_RECOMMENDATIONS.md b/docs/archive/TRADE_RECOMMENDATIONS.md similarity index 100% rename from docs/TRADE_RECOMMENDATIONS.md rename to docs/archive/TRADE_RECOMMENDATIONS.md diff --git a/docs/TRADE_STATUS_SYNC_FIX.md b/docs/archive/TRADE_STATUS_SYNC_FIX.md similarity index 100% rename from docs/TRADE_STATUS_SYNC_FIX.md rename to docs/archive/TRADE_STATUS_SYNC_FIX.md diff --git a/docs/TRADING_FLOW_ANALYSIS.md b/docs/archive/TRADING_FLOW_ANALYSIS.md similarity index 100% rename from docs/TRADING_FLOW_ANALYSIS.md rename to docs/archive/TRADING_FLOW_ANALYSIS.md diff --git a/docs/TRADING_LOSS_ANALYSIS_2026-01-23-2.md b/docs/archive/TRADING_LOSS_ANALYSIS_2026-01-23-2.md similarity index 100% rename from docs/TRADING_LOSS_ANALYSIS_2026-01-23-2.md rename to docs/archive/TRADING_LOSS_ANALYSIS_2026-01-23-2.md diff --git a/docs/TRADING_LOSS_ANALYSIS_2026-01-23.md b/docs/archive/TRADING_LOSS_ANALYSIS_2026-01-23.md similarity index 100% rename from docs/TRADING_LOSS_ANALYSIS_2026-01-23.md rename to docs/archive/TRADING_LOSS_ANALYSIS_2026-01-23.md diff --git a/docs/TRADING_LOSS_ANALYSIS_2026-02-04.md b/docs/archive/TRADING_LOSS_ANALYSIS_2026-02-04.md similarity index 100% rename from docs/TRADING_LOSS_ANALYSIS_2026-02-04.md rename to docs/archive/TRADING_LOSS_ANALYSIS_2026-02-04.md diff --git a/docs/TRADING_PERFORMANCE_ANALYSIS.md b/docs/archive/TRADING_PERFORMANCE_ANALYSIS.md similarity index 100% rename from docs/TRADING_PERFORMANCE_ANALYSIS.md rename to docs/archive/TRADING_PERFORMANCE_ANALYSIS.md diff --git a/docs/UNICORN_WEBSOCKET.md b/docs/archive/UNICORN_WEBSOCKET.md similarity index 100% rename from docs/UNICORN_WEBSOCKET.md rename to docs/archive/UNICORN_WEBSOCKET.md diff --git a/docs/WEBSOCKET_HOLD_TIME_MINUTES_FIX.md b/docs/archive/WEBSOCKET_HOLD_TIME_MINUTES_FIX.md similarity index 100% rename from docs/WEBSOCKET_HOLD_TIME_MINUTES_FIX.md rename to docs/archive/WEBSOCKET_HOLD_TIME_MINUTES_FIX.md diff --git a/docs/WEBSOCKET_MIGRATION.md b/docs/archive/WEBSOCKET_MIGRATION.md similarity index 100% rename from docs/WEBSOCKET_MIGRATION.md rename to docs/archive/WEBSOCKET_MIGRATION.md diff --git a/docs/WEBSOCKET_SUBSCRIBE_ANALYSIS.md b/docs/archive/WEBSOCKET_SUBSCRIBE_ANALYSIS.md similarity index 100% rename from docs/WEBSOCKET_SUBSCRIBE_ANALYSIS.md rename to docs/archive/WEBSOCKET_SUBSCRIBE_ANALYSIS.md diff --git a/docs/cursor_binance_automated_trading_system.md b/docs/archive/cursor_binance_automated_trading_system.md similarity index 100% rename from docs/cursor_binance_automated_trading_system.md rename to docs/archive/cursor_binance_automated_trading_system.md diff --git a/docs/new_suggestion20260117.md b/docs/archive/new_suggestion20260117.md similarity index 100% rename from docs/new_suggestion20260117.md rename to docs/archive/new_suggestion20260117.md diff --git a/docs/newplan20260115.md b/docs/archive/newplan20260115.md similarity index 100% rename from docs/newplan20260115.md rename to docs/archive/newplan20260115.md diff --git a/docs/亏损分析_ZENUSDT.md b/docs/archive/亏损分析_ZENUSDT.md similarity index 100% rename from docs/亏损分析_ZENUSDT.md rename to docs/archive/亏损分析_ZENUSDT.md diff --git a/docs/交易对筛选优化完成总结_2026-01-27.md b/docs/archive/交易对筛选优化完成总结_2026-01-27.md similarity index 100% rename from docs/交易对筛选优化完成总结_2026-01-27.md rename to docs/archive/交易对筛选优化完成总结_2026-01-27.md diff --git a/docs/交易对筛选优化方案_2026-01-27.md b/docs/archive/交易对筛选优化方案_2026-01-27.md similarity index 100% rename from docs/交易对筛选优化方案_2026-01-27.md rename to docs/archive/交易对筛选优化方案_2026-01-27.md diff --git a/docs/交易数据分析_2026-01-25.md b/docs/archive/交易数据分析_2026-01-25.md similarity index 100% rename from docs/交易数据分析_2026-01-25.md rename to docs/archive/交易数据分析_2026-01-25.md diff --git a/docs/交易数据分析_2026-01-25_完整版.md b/docs/archive/交易数据分析_2026-01-25_完整版.md similarity index 100% rename from docs/交易数据分析_2026-01-25_完整版.md rename to docs/archive/交易数据分析_2026-01-25_完整版.md diff --git a/docs/交易数据分析_2026-01-27_ATR使用合理性分析.md b/docs/archive/交易数据分析_2026-01-27_ATR使用合理性分析.md similarity index 100% rename from docs/交易数据分析_2026-01-27_ATR使用合理性分析.md rename to docs/archive/交易数据分析_2026-01-27_ATR使用合理性分析.md diff --git a/docs/交易数据分析_2026-01-27_优化效果评估.md b/docs/archive/交易数据分析_2026-01-27_优化效果评估.md similarity index 100% rename from docs/交易数据分析_2026-01-27_优化效果评估.md rename to docs/archive/交易数据分析_2026-01-27_优化效果评估.md diff --git a/docs/交易数据分析_2026-01-27_止损问题分析.md b/docs/archive/交易数据分析_2026-01-27_止损问题分析.md similarity index 100% rename from docs/交易数据分析_2026-01-27_止损问题分析.md rename to docs/archive/交易数据分析_2026-01-27_止损问题分析.md diff --git a/docs/交易策略问题诊断_2026-01-28.md b/docs/archive/交易策略问题诊断_2026-01-28.md similarity index 100% rename from docs/交易策略问题诊断_2026-01-28.md rename to docs/archive/交易策略问题诊断_2026-01-28.md diff --git a/docs/修复日志格式化错误和订单状态延迟分析.md b/docs/archive/修复日志格式化错误和订单状态延迟分析.md similarity index 100% rename from docs/修复日志格式化错误和订单状态延迟分析.md rename to docs/archive/修复日志格式化错误和订单状态延迟分析.md diff --git a/docs/分步止盈vs移动止损_山寨币交易适用性分析.md b/docs/archive/分步止盈vs移动止损_山寨币交易适用性分析.md similarity index 100% rename from docs/分步止盈vs移动止损_山寨币交易适用性分析.md rename to docs/archive/分步止盈vs移动止损_山寨币交易适用性分析.md diff --git a/docs/分步止盈与移动止损兼容性分析.md b/docs/archive/分步止盈与移动止损兼容性分析.md similarity index 100% rename from docs/分步止盈与移动止损兼容性分析.md rename to docs/archive/分步止盈与移动止损兼容性分析.md diff --git a/docs/分步止盈优化_30%固定止盈.md b/docs/archive/分步止盈优化_30%固定止盈.md similarity index 100% rename from docs/分步止盈优化_30%固定止盈.md rename to docs/archive/分步止盈优化_30%固定止盈.md diff --git a/docs/分步止盈状态管理分析与优化方案_2026-01-27.md b/docs/archive/分步止盈状态管理分析与优化方案_2026-01-27.md similarity index 100% rename from docs/分步止盈状态管理分析与优化方案_2026-01-27.md rename to docs/archive/分步止盈状态管理分析与优化方案_2026-01-27.md diff --git a/docs/分步止盈状态细分实施完成总结_2026-01-27.md b/docs/archive/分步止盈状态细分实施完成总结_2026-01-27.md similarity index 100% rename from docs/分步止盈状态细分实施完成总结_2026-01-27.md rename to docs/archive/分步止盈状态细分实施完成总结_2026-01-27.md diff --git a/docs/分步止盈策略收益分析.md b/docs/archive/分步止盈策略收益分析.md similarity index 100% rename from docs/分步止盈策略收益分析.md rename to docs/archive/分步止盈策略收益分析.md diff --git a/docs/单量少和盈利不平仓问题分析.md b/docs/archive/单量少和盈利不平仓问题分析.md similarity index 100% rename from docs/单量少和盈利不平仓问题分析.md rename to docs/archive/单量少和盈利不平仓问题分析.md diff --git a/docs/山寨币策略_4H趋势中性分析.md b/docs/archive/山寨币策略_4H趋势中性分析.md similarity index 100% rename from docs/山寨币策略_4H趋势中性分析.md rename to docs/archive/山寨币策略_4H趋势中性分析.md diff --git a/docs/山寨币策略完成总结.md b/docs/archive/山寨币策略完成总结.md similarity index 100% rename from docs/山寨币策略完成总结.md rename to docs/archive/山寨币策略完成总结.md diff --git a/docs/山寨币策略配置优化方案_2026-01-27.md b/docs/archive/山寨币策略配置优化方案_2026-01-27.md similarity index 100% rename from docs/山寨币策略配置优化方案_2026-01-27.md rename to docs/archive/山寨币策略配置优化方案_2026-01-27.md diff --git a/docs/市场扫描优化分析.md b/docs/archive/市场扫描优化分析.md similarity index 100% rename from docs/市场扫描优化分析.md rename to docs/archive/市场扫描优化分析.md diff --git a/docs/市场扫描优化完成总结.md b/docs/archive/市场扫描优化完成总结.md similarity index 100% rename from docs/市场扫描优化完成总结.md rename to docs/archive/市场扫描优化完成总结.md diff --git a/docs/市场扫描深度分析.md b/docs/archive/市场扫描深度分析.md similarity index 100% rename from docs/市场扫描深度分析.md rename to docs/archive/市场扫描深度分析.md diff --git a/docs/并发数优化说明.md b/docs/archive/并发数优化说明.md similarity index 100% rename from docs/并发数优化说明.md rename to docs/archive/并发数优化说明.md diff --git a/docs/扫描效率优化完成总结.md b/docs/archive/扫描效率优化完成总结.md similarity index 100% rename from docs/扫描效率优化完成总结.md rename to docs/archive/扫描效率优化完成总结.md diff --git a/docs/扫描时间对齐分析.md b/docs/archive/扫描时间对齐分析.md similarity index 100% rename from docs/扫描时间对齐分析.md rename to docs/archive/扫描时间对齐分析.md diff --git a/docs/扫描时间差异分析.md b/docs/archive/扫描时间差异分析.md similarity index 100% rename from docs/扫描时间差异分析.md rename to docs/archive/扫描时间差异分析.md diff --git a/docs/扫描结果缓存分析.md b/docs/archive/扫描结果缓存分析.md similarity index 100% rename from docs/扫描结果缓存分析.md rename to docs/archive/扫描结果缓存分析.md diff --git a/docs/排查账户未下单问题指南.md b/docs/archive/排查账户未下单问题指南.md similarity index 100% rename from docs/排查账户未下单问题指南.md rename to docs/archive/排查账户未下单问题指南.md diff --git a/docs/推荐系统日志和运行状态检查.md b/docs/archive/推荐系统日志和运行状态检查.md similarity index 100% rename from docs/推荐系统日志和运行状态检查.md rename to docs/archive/推荐系统日志和运行状态检查.md diff --git a/docs/推荐系统超时问题和交易数据分析_2026-01-26.md b/docs/archive/推荐系统超时问题和交易数据分析_2026-01-26.md similarity index 100% rename from docs/推荐系统超时问题和交易数据分析_2026-01-26.md rename to docs/archive/推荐系统超时问题和交易数据分析_2026-01-26.md diff --git a/docs/数据迁移执行指南.md b/docs/archive/数据迁移执行指南.md similarity index 100% rename from docs/数据迁移执行指南.md rename to docs/archive/数据迁移执行指南.md diff --git a/docs/止损价计算错误分析_DUSKUSDT.md b/docs/archive/止损价计算错误分析_DUSKUSDT.md similarity index 100% rename from docs/止损价计算错误分析_DUSKUSDT.md rename to docs/archive/止损价计算错误分析_DUSKUSDT.md diff --git a/docs/止损失效问题修复_2026-01-26.md b/docs/archive/止损失效问题修复_2026-01-26.md similarity index 100% rename from docs/止损失效问题修复_2026-01-26.md rename to docs/archive/止损失效问题修复_2026-01-26.md diff --git a/docs/止损失效问题分析_2026-01-26.md b/docs/archive/止损失效问题分析_2026-01-26.md similarity index 100% rename from docs/止损失效问题分析_2026-01-26.md rename to docs/archive/止损失效问题分析_2026-01-26.md diff --git a/docs/盈利单被错误标记为止损问题修复总结_2026-01-27.md b/docs/archive/盈利单被错误标记为止损问题修复总结_2026-01-27.md similarity index 100% rename from docs/盈利单被错误标记为止损问题修复总结_2026-01-27.md rename to docs/archive/盈利单被错误标记为止损问题修复总结_2026-01-27.md diff --git a/docs/盈利单被错误标记为止损问题分析_2026-01-27.md b/docs/archive/盈利单被错误标记为止损问题分析_2026-01-27.md similarity index 100% rename from docs/盈利单被错误标记为止损问题分析_2026-01-27.md rename to docs/archive/盈利单被错误标记为止损问题分析_2026-01-27.md diff --git a/docs/策略优化实施完成总结_2026-01-27.md b/docs/archive/策略优化实施完成总结_2026-01-27.md similarity index 100% rename from docs/策略优化实施完成总结_2026-01-27.md rename to docs/archive/策略优化实施完成总结_2026-01-27.md diff --git a/docs/策略优化建议评估与实施方案_2026-01-27.md b/docs/archive/策略优化建议评估与实施方案_2026-01-27.md similarity index 100% rename from docs/策略优化建议评估与实施方案_2026-01-27.md rename to docs/archive/策略优化建议评估与实施方案_2026-01-27.md diff --git a/docs/策略执行分析_2026-01-30.md b/docs/archive/策略执行分析_2026-01-30.md similarity index 100% rename from docs/策略执行分析_2026-01-30.md rename to docs/archive/策略执行分析_2026-01-30.md diff --git a/docs/策略执行分析_2026-01-31.md b/docs/archive/策略执行分析_2026-01-31.md similarity index 100% rename from docs/策略执行分析_2026-01-31.md rename to docs/archive/策略执行分析_2026-01-31.md diff --git a/docs/策略调整建议_2026-01-28.md b/docs/archive/策略调整建议_2026-01-28.md similarity index 100% rename from docs/策略调整建议_2026-01-28.md rename to docs/archive/策略调整建议_2026-01-28.md diff --git a/docs/解决账户未下单问题_4H趋势中性过滤.md b/docs/archive/解决账户未下单问题_4H趋势中性过滤.md similarity index 100% rename from docs/解决账户未下单问题_4H趋势中性过滤.md rename to docs/archive/解决账户未下单问题_4H趋势中性过滤.md diff --git a/docs/账户交易差异分析.md b/docs/archive/账户交易差异分析.md similarity index 100% rename from docs/账户交易差异分析.md rename to docs/archive/账户交易差异分析.md diff --git a/docs/配置优化实施指南_2026-01-27.md b/docs/archive/配置优化实施指南_2026-01-27.md similarity index 100% rename from docs/配置优化实施指南_2026-01-27.md rename to docs/archive/配置优化实施指南_2026-01-27.md diff --git a/docs/配置修改合理性分析和杠杆评估.md b/docs/archive/配置修改合理性分析和杠杆评估.md similarity index 100% rename from docs/配置修改合理性分析和杠杆评估.md rename to docs/archive/配置修改合理性分析和杠杆评估.md diff --git a/docs/配置值格式简化方案.md b/docs/archive/配置值格式简化方案.md similarity index 100% rename from docs/配置值格式简化方案.md rename to docs/archive/配置值格式简化方案.md diff --git a/docs/配置值格式统一_实施指南.md b/docs/archive/配置值格式统一_实施指南.md similarity index 100% rename from docs/配置值格式统一_实施指南.md rename to docs/archive/配置值格式统一_实施指南.md diff --git a/docs/配置值格式统一_最终方案.md b/docs/archive/配置值格式统一_最终方案.md similarity index 100% rename from docs/配置值格式统一_最终方案.md rename to docs/archive/配置值格式统一_最终方案.md diff --git a/docs/配置值格式统一方案.md b/docs/archive/配置值格式统一方案.md similarity index 100% rename from docs/配置值格式统一方案.md rename to docs/archive/配置值格式统一方案.md diff --git a/docs/配置值格式统一方案_简化版.md b/docs/archive/配置值格式统一方案_简化版.md similarity index 100% rename from docs/配置值格式统一方案_简化版.md rename to docs/archive/配置值格式统一方案_简化版.md diff --git a/docs/配置值格式转换修复_2026-01-26.md b/docs/archive/配置值格式转换修复_2026-01-26.md similarity index 100% rename from docs/配置值格式转换修复_2026-01-26.md rename to docs/archive/配置值格式转换修复_2026-01-26.md diff --git a/docs/配置显示错误和交易问题分析_2026-01-26.md b/docs/archive/配置显示错误和交易问题分析_2026-01-26.md similarity index 100% rename from docs/配置显示错误和交易问题分析_2026-01-26.md rename to docs/archive/配置显示错误和交易问题分析_2026-01-26.md diff --git a/docs/当前策略方案总结_2026-02-15.md b/docs/当前策略方案总结_2026-02-15.md new file mode 100644 index 0000000..b207199 --- /dev/null +++ b/docs/当前策略方案总结_2026-02-15.md @@ -0,0 +1,117 @@ +# 当前策略方案总结(2026-02-15) + +根据近期文档(止盈止损与盈利优化、持仓分析、risk_profile、快速使用、交易对比分析等)和你做的修改记录,整理成一份可核对的策略方案摘要。 + +--- + +## 一、策略定位与目标 + +- **风格**:回归 **2 月 10–11 日盈利期** 的风格——纯趋势跟踪、不逆势、止盈/止损有封顶、单笔风险可控。 +- **核心矛盾**:2 月 12 日后一度「紧止损 + 高杠杆 + 大单笔风险 + RSI 反向」,导致止损多、止盈少;已通过参数与开关回拨到盈利期思路。 +- **目标**:减少逆势单与无效止损,让止盈更容易触发,同时保留风控封顶与趋势/过滤逻辑。 + +--- + +## 二、入场与过滤(与盈利期对齐) + +| 项目 | 当前设定 | 说明 | +|------|----------|------| +| **RSI 极限反转** | **关闭** `RSI_EXTREME_REVERSE_ENABLED = false` | 盈利期无 RSI 反向单;避免在趋势里逆势做空/做多 | +| **若将来再开反向** | `RSI_EXTREME_REVERSE_ONLY_NEUTRAL_4H = true` | 仅允许 4H 中性时 RSI 反向 | +| **只做趋势** | `AUTO_TRADE_ONLY_TRENDING = true` | 仅 `market_regime=trending` 自动开仓 | +| **4H 中性** | `AUTO_TRADE_ALLOW_4H_NEUTRAL = false` | 不放宽到 4H 中性开仓 | +| **信号强度** | `MIN_SIGNAL_STRENGTH = 8` | 与盈利期一致,不降低 | +| **过滤** | BETA_FILTER、涨跌幅/RSI/趋势入场过滤、连续亏损冷却等 | 保持,不放松 | + +--- + +## 三、止损与止盈 + +### 1. 止盈/止损封顶(必开) + +- **USE_MARGIN_CAP_FOR_TP = true**:止盈按保证金比例封顶,避免 +200% 那种过远止盈。 +- **USE_MARGIN_CAP_FOR_SL = true**:止损按保证金比例封顶,避免 -60%~-80% 扛单。 + +### 2. 止盈距离(易达成、易盈利) + +- **第二目标止盈 TAKE_PROFIT_PERCENT**:建议 **0.28~0.30**(28%~30% 保证金),不再用 0.55(55%),否则很难触发。 +- **第一目标止盈 TAKE_PROFIT_1_PERCENT**:建议 **0.20**(20%),须小于第二目标;先到 20% 部分平仓锁利,剩余看 30% 或移动止损。 + +### 3. 止损距离(抗波动 + 可控亏) + +- **STOP_LOSS_PERCENT**:建议 **0.10**(10% 保证金)为默认;8% 偏紧易被扫,12% 可给极波动标的。 +- **ATR 止损**:从极紧(0.5 倍)调回 **1.5~3 倍**(ATR_STOP_LOSS_MULTIPLIER=3,ATR_MULTIPLIER_MIN/MAX=1.5/2.5),给行情波动空间,再配合保证金封顶限制单笔最大亏损。 + +### 4. 双通道执行 + +- **交易所条件单**:开仓/补挂时在币安挂 STOP_MARKET + TAKE_PROFIT_MARKET,断网/重启后仍能按价执行。 +- **本机 WebSocket**:移动止损、TP1 部分平仓、挂单失败兜底;移动止损激活/更新时会同步到交易所(重挂条件单)。 + +--- + +## 四、杠杆与单笔风险(回归盈利期) + +| 项目 | 当前设定 | 说明 | +|------|----------|------| +| **单笔风险** | `FIXED_RISK_PERCENT = 0.01`(1%) | 从 3% 降回 1%,单笔亏损可控 | +| **基础杠杆** | `LEVERAGE = 4`,`MIN_LEVERAGE = 4`,`MAX_LEVERAGE = 12` | 从 8 倍降回 4 倍,降低波动与回撤 | +| **小众币杠杆** | `MAX_LEVERAGE_SMALL_CAP = 4` | 与小资金/稳健风格一致 | +| **固定风险 sizing** | `USE_FIXED_RISK_SIZING = true` | 保持 | + +--- + +## 五、移动止损 + +- **激活**:`TRAILING_STOP_ACTIVATION = 0.10`(盈利 10% 即激活),不再等 30%。 +- **保护**:`TRAILING_STOP_PROTECT = 0.02`(保护 2% 利润)。 +- **USE_TRAILING_STOP = true**:保持开启。 + +--- + +## 六、仓位与频率 + +- **MAX_OPEN_POSITIONS**:预设里 4;小资金可考虑 6~8,避免过多分散。 +- **MAX_DAILY_ENTRIES**:15。 +- **信号强度仓位放大**:弱化 10 分信号放大(如 10 分 1.1 倍),避免单笔失误放大回撤。 + +--- + +## 七、扫描与周期 + +- **SCAN_INTERVAL**:900(15 分钟)等,按预设。 +- **PRIMARY_INTERVAL / ENTRY_INTERVAL / CONFIRM_INTERVAL**:4h / 1h / 1d 等,与趋势+过滤逻辑一致。 +- **TOP_N_SYMBOLS / MAX_SCAN_SYMBOLS**:如 30 / 500,保持质量与覆盖平衡。 + +--- + +## 八、持仓同步与补建(近期代码修改) + +- **补建去重**:同一 `entry_order_id` + symbol 在 DB 已有记录(不论 open/closed)则**不再补建**,避免同单多笔(如 PYTHUSDT 重复单)。 +- **来历不明单**:币安有仓、DB 无且无法确认为系统单时,仍**补建并自动挂 SL/TP、纳入监控**,且在 DB 用 `entry_reason = sync_recovered_unknown_origin` 标记,便于统计。 +- **止损价校验**:若算出的止损价等于入场价(如 SELL 时 ≤ 入场价),自动修正为最小 0.5% 距离并继续挂单,不因校验失败跳过挂单。 +- **平仓 DB 更新**:更新平仓状态时**重试 3 次、间隔 2 秒**,应对 TimeoutError。 +- **只读请求**:不提高 READ_ONLY_REQUEST_TIMEOUT(保持 60 秒),通过**固定重试次数 + 退避**应对偶发超时,不增加对币安请求次数、不影响实时性。 + +--- + +## 九、快速使用方式 + +1. **一键应用**:在**全局配置**页点击 **「山寨币策略(推荐)」**,会写入上述 RSI 关闭、止盈/止损封顶、杠杆与风险等,并写入 `global_strategy_config`。 +2. **生效**:改完后**重启交易进程**(或等配置热更新),新开仓按新逻辑执行。 +3. **个人配置**:策略以**全局配置**为准;不在「我的配置」里覆盖仓位/每日笔数/只做趋势等,即可与预设一致。 + +--- + +## 十、小结核对表 + +| 维度 | 是否与盈利期/文档一致 | +|------|------------------------| +| 关闭 RSI 极限反转 | ✓ | +| 仅趋势市开仓、信号强度≥8 | ✓ | +| 止盈/止损保证金封顶 | ✓ | +| 止盈 28%~30%、止损约 10%、ATR 放宽 | ✓ | +| 单笔风险 1%、杠杆 4 倍为主 | ✓ | +| 移动止损 10% 激活、2% 保护 | ✓ | +| 补建不重复、来历不明标记、挂单与 DB 稳健 | ✓ | + +若某一项与你的预期不符,可以指出具体配置项或文档段落,再对表或代码做针对性核对与修改。 diff --git a/docs/订单与统计一致性说明.md b/docs/订单与统计一致性说明.md index 6f0ec7c..5bf8679 100644 --- a/docs/订单与统计一致性说明.md +++ b/docs/订单与统计一致性说明.md @@ -52,16 +52,25 @@ --- -## 三、小结:能否「直接保证」? +## 三、订单记录与统计「与币安一致」的根治方式 + +- **问题**:DB 中可能存在币安上看不到的订单(补建脏数据、重复单、无订单号记录),导致系统统计与币安实际盈亏偏差(如系统显示盈利、币安实际亏损)。 +- **根治**:接口支持 **仅可对账** 口径: + - **可对账** 定义:有 `entry_order_id`(开仓订单号),且若已平仓则还有 `exit_order_id`(平仓订单号),能与币安订单一一对应。 + - **GET /api/trades**、**GET /api/trades/stats** 均支持查询参数 **`reconciled_only`**(默认 **true**): + - `reconciled_only=true`:只返回/只统计上述可对账记录,**日盈亏与策略统计与币安一致**。 + - `reconciled_only=false`:返回/统计全部 DB 记录(含无订单号的补建等),可能与币安不一致。 + - 前端「交易记录」页默认勾选「仅可对账(与币安一致)」,可取消勾选查看全部记录。 + +## 四、小结:能否「直接保证」? - **持仓与币安一致**:可以,当前实现已保证(实时持仓 + 按前缀补建)。 - **订单记录与币安可对账**:可以,`entry_order_id` / `exit_order_id` 与防重复逻辑已保证一一对应、不重复。 -- **统计准确性**:在「同一笔平仓只被记录一次」和「按净盈亏汇总」上已保证;**手续费与实际盈亏**已在所有关仓路径补全: - - 系统/仪表板平仓、持仓同步、订单同步 均会按 `exit_order_id` 拉取成交并写入 commission/realized_pnl,统计与币安对齐。 +- **统计与币安一致**:使用 **仅可对账** 口径(`reconciled_only=true`,默认)时,日盈亏、胜率、总盈亏等只基于可对账记录,与币安一致;同一笔平仓只被记录一次,手续费与实际盈亏已在关仓路径补全。 --- -## 四、下单路径与「意外订单」排查 +## 五、下单路径与「意外订单」排查 ### 1. 会向币安下单的入口(汇总) diff --git a/frontend/src/components/TradeList.jsx b/frontend/src/components/TradeList.jsx index 8c1c714..39bf080 100644 --- a/frontend/src/components/TradeList.jsx +++ b/frontend/src/components/TradeList.jsx @@ -20,10 +20,11 @@ const TradeList = () => { const [useCustomDate, setUseCustomDate] = useState(false) const [tradeType, setTradeType] = useState('') const [exitReason, setExitReason] = useState('') + const [reconciledOnly, setReconciledOnly] = useState(true) // 默认仅可对账,与币安一致 useEffect(() => { loadData() - }, [accountId]) // 当 accountId 变化时重新加载 + }, [accountId, reconciledOnly]) // accountId 或「仅可对账」变化时重新加载 const loadData = async () => { setLoading(true) @@ -45,6 +46,7 @@ const TradeList = () => { if (status) params.status = status if (tradeType) params.trade_type = tradeType if (exitReason) params.exit_reason = exitReason + params.reconciled_only = reconciledOnly const [tradesData, statsData] = await Promise.all([ api.getTrades(params), @@ -80,6 +82,7 @@ const TradeList = () => { setSymbol('') setStatus('') setUseCustomDate(false) + setReconciledOnly(true) } // 导出当前订单数据(含入场/离场原因、入场思路等完整字段,便于后续分析) @@ -308,7 +311,7 @@ const TradeList = () => {

交易记录

- 说明:每条记录代表一笔完整的交易(开仓+平仓),统计总盈亏时每条记录只计算一次 + 说明:每条记录代表一笔完整的交易(开仓+平仓),统计总盈亏时每条记录只计算一次。默认「仅可对账」:只显示有开仓/平仓订单号的记录,统计与币安一致。

{/* 筛选面板 */} @@ -442,6 +445,17 @@ const TradeList = () => {
+
+ +
+