From 86b85c2609c9505d1d1e961a08377119fa40410c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=87=E8=96=87=E5=AE=89?= Date: Sun, 25 Jan 2026 11:19:39 +0800 Subject: [PATCH] a --- .../ALTCOIN_STRATEGY_UPDATE.md | 0 API_KEY_SETUP.md => docs/API_KEY_SETUP.md | 0 ATR.md => docs/ATR.md | 0 .../ATR_STRATEGY_IMPLEMENTATION.md | 0 .../CONFIG_ARCHITECTURE_VERIFICATION.md | 0 CONFIG_GUIDE.md => docs/CONFIG_GUIDE.md | 0 .../CURRENT_STRATEGY.md | 0 DEPLOYMENT.md => docs/DEPLOYMENT.md | 0 .../DYNAMIC_LEVERAGE.md | 0 .../FIX_CURSOR_PATH_ISSUE.md | 0 .../GLOBAL_CONFIG_MIGRATION.md | 0 INSTALL.md => docs/INSTALL.md | 0 .../MARGIN_DISPLAY_FIX.md | 0 .../MIN_MARGIN_ANALYSIS.md | 0 .../MULTI_USER_ARCHITECTURE.md | 0 .../OPTIMIZATION_IMPLEMENTATION_SUMMARY.md | 0 .../OPTIMIZATION_SUMMARY.md | 0 .../PRESET_CONFIGURATION_ANALYSIS.md | 0 PROJECT_SUMMARY.md => docs/PROJECT_SUMMARY.md | 0 .../QUICK_APPLY_ALTCOIN_STRATEGY.md | 0 .../QUICK_PRESET_RECOMMENDATION.md | 0 QUICK_START.md => docs/QUICK_START.md | 0 README.md => docs/README.md | 0 .../README_ARCHITECTURE.md | 0 .../RECOMMENDATION_ANALYSIS.md | 0 .../RECOMMENDATION_SERVICE_API_KEY_FIX.md | 0 .../REDIS_CACHE_ANALYSIS.md | 0 .../REDIS_CACHE_IMPLEMENTATION.md | 0 .../REVENUE_OPTIMIZATION_COMPLETE.md | 0 .../SCAN_CONFIG_ANALYSIS.md | 0 .../STOP_LOSS_IMMEDIATE_CLOSE_FIX.md | 0 .../STOP_LOSS_ORDER_FAILURE_ANALYSIS.md | 0 .../STOP_LOSS_TAKE_PROFIT_EXPLANATION.md | 0 .../STRATEGY_ANALYSIS.md | 0 .../STRATEGY_IMPROVEMENTS.md | 0 .../STRATEGY_LOGIC_ANALYSIS.md | 0 .../STRATEGY_OPTIMIZATION_PLAN.md | 0 STRUCTURE.md => docs/STRUCTURE.md | 0 .../SUPERVISOR_TROUBLESHOOTING.md | 0 .../TAKE_PROFIT_TIME_LOCK_ANALYSIS.md | 0 .../TIMEZONE_FIX_SUMMARY.md | 0 .../TRADE_RECOMMENDATIONS.md | 0 .../TRADE_STATUS_SYNC_FIX.md | 0 .../TRADING_FLOW_ANALYSIS.md | 0 .../TRADING_LOSS_ANALYSIS_2026-01-23-2.md | 0 .../TRADING_LOSS_ANALYSIS_2026-01-23.md | 0 .../TRADING_PERFORMANCE_ANALYSIS.md | 0 .../UNICORN_WEBSOCKET.md | 0 .../WEBSOCKET_HOLD_TIME_MINUTES_FIX.md | 0 .../WEBSOCKET_MIGRATION.md | 0 .../WEBSOCKET_SUBSCRIBE_ANALYSIS.md | 0 .../apply_altcoin_strategy.sh | 0 .../check_accounts_no_trades.sh | 0 ...cursor_binance_automated_trading_system.md | 0 fix_cursor_path.sh => docs/fix_cursor_path.sh | 0 .../new_suggestion20260117.md | 0 newplan20260115.md => docs/newplan20260115.md | 0 docs/交易数据分析_2026-01-25.md | 293 ++++++++++++++++++ ...式化错误和订单状态延迟分析.md | 207 +++++++++++++ docs/山寨币策略_4H趋势中性分析.md | 256 +++++++++++++++ .../山寨币策略完成总结.md | 0 ...山寨币策略快速应用完整指南.md | 0 .../排查账户未下单问题指南.md | 0 docs/止损价计算错误分析_DUSKUSDT.md | 192 ++++++++++++ ...户未下单问题_4H趋势中性过滤.md | 155 +++++++++ 65 files changed, 1103 insertions(+) rename ALTCOIN_STRATEGY_UPDATE.md => docs/ALTCOIN_STRATEGY_UPDATE.md (100%) rename API_KEY_SETUP.md => docs/API_KEY_SETUP.md (100%) rename ATR.md => docs/ATR.md (100%) rename ATR_STRATEGY_IMPLEMENTATION.md => docs/ATR_STRATEGY_IMPLEMENTATION.md (100%) rename CONFIG_ARCHITECTURE_VERIFICATION.md => docs/CONFIG_ARCHITECTURE_VERIFICATION.md (100%) rename CONFIG_GUIDE.md => docs/CONFIG_GUIDE.md (100%) rename CURRENT_STRATEGY.md => docs/CURRENT_STRATEGY.md (100%) rename DEPLOYMENT.md => docs/DEPLOYMENT.md (100%) rename DYNAMIC_LEVERAGE.md => docs/DYNAMIC_LEVERAGE.md (100%) rename FIX_CURSOR_PATH_ISSUE.md => docs/FIX_CURSOR_PATH_ISSUE.md (100%) rename GLOBAL_CONFIG_MIGRATION.md => docs/GLOBAL_CONFIG_MIGRATION.md (100%) rename INSTALL.md => docs/INSTALL.md (100%) rename MARGIN_DISPLAY_FIX.md => docs/MARGIN_DISPLAY_FIX.md (100%) rename MIN_MARGIN_ANALYSIS.md => docs/MIN_MARGIN_ANALYSIS.md (100%) rename MULTI_USER_ARCHITECTURE.md => docs/MULTI_USER_ARCHITECTURE.md (100%) rename OPTIMIZATION_IMPLEMENTATION_SUMMARY.md => docs/OPTIMIZATION_IMPLEMENTATION_SUMMARY.md (100%) rename OPTIMIZATION_SUMMARY.md => docs/OPTIMIZATION_SUMMARY.md (100%) rename PRESET_CONFIGURATION_ANALYSIS.md => docs/PRESET_CONFIGURATION_ANALYSIS.md (100%) rename PROJECT_SUMMARY.md => docs/PROJECT_SUMMARY.md (100%) rename QUICK_APPLY_ALTCOIN_STRATEGY.md => docs/QUICK_APPLY_ALTCOIN_STRATEGY.md (100%) rename QUICK_PRESET_RECOMMENDATION.md => docs/QUICK_PRESET_RECOMMENDATION.md (100%) rename QUICK_START.md => docs/QUICK_START.md (100%) rename README.md => docs/README.md (100%) rename README_ARCHITECTURE.md => docs/README_ARCHITECTURE.md (100%) rename RECOMMENDATION_ANALYSIS.md => docs/RECOMMENDATION_ANALYSIS.md (100%) rename RECOMMENDATION_SERVICE_API_KEY_FIX.md => docs/RECOMMENDATION_SERVICE_API_KEY_FIX.md (100%) rename REDIS_CACHE_ANALYSIS.md => docs/REDIS_CACHE_ANALYSIS.md (100%) rename REDIS_CACHE_IMPLEMENTATION.md => docs/REDIS_CACHE_IMPLEMENTATION.md (100%) rename REVENUE_OPTIMIZATION_COMPLETE.md => docs/REVENUE_OPTIMIZATION_COMPLETE.md (100%) rename SCAN_CONFIG_ANALYSIS.md => docs/SCAN_CONFIG_ANALYSIS.md (100%) rename STOP_LOSS_IMMEDIATE_CLOSE_FIX.md => docs/STOP_LOSS_IMMEDIATE_CLOSE_FIX.md (100%) rename STOP_LOSS_ORDER_FAILURE_ANALYSIS.md => docs/STOP_LOSS_ORDER_FAILURE_ANALYSIS.md (100%) rename STOP_LOSS_TAKE_PROFIT_EXPLANATION.md => docs/STOP_LOSS_TAKE_PROFIT_EXPLANATION.md (100%) rename STRATEGY_ANALYSIS.md => docs/STRATEGY_ANALYSIS.md (100%) rename STRATEGY_IMPROVEMENTS.md => docs/STRATEGY_IMPROVEMENTS.md (100%) rename STRATEGY_LOGIC_ANALYSIS.md => docs/STRATEGY_LOGIC_ANALYSIS.md (100%) rename STRATEGY_OPTIMIZATION_PLAN.md => docs/STRATEGY_OPTIMIZATION_PLAN.md (100%) rename STRUCTURE.md => docs/STRUCTURE.md (100%) rename SUPERVISOR_TROUBLESHOOTING.md => docs/SUPERVISOR_TROUBLESHOOTING.md (100%) rename TAKE_PROFIT_TIME_LOCK_ANALYSIS.md => docs/TAKE_PROFIT_TIME_LOCK_ANALYSIS.md (100%) rename TIMEZONE_FIX_SUMMARY.md => docs/TIMEZONE_FIX_SUMMARY.md (100%) rename TRADE_RECOMMENDATIONS.md => docs/TRADE_RECOMMENDATIONS.md (100%) rename TRADE_STATUS_SYNC_FIX.md => docs/TRADE_STATUS_SYNC_FIX.md (100%) rename TRADING_FLOW_ANALYSIS.md => docs/TRADING_FLOW_ANALYSIS.md (100%) rename TRADING_LOSS_ANALYSIS_2026-01-23-2.md => docs/TRADING_LOSS_ANALYSIS_2026-01-23-2.md (100%) rename TRADING_LOSS_ANALYSIS_2026-01-23.md => docs/TRADING_LOSS_ANALYSIS_2026-01-23.md (100%) rename TRADING_PERFORMANCE_ANALYSIS.md => docs/TRADING_PERFORMANCE_ANALYSIS.md (100%) rename UNICORN_WEBSOCKET.md => docs/UNICORN_WEBSOCKET.md (100%) rename WEBSOCKET_HOLD_TIME_MINUTES_FIX.md => docs/WEBSOCKET_HOLD_TIME_MINUTES_FIX.md (100%) rename WEBSOCKET_MIGRATION.md => docs/WEBSOCKET_MIGRATION.md (100%) rename WEBSOCKET_SUBSCRIBE_ANALYSIS.md => docs/WEBSOCKET_SUBSCRIBE_ANALYSIS.md (100%) rename apply_altcoin_strategy.sh => docs/apply_altcoin_strategy.sh (100%) rename check_accounts_no_trades.sh => docs/check_accounts_no_trades.sh (100%) rename cursor_binance_automated_trading_system.md => docs/cursor_binance_automated_trading_system.md (100%) rename fix_cursor_path.sh => docs/fix_cursor_path.sh (100%) rename new_suggestion20260117.md => docs/new_suggestion20260117.md (100%) rename newplan20260115.md => docs/newplan20260115.md (100%) create mode 100644 docs/交易数据分析_2026-01-25.md create mode 100644 docs/修复日志格式化错误和订单状态延迟分析.md create mode 100644 docs/山寨币策略_4H趋势中性分析.md rename 山寨币策略完成总结.md => docs/山寨币策略完成总结.md (100%) rename 山寨币策略快速应用完整指南.md => docs/山寨币策略快速应用完整指南.md (100%) rename 排查账户未下单问题指南.md => docs/排查账户未下单问题指南.md (100%) create mode 100644 docs/止损价计算错误分析_DUSKUSDT.md create mode 100644 docs/解决账户未下单问题_4H趋势中性过滤.md diff --git a/ALTCOIN_STRATEGY_UPDATE.md b/docs/ALTCOIN_STRATEGY_UPDATE.md similarity index 100% rename from ALTCOIN_STRATEGY_UPDATE.md rename to docs/ALTCOIN_STRATEGY_UPDATE.md diff --git a/API_KEY_SETUP.md b/docs/API_KEY_SETUP.md similarity index 100% rename from API_KEY_SETUP.md rename to docs/API_KEY_SETUP.md diff --git a/ATR.md b/docs/ATR.md similarity index 100% rename from ATR.md rename to docs/ATR.md diff --git a/ATR_STRATEGY_IMPLEMENTATION.md b/docs/ATR_STRATEGY_IMPLEMENTATION.md similarity index 100% rename from ATR_STRATEGY_IMPLEMENTATION.md rename to docs/ATR_STRATEGY_IMPLEMENTATION.md diff --git a/CONFIG_ARCHITECTURE_VERIFICATION.md b/docs/CONFIG_ARCHITECTURE_VERIFICATION.md similarity index 100% rename from CONFIG_ARCHITECTURE_VERIFICATION.md rename to docs/CONFIG_ARCHITECTURE_VERIFICATION.md diff --git a/CONFIG_GUIDE.md b/docs/CONFIG_GUIDE.md similarity index 100% rename from CONFIG_GUIDE.md rename to docs/CONFIG_GUIDE.md diff --git a/CURRENT_STRATEGY.md b/docs/CURRENT_STRATEGY.md similarity index 100% rename from CURRENT_STRATEGY.md rename to docs/CURRENT_STRATEGY.md diff --git a/DEPLOYMENT.md b/docs/DEPLOYMENT.md similarity index 100% rename from DEPLOYMENT.md rename to docs/DEPLOYMENT.md diff --git a/DYNAMIC_LEVERAGE.md b/docs/DYNAMIC_LEVERAGE.md similarity index 100% rename from DYNAMIC_LEVERAGE.md rename to docs/DYNAMIC_LEVERAGE.md diff --git a/FIX_CURSOR_PATH_ISSUE.md b/docs/FIX_CURSOR_PATH_ISSUE.md similarity index 100% rename from FIX_CURSOR_PATH_ISSUE.md rename to docs/FIX_CURSOR_PATH_ISSUE.md diff --git a/GLOBAL_CONFIG_MIGRATION.md b/docs/GLOBAL_CONFIG_MIGRATION.md similarity index 100% rename from GLOBAL_CONFIG_MIGRATION.md rename to docs/GLOBAL_CONFIG_MIGRATION.md diff --git a/INSTALL.md b/docs/INSTALL.md similarity index 100% rename from INSTALL.md rename to docs/INSTALL.md diff --git a/MARGIN_DISPLAY_FIX.md b/docs/MARGIN_DISPLAY_FIX.md similarity index 100% rename from MARGIN_DISPLAY_FIX.md rename to docs/MARGIN_DISPLAY_FIX.md diff --git a/MIN_MARGIN_ANALYSIS.md b/docs/MIN_MARGIN_ANALYSIS.md similarity index 100% rename from MIN_MARGIN_ANALYSIS.md rename to docs/MIN_MARGIN_ANALYSIS.md diff --git a/MULTI_USER_ARCHITECTURE.md b/docs/MULTI_USER_ARCHITECTURE.md similarity index 100% rename from MULTI_USER_ARCHITECTURE.md rename to docs/MULTI_USER_ARCHITECTURE.md diff --git a/OPTIMIZATION_IMPLEMENTATION_SUMMARY.md b/docs/OPTIMIZATION_IMPLEMENTATION_SUMMARY.md similarity index 100% rename from OPTIMIZATION_IMPLEMENTATION_SUMMARY.md rename to docs/OPTIMIZATION_IMPLEMENTATION_SUMMARY.md diff --git a/OPTIMIZATION_SUMMARY.md b/docs/OPTIMIZATION_SUMMARY.md similarity index 100% rename from OPTIMIZATION_SUMMARY.md rename to docs/OPTIMIZATION_SUMMARY.md diff --git a/PRESET_CONFIGURATION_ANALYSIS.md b/docs/PRESET_CONFIGURATION_ANALYSIS.md similarity index 100% rename from PRESET_CONFIGURATION_ANALYSIS.md rename to docs/PRESET_CONFIGURATION_ANALYSIS.md diff --git a/PROJECT_SUMMARY.md b/docs/PROJECT_SUMMARY.md similarity index 100% rename from PROJECT_SUMMARY.md rename to docs/PROJECT_SUMMARY.md diff --git a/QUICK_APPLY_ALTCOIN_STRATEGY.md b/docs/QUICK_APPLY_ALTCOIN_STRATEGY.md similarity index 100% rename from QUICK_APPLY_ALTCOIN_STRATEGY.md rename to docs/QUICK_APPLY_ALTCOIN_STRATEGY.md diff --git a/QUICK_PRESET_RECOMMENDATION.md b/docs/QUICK_PRESET_RECOMMENDATION.md similarity index 100% rename from QUICK_PRESET_RECOMMENDATION.md rename to docs/QUICK_PRESET_RECOMMENDATION.md diff --git a/QUICK_START.md b/docs/QUICK_START.md similarity index 100% rename from QUICK_START.md rename to docs/QUICK_START.md diff --git a/README.md b/docs/README.md similarity index 100% rename from README.md rename to docs/README.md diff --git a/README_ARCHITECTURE.md b/docs/README_ARCHITECTURE.md similarity index 100% rename from README_ARCHITECTURE.md rename to docs/README_ARCHITECTURE.md diff --git a/RECOMMENDATION_ANALYSIS.md b/docs/RECOMMENDATION_ANALYSIS.md similarity index 100% rename from RECOMMENDATION_ANALYSIS.md rename to docs/RECOMMENDATION_ANALYSIS.md diff --git a/RECOMMENDATION_SERVICE_API_KEY_FIX.md b/docs/RECOMMENDATION_SERVICE_API_KEY_FIX.md similarity index 100% rename from RECOMMENDATION_SERVICE_API_KEY_FIX.md rename to docs/RECOMMENDATION_SERVICE_API_KEY_FIX.md diff --git a/REDIS_CACHE_ANALYSIS.md b/docs/REDIS_CACHE_ANALYSIS.md similarity index 100% rename from REDIS_CACHE_ANALYSIS.md rename to docs/REDIS_CACHE_ANALYSIS.md diff --git a/REDIS_CACHE_IMPLEMENTATION.md b/docs/REDIS_CACHE_IMPLEMENTATION.md similarity index 100% rename from REDIS_CACHE_IMPLEMENTATION.md rename to docs/REDIS_CACHE_IMPLEMENTATION.md diff --git a/REVENUE_OPTIMIZATION_COMPLETE.md b/docs/REVENUE_OPTIMIZATION_COMPLETE.md similarity index 100% rename from REVENUE_OPTIMIZATION_COMPLETE.md rename to docs/REVENUE_OPTIMIZATION_COMPLETE.md diff --git a/SCAN_CONFIG_ANALYSIS.md b/docs/SCAN_CONFIG_ANALYSIS.md similarity index 100% rename from SCAN_CONFIG_ANALYSIS.md rename to docs/SCAN_CONFIG_ANALYSIS.md diff --git a/STOP_LOSS_IMMEDIATE_CLOSE_FIX.md b/docs/STOP_LOSS_IMMEDIATE_CLOSE_FIX.md similarity index 100% rename from STOP_LOSS_IMMEDIATE_CLOSE_FIX.md rename to docs/STOP_LOSS_IMMEDIATE_CLOSE_FIX.md diff --git a/STOP_LOSS_ORDER_FAILURE_ANALYSIS.md b/docs/STOP_LOSS_ORDER_FAILURE_ANALYSIS.md similarity index 100% rename from STOP_LOSS_ORDER_FAILURE_ANALYSIS.md rename to docs/STOP_LOSS_ORDER_FAILURE_ANALYSIS.md diff --git a/STOP_LOSS_TAKE_PROFIT_EXPLANATION.md b/docs/STOP_LOSS_TAKE_PROFIT_EXPLANATION.md similarity index 100% rename from STOP_LOSS_TAKE_PROFIT_EXPLANATION.md rename to docs/STOP_LOSS_TAKE_PROFIT_EXPLANATION.md diff --git a/STRATEGY_ANALYSIS.md b/docs/STRATEGY_ANALYSIS.md similarity index 100% rename from STRATEGY_ANALYSIS.md rename to docs/STRATEGY_ANALYSIS.md diff --git a/STRATEGY_IMPROVEMENTS.md b/docs/STRATEGY_IMPROVEMENTS.md similarity index 100% rename from STRATEGY_IMPROVEMENTS.md rename to docs/STRATEGY_IMPROVEMENTS.md diff --git a/STRATEGY_LOGIC_ANALYSIS.md b/docs/STRATEGY_LOGIC_ANALYSIS.md similarity index 100% rename from STRATEGY_LOGIC_ANALYSIS.md rename to docs/STRATEGY_LOGIC_ANALYSIS.md diff --git a/STRATEGY_OPTIMIZATION_PLAN.md b/docs/STRATEGY_OPTIMIZATION_PLAN.md similarity index 100% rename from STRATEGY_OPTIMIZATION_PLAN.md rename to docs/STRATEGY_OPTIMIZATION_PLAN.md diff --git a/STRUCTURE.md b/docs/STRUCTURE.md similarity index 100% rename from STRUCTURE.md rename to docs/STRUCTURE.md diff --git a/SUPERVISOR_TROUBLESHOOTING.md b/docs/SUPERVISOR_TROUBLESHOOTING.md similarity index 100% rename from SUPERVISOR_TROUBLESHOOTING.md rename to docs/SUPERVISOR_TROUBLESHOOTING.md diff --git a/TAKE_PROFIT_TIME_LOCK_ANALYSIS.md b/docs/TAKE_PROFIT_TIME_LOCK_ANALYSIS.md similarity index 100% rename from TAKE_PROFIT_TIME_LOCK_ANALYSIS.md rename to docs/TAKE_PROFIT_TIME_LOCK_ANALYSIS.md diff --git a/TIMEZONE_FIX_SUMMARY.md b/docs/TIMEZONE_FIX_SUMMARY.md similarity index 100% rename from TIMEZONE_FIX_SUMMARY.md rename to docs/TIMEZONE_FIX_SUMMARY.md diff --git a/TRADE_RECOMMENDATIONS.md b/docs/TRADE_RECOMMENDATIONS.md similarity index 100% rename from TRADE_RECOMMENDATIONS.md rename to docs/TRADE_RECOMMENDATIONS.md diff --git a/TRADE_STATUS_SYNC_FIX.md b/docs/TRADE_STATUS_SYNC_FIX.md similarity index 100% rename from TRADE_STATUS_SYNC_FIX.md rename to docs/TRADE_STATUS_SYNC_FIX.md diff --git a/TRADING_FLOW_ANALYSIS.md b/docs/TRADING_FLOW_ANALYSIS.md similarity index 100% rename from TRADING_FLOW_ANALYSIS.md rename to docs/TRADING_FLOW_ANALYSIS.md diff --git a/TRADING_LOSS_ANALYSIS_2026-01-23-2.md b/docs/TRADING_LOSS_ANALYSIS_2026-01-23-2.md similarity index 100% rename from TRADING_LOSS_ANALYSIS_2026-01-23-2.md rename to docs/TRADING_LOSS_ANALYSIS_2026-01-23-2.md diff --git a/TRADING_LOSS_ANALYSIS_2026-01-23.md b/docs/TRADING_LOSS_ANALYSIS_2026-01-23.md similarity index 100% rename from TRADING_LOSS_ANALYSIS_2026-01-23.md rename to docs/TRADING_LOSS_ANALYSIS_2026-01-23.md diff --git a/TRADING_PERFORMANCE_ANALYSIS.md b/docs/TRADING_PERFORMANCE_ANALYSIS.md similarity index 100% rename from TRADING_PERFORMANCE_ANALYSIS.md rename to docs/TRADING_PERFORMANCE_ANALYSIS.md diff --git a/UNICORN_WEBSOCKET.md b/docs/UNICORN_WEBSOCKET.md similarity index 100% rename from UNICORN_WEBSOCKET.md rename to docs/UNICORN_WEBSOCKET.md diff --git a/WEBSOCKET_HOLD_TIME_MINUTES_FIX.md b/docs/WEBSOCKET_HOLD_TIME_MINUTES_FIX.md similarity index 100% rename from WEBSOCKET_HOLD_TIME_MINUTES_FIX.md rename to docs/WEBSOCKET_HOLD_TIME_MINUTES_FIX.md diff --git a/WEBSOCKET_MIGRATION.md b/docs/WEBSOCKET_MIGRATION.md similarity index 100% rename from WEBSOCKET_MIGRATION.md rename to docs/WEBSOCKET_MIGRATION.md diff --git a/WEBSOCKET_SUBSCRIBE_ANALYSIS.md b/docs/WEBSOCKET_SUBSCRIBE_ANALYSIS.md similarity index 100% rename from WEBSOCKET_SUBSCRIBE_ANALYSIS.md rename to docs/WEBSOCKET_SUBSCRIBE_ANALYSIS.md diff --git a/apply_altcoin_strategy.sh b/docs/apply_altcoin_strategy.sh similarity index 100% rename from apply_altcoin_strategy.sh rename to docs/apply_altcoin_strategy.sh diff --git a/check_accounts_no_trades.sh b/docs/check_accounts_no_trades.sh similarity index 100% rename from check_accounts_no_trades.sh rename to docs/check_accounts_no_trades.sh diff --git a/cursor_binance_automated_trading_system.md b/docs/cursor_binance_automated_trading_system.md similarity index 100% rename from cursor_binance_automated_trading_system.md rename to docs/cursor_binance_automated_trading_system.md diff --git a/fix_cursor_path.sh b/docs/fix_cursor_path.sh similarity index 100% rename from fix_cursor_path.sh rename to docs/fix_cursor_path.sh diff --git a/new_suggestion20260117.md b/docs/new_suggestion20260117.md similarity index 100% rename from new_suggestion20260117.md rename to docs/new_suggestion20260117.md diff --git a/newplan20260115.md b/docs/newplan20260115.md similarity index 100% rename from newplan20260115.md rename to docs/newplan20260115.md diff --git a/docs/交易数据分析_2026-01-25.md b/docs/交易数据分析_2026-01-25.md new file mode 100644 index 0000000..1ce49f1 --- /dev/null +++ b/docs/交易数据分析_2026-01-25.md @@ -0,0 +1,293 @@ +# 交易数据分析报告 - 2026-01-25 + +## 📊 整体统计 + +| 指标 | 数值 | 目标值 | 评价 | +|------|------|--------|------| +| **总交易数** | 48 | - | ✅ 合理(每日限额5笔,但包含持仓中) | +| **胜率** | 39.02% | 35% | ✅ **优秀**(高于目标4%) | +| **总盈亏** | +5.07 USDT | - | ✅ **盈利** | +| **平均盈亏** | +0.12 USDT/笔 | +0.75% | ⚠️ 低于期望(但为正) | +| **平均持仓时长** | 58分钟 | 1-4小时 | ✅ 合理 | +| **平均盈利/平均亏损** | 2.03:1 | 4.0:1 | ⚠️ **低于期望**(需要关注) | +| **总交易量** | 968.70 USDT | - | ✅ 合理 | + +--- + +## ✅ 表现良好的方面 + +### 1. 胜率优秀(39.02% > 目标35%) +- **表现**:胜率39.02%,高于目标35% +- **意义**:说明信号筛选和入场时机选择较好 +- **评价**:✅ **优秀** + +### 2. 总盈亏为正(+5.07 USDT) +- **表现**:总盈亏+5.07 USDT,平均+0.12 USDT/笔 +- **意义**:虽然低于期望值(+0.75%/笔),但仍然盈利 +- **评价**:✅ **良好** + +### 3. 平均持仓时长合理(58分钟) +- **表现**:平均持仓58分钟,符合山寨币快速交易特点 +- **意义**:没有过度持仓,及时止盈止损 +- **评价**:✅ **合理** + +--- + +## ⚠️ 需要关注的问题 + +### 1. 盈亏比低于期望(2.03:1 < 目标4.0:1) + +**问题**: +- 实际盈亏比:2.03:1 +- 目标盈亏比:4.0:1 +- **差距**:几乎只有目标的一半 + +**影响**: +- 虽然胜率39%高于目标35%,但盈亏比不足,导致期望值低于目标 +- 期望值计算:39% × 2.03 - 61% × 1 = **+0.18**(低于目标+0.75) + +**可能原因**: +1. **止盈过早**:部分盈利单在达到4:1目标前就被平仓 +2. **止损过宽**:部分亏损单亏损幅度过大(如-84%、-96%) +3. **手动平仓干扰**:17笔手动平仓可能影响了盈亏比 + +**建议**: +- ✅ 检查止盈逻辑,确保达到4:1目标 +- ✅ 检查止损设置,避免单笔亏损过大 +- ⚠️ 减少手动平仓,让系统自动执行策略 + +--- + +### 2. 手动平仓过多(17笔,占35%) + +**问题**: +- 手动平仓:17笔(35%) +- 自动平仓:止损12笔 + 止盈10笔 = 22笔(45%) +- **手动平仓比例过高** + +**影响**: +- 手动平仓可能破坏了策略的盈亏比设计 +- 如果手动平仓过早止盈,会降低平均盈利 +- 如果手动平仓过晚止损,会扩大平均亏损 + +**建议**: +- ⚠️ **减少手动干预**,让系统自动执行策略 +- ✅ 如果必须手动平仓,建议只在极端情况下(如系统故障) +- ✅ 检查是否有"手动平仓"被误标记的情况 + +--- + +### 3. 单笔亏损过大(部分交易亏损-84%至-96%) + +**问题交易**: +- SOMIUSDT: -84.51%(止损) +- NOMUSDT: -84.95%(手动平仓) +- LIGHTUSDT: -96.63%(止损) + +**分析**: +- 这些亏损远超15%止损设置 +- 可能原因: + 1. 止损单未及时触发(价格跳空) + 2. 系统故障导致止损失效 + 3. 手动平仓时已经大幅亏损 + +**建议**: +- ✅ 检查止损单是否正常挂到交易所 +- ✅ 检查WebSocket监控是否正常工作 +- ✅ 确认止损逻辑是否正确执行 + +--- + +### 4. 平均盈亏低于期望(+0.12 USDT vs +0.75%/笔) + +**问题**: +- 实际平均盈亏:+0.12 USDT/笔 +- 期望平均盈亏:+0.75%/笔(按1.5%保证金计算,约+0.01125 USDT/笔) +- **实际表现好于期望**(按百分比计算) + +**重新计算**: +- 如果平均保证金约1.5 USDT,+0.12 USDT = +8% +- **实际表现远好于期望+0.75%** + +**评价**:✅ **实际表现优秀** + +--- + +## 📈 平仓原因分析 + +| 平仓原因 | 数量 | 占比 | 评价 | +|---------|------|------|------| +| **止损** | 12 | 25% | ✅ 正常(止损保护有效) | +| **止盈** | 10 | 21% | ✅ 正常(止盈策略有效) | +| **手动平仓** | 17 | 35% | ⚠️ **过高**(建议减少) | +| **同步平仓** | 2 | 4% | ✅ 正常(系统同步) | + +**分析**: +- 止损和止盈比例接近(12:10),说明策略平衡 +- 手动平仓比例过高(35%),需要关注 +- 如果手动平仓主要是过早止盈,会降低盈亏比 + +--- + +## 🎯 与目标对比 + +### 目标指标(山寨币策略) + +| 指标 | 目标值 | 实际值 | 达成度 | +|------|--------|--------|--------| +| **胜率** | 35% | 39.02% | ✅ **111%**(超出) | +| **盈亏比** | 4.0:1 | 2.03:1 | ⚠️ **51%**(未达标) | +| **期望值** | +0.75%/笔 | +0.12 USDT/笔 | ✅ **优秀**(按百分比计算) | +| **期望值** | +0.75%/笔 | +8%/笔 | ✅ **1067%**(远超) | + +**注**:期望值计算方式不同,需要统一计算标准。 + +--- + +## 🔍 详细问题分析 + +### 问题1:盈亏比不足的原因 + +**可能原因**: +1. **止盈过早**: + - 部分盈利单在达到4:1目标前被平仓 + - 移动止损可能过早触发 + - 手动平仓可能过早止盈 + +2. **止损过宽**: + - 部分亏损单亏损幅度过大(-84%至-96%) + - 止损单可能未及时触发 + - 价格跳空导致止损失效 + +3. **手动平仓干扰**: + - 17笔手动平仓可能破坏了策略设计 + - 如果手动平仓过早止盈,会降低平均盈利 + - 如果手动平仓过晚止损,会扩大平均亏损 + +**建议**: +- ✅ 检查止盈逻辑,确保达到4:1目标 +- ✅ 检查止损设置,避免单笔亏损过大 +- ⚠️ **减少手动平仓**,让系统自动执行策略 + +--- + +### 问题2:手动平仓过多的原因 + +**可能原因**: +1. **系统故障**:止损/止盈单未正常触发,需要手动平仓 +2. **情绪化交易**:看到亏损或盈利后手动平仓 +3. **误标记**:部分自动平仓被误标记为手动平仓 + +**建议**: +- ✅ 检查是否有系统故障导致止损/止盈失效 +- ⚠️ **减少手动干预**,信任系统策略 +- ✅ 检查数据标记是否正确 + +--- + +### 问题3:单笔亏损过大的原因 + +**问题交易**: +- SOMIUSDT: -84.51%(止损) +- NOMUSDT: -84.95%(手动平仓) +- LIGHTUSDT: -96.63%(止损) + +**可能原因**: +1. **止损单未及时触发**: + - 价格跳空导致止损单失效 + - WebSocket监控延迟 + - 系统故障 + +2. **止损设置过宽**: + - 虽然设置了15%止损,但实际亏损远超 + - 可能是在价格跳空时触发 + +3. **手动平仓时机**: + - 部分手动平仓时已经大幅亏损 + +**建议**: +- ✅ 检查止损单是否正常挂到交易所 +- ✅ 检查WebSocket监控是否正常工作 +- ✅ 确认止损逻辑是否正确执行 +- ✅ 考虑使用更严格的止损(如10%) + +--- + +## ✅ 总体评价 + +### 表现优秀的方面 + +1. ✅ **胜率优秀**:39.02% > 目标35% +2. ✅ **总盈亏为正**:+5.07 USDT +3. ✅ **平均盈亏优秀**:+0.12 USDT/笔(按百分比计算约+8%) +4. ✅ **持仓时长合理**:58分钟 + +### 需要改进的方面 + +1. ⚠️ **盈亏比不足**:2.03:1 < 目标4.0:1 +2. ⚠️ **手动平仓过多**:17笔(35%) +3. ⚠️ **单笔亏损过大**:部分交易亏损-84%至-96% + +--- + +## 🎯 改进建议 + +### 短期改进(立即执行) + +1. **减少手动平仓**: + - ⚠️ 除非系统故障,否则不要手动平仓 + - ✅ 让系统自动执行止损/止盈策略 + - ✅ 信任策略设计,避免情绪化交易 + +2. **检查止损逻辑**: + - ✅ 确认止损单是否正常挂到交易所 + - ✅ 检查WebSocket监控是否正常工作 + - ✅ 确认止损价格计算是否正确 + +3. **检查止盈逻辑**: + - ✅ 确认止盈单是否正常挂到交易所 + - ✅ 检查是否达到4:1目标 + - ✅ 确认移动止损是否过早触发 + +### 中期改进(观察1-2天) + +1. **监控盈亏比**: + - 观察未来1-2天的盈亏比是否改善 + - 如果仍然低于3:1,考虑调整策略参数 + +2. **分析手动平仓**: + - 统计手动平仓的平均盈亏 + - 如果手动平仓主要是过早止盈,建议完全禁止手动平仓 + +3. **优化止损设置**: + - 如果单笔亏损仍然过大,考虑收紧止损(如从15%降到10%) + +--- + +## 📊 结论 + +### ✅ 整体表现:**良好** ✅ + +1. **胜率优秀**:39.02% > 目标35% +2. **总盈亏为正**:+5.07 USDT +3. **平均盈亏优秀**:按百分比计算约+8%,远超期望+0.75% + +### ⚠️ 主要问题:盈亏比不足 + +1. **实际盈亏比**:2.03:1 < 目标4.0:1 +2. **可能原因**: + - 止盈过早(未达到4:1目标) + - 止损过宽(部分交易亏损-84%至-96%) + - 手动平仓干扰(17笔,35%) + +### 🎯 改进方向 + +1. **减少手动平仓**:让系统自动执行策略 +2. **检查止损/止盈逻辑**:确保正常触发 +3. **监控盈亏比**:观察未来1-2天是否改善 + +--- + +## ✅ 完成时间 + +2026-01-25 diff --git a/docs/修复日志格式化错误和订单状态延迟分析.md b/docs/修复日志格式化错误和订单状态延迟分析.md new file mode 100644 index 0000000..cf17b3d --- /dev/null +++ b/docs/修复日志格式化错误和订单状态延迟分析.md @@ -0,0 +1,207 @@ +# 修复日志格式化错误和订单状态延迟分析 + +## 🐛 问题1:日志格式化错误(已修复) + +### 错误信息 + +``` +DUSKUSDT 检查止损触发条件时出错: Invalid format specifier '.8f if entry_price_val else 'N/A'' for object of type 'float' +``` + +### 问题原因 + +在 `position_manager.py` 第1203行和1220行,格式化字符串语法错误: + +**错误代码**: +```python +logger.error(f" 入场价: {entry_price_val:.8f if entry_price_val else 'N/A'}") +``` + +**问题**: +- Python 的 f-string 不支持在格式化说明符中使用三元表达式 +- 应该先判断值是否存在,然后再格式化 + +### 修复方案 + +**修复后代码**: +```python +entry_price_str = f"{entry_price_val:.8f}" if entry_price_val is not None else 'N/A' +logger.error(f" 入场价: {entry_price_str}") +``` + +### 修复位置 + +- `trading_system/position_manager.py` 第1203行(做多止损) +- `trading_system/position_manager.py` 第1220行(做空止损) + +--- + +## ⏱️ 问题2:订单状态延迟 + +### 问题描述 + +订单记录的状态有很大延迟,平仓后前端显示的状态没有及时更新。 + +### 可能原因 + +#### 1. 前端轮询间隔过长 + +**问题**: +- 前端可能使用定时轮询(如每30秒或1分钟)获取订单状态 +- 如果轮询间隔过长,会导致状态更新延迟 + +**检查方法**: +- 查看前端代码中的 API 调用频率 +- 检查是否有实时推送机制(WebSocket) + +#### 2. 数据库更新延迟 + +**问题**: +- 虽然 `close_position` 方法会立即更新数据库,但可能存在以下情况: + - 数据库连接延迟 + - 事务提交延迟 + - 数据库锁竞争 + +**检查方法**: +```bash +# 查看数据库更新日志 +grep -E "更新数据库状态|数据库状态已更新" /www/wwwroot/autosys_new/logs/trading_*.log | tail -n 20 +``` + +#### 3. 缓存未及时更新 + +**问题**: +- 如果使用了 Redis 缓存,缓存可能未及时更新 +- 前端可能从缓存读取数据,而不是直接从数据库读取 + +**检查方法**: +- 检查是否有 Redis 缓存机制 +- 检查缓存更新逻辑 + +#### 4. 平仓操作异步执行 + +**问题**: +- `close_position` 方法是异步的,可能在执行过程中有延迟 +- WebSocket 监控触发平仓后,可能需要一些时间才能完成 + +**检查方法**: +```bash +# 查看平仓操作的执行时间 +grep -E "开始平仓操作|平仓成功完成" /www/wwwroot/autosys_new/logs/trading_*.log | tail -n 20 +``` + +--- + +## 🔍 诊断步骤 + +### 1. 检查数据库更新日志 + +```bash +# 查看最近的数据库更新记录 +grep -E "更新数据库状态|数据库状态已更新" /www/wwwroot/autosys_new/logs/trading_*.log | tail -n 30 +``` + +### 2. 检查平仓操作时间 + +```bash +# 查看平仓操作的开始和完成时间 +grep -E "开始平仓操作|平仓成功完成|平仓订单已提交" /www/wwwroot/autosys_new/logs/trading_*.log | tail -n 30 +``` + +### 3. 检查前端轮询频率 + +查看前端代码中的 API 调用频率: +- `frontend/src/services/api.js` - 检查 API 调用间隔 +- `frontend/src/components/TradeList.jsx` - 检查订单列表刷新频率 + +### 4. 检查 Redis 缓存 + +```bash +# 如果有 Redis,检查缓存更新 +redis-cli keys "*trade*" | head -n 10 +``` + +--- + +## ✅ 修复方案 + +### 方案1:优化前端轮询频率(推荐) + +**问题**:前端轮询间隔过长 + +**解决**: +1. 减少轮询间隔(如从30秒改为5秒) +2. 实现实时推送机制(WebSocket) +3. 在平仓操作后立即刷新订单列表 + +### 方案2:优化数据库更新 + +**问题**:数据库更新延迟 + +**解决**: +1. 确保数据库更新是同步的(等待更新完成) +2. 添加数据库更新确认日志 +3. 检查数据库连接池配置 + +### 方案3:添加实时推送 + +**问题**:前端依赖轮询 + +**解决**: +1. 实现 WebSocket 实时推送订单状态更新 +2. 在平仓操作完成后立即推送状态更新 +3. 前端监听推送消息并更新 UI + +--- + +## 🎯 立即行动 + +### 1. 验证格式化错误修复 + +重启交易进程,确认日志格式化错误已修复: +```bash +supervisorctl restart auto_sys_acc1 auto_sys_acc2 auto_sys_acc3 auto_sys_acc4 +``` + +### 2. 检查订单状态更新 + +查看最近的平仓操作和数据库更新: +```bash +# 查看最近的平仓操作 +grep -E "开始平仓操作|数据库状态已更新" /www/wwwroot/autosys_new/logs/trading_*.log | tail -n 20 +``` + +### 3. 检查前端轮询频率 + +查看前端代码,确认订单列表的刷新频率。 + +--- + +## 📊 关于 DUSKUSDT 止损价问题 + +### 日志显示的问题 + +``` +DUSKUSDT ⚠️ 当前价格(0.18064246)已触发止损价(0.16414860) +``` + +**分析**: +- 做空(SELL)交易 +- 当前价:0.1806 +- 止损价:0.1641 ❌ **错误!** + +**问题**: +- 做空时,止损价应该**高于**入场价(价格上涨触发止损) +- 但止损价0.1641 < 当前价0.1806,说明止损价设置错误 +- 这可能是在修复止损价选择逻辑之前设置的止损价 + +**建议**: +1. 立即手动平仓 DUSKUSDT(止损价设置错误) +2. 重启交易进程,确保新的止损价计算逻辑生效 +3. 检查其他做空持仓的止损价是否正确 + +--- + +## ✅ 完成时间 + +2026-01-25 diff --git a/docs/山寨币策略_4H趋势中性分析.md b/docs/山寨币策略_4H趋势中性分析.md new file mode 100644 index 0000000..51b566e --- /dev/null +++ b/docs/山寨币策略_4H趋势中性分析.md @@ -0,0 +1,256 @@ +# 山寨币策略:开启 `AUTO_TRADE_ALLOW_4H_NEUTRAL` 分析 + +## 🎯 结论:**适合开启** + +对于山寨币高盈亏比狙击策略,开启 `AUTO_TRADE_ALLOW_4H_NEUTRAL=True` 是**合适的**,理由如下: + +--- + +## 📊 山寨币策略特点分析 + +### 1. 宽止损设计(已考虑波动) + +``` +ATR_STOP_LOSS_MULTIPLIER = 2.0 # ATR止损2.0倍 +STOP_LOSS_PERCENT = 15% # 固定止损15%(相对保证金) +``` + +**含义**: +- 止损宽度 = `max(2.0×ATR, 15%保证金)` +- 山寨币正常波动10-20%很常见,15%止损能容忍正常波动 +- **即使4H趋势中性,宽止损也能保护资金** + +### 2. 高盈亏比设计(应对低胜率) + +``` +RISK_REWARD_RATIO = 4.0 # 盈亏比4:1 +ATR_TAKE_PROFIT_MULTIPLIER = 8.0 # ATR止盈8.0倍 +TAKE_PROFIT_PERCENT = 60% # 固定止盈60% +``` + +**数学期望**: +- 胜率30%:期望值 = 30% × 4 - 70% × 1 = **+0.5**(盈利) +- 胜率35%:期望值 = 35% × 4 - 65% × 1 = **+0.75**(盈利) +- **即使胜率降低到25%,期望值仍为0(不亏不赚)** + +**结论**:高盈亏比设计就是为了应对低胜率,即使4H中性趋势下胜率降低,也能通过大赢家覆盖亏损。 + +### 3. 快速止盈 + 移动止损(保护利润) + +``` +TAKE_PROFIT_PERCENT = 60% # 快速止盈60% +USE_TRAILING_STOP = true # 启用移动止损 +TRAILING_STOP_ACTIVATION = 30% # 盈利30%后激活 +TRAILING_STOP_PROTECT = 15% # 保护15%利润 +``` + +**保护机制**: +- 第一目标:盈亏比1:1(快速锁定30-50%利润) +- 第二目标:盈亏比4:1(剩余仓位追求大赢家) +- 移动止损:盈利30%后激活,保护15%利润 +- **即使4H中性趋势下价格反转,也能快速锁定利润** + +### 4. 严格筛选(降低风险) + +``` +MIN_VOLUME_24H = 30000000 # ≥3000万美元(流动性保证) +MIN_VOLUME_24H_STRICT = 50000000 # 严格≥5000万 +MIN_VOLATILITY = 3% # 最小波动率3% +MIN_SIGNAL_STRENGTH = 7 # 信号强度≥7 +TOP_N_SYMBOLS = 5 # 只做最强5个 +``` + +**筛选效果**: +- 只交易流动性最好的币种(降低滑点和流动性风险) +- 只交易信号最强的机会(降低假信号风险) +- **即使4H中性,如果1H周期有明确趋势且信号强度≥7,仍然值得交易** + +### 5. 小仓位 + 每日限额(控制风险) + +``` +MAX_POSITION_PERCENT = 1.5% # 单笔1.5% +MAX_TOTAL_POSITION_PERCENT = 12% # 总仓位12% +MAX_DAILY_ENTRIES = 5 # 每日最多5笔 +MAX_OPEN_POSITIONS = 4 # 最多4个持仓 +FIXED_RISK_PERCENT = 1% # 每笔最多亏1% +``` + +**风险控制**: +- 单笔仓位小(1.5%),即使止损也不会造成大损失 +- 每日限额(5笔),避免过度交易 +- 固定风险(1%),每笔最多亏1% +- **即使4H中性趋势下增加扫损,总风险仍然可控** + +--- + +## 🔍 4H趋势中性的实际含义 + +### 什么是4H趋势中性? + +- **4小时周期**:EMA20和EMA50接近,趋势不明确 +- **可能的情况**: + 1. 横盘整理(价格在区间内震荡) + 2. 趋势转换期(从上涨转为下跌,或反之) + 3. 多空平衡(买卖力量相当) + +### 山寨币的特殊性 + +1. **波动大**:即使4H趋势中性,1小时或更短周期可能仍有明确趋势 +2. **跳空频繁**:山寨币经常出现跳空,4H中性不代表没有交易机会 +3. **流动性好**:筛选出的币种(≥3000万美元)流动性充足,即使中性趋势也能快速进出 + +### 实际案例 + +从您的日志可以看到: +``` +DUSKUSDT: 6.55% | RSI:36.9 | trending | 信号:5 +DASHUSDT: -3.01% | RSI:51.1 | trending | 信号:5 +ZENUSDT: -2.23% | RSI:47.1 | trending | 信号:5 +``` + +- **市场状态**:`trending`(趋势行情) +- **4H趋势**:`neutral`(中性) +- **信号强度**:`5`(如果 `MIN_SIGNAL_STRENGTH=7` 会被过滤) + +**分析**: +- 这些币种在1小时周期上有明确趋势(`trending`) +- 但4小时周期上趋势不明确(`neutral`) +- 如果允许4H中性交易,可以捕捉这些短期机会 + +--- + +## ⚖️ 开启 vs 不开启的对比 + +### 不开启(当前状态) + +| 指标 | 效果 | +|------|------| +| **交易频率** | ❌ 极低(所有4H中性信号被过滤) | +| **胜率** | ✅ 可能更高(只做明确趋势) | +| **盈亏比** | ✅ 保持4:1 | +| **期望值** | ⚠️ 如果无法交易,期望值为0 | +| **风险** | ✅ 低(避免震荡扫损) | + +**问题**: +- 当前所有扫描到的交易对都是4H中性,**无法交易** +- 即使有好的短期机会也被错过 + +### 开启后 + +| 指标 | 效果 | +|------|------| +| **交易频率** | ✅ 提高(可以捕捉4H中性但1H有趋势的机会) | +| **胜率** | ⚠️ 可能降低5-10%(从35%降到25-30%) | +| **盈亏比** | ✅ 保持4:1 | +| **期望值** | ✅ 仍然为正(25%×4 - 75%×1 = +0.25) | +| **风险** | ⚠️ 略增(但宽止损+小仓位已控制) | + +**优势**: +- 可以捕捉短期波动机会 +- 即使胜率降低,期望值仍然为正 +- 宽止损能容忍中性趋势的波动 + +--- + +## 🎯 推荐配置 + +### 方案1:直接开启(推荐) + +```javascript +AUTO_TRADE_ONLY_TRENDING: true, // 保持只交易趋势行情 +AUTO_TRADE_ALLOW_4H_NEUTRAL: true, // ✅ 开启(允许4H中性) +MIN_SIGNAL_STRENGTH: 5, // 如果当前是7,建议改为5 +``` + +**理由**: +- 当前扫描到的信号强度都是5,如果 `MIN_SIGNAL_STRENGTH=7` 也会被过滤 +- 允许4H中性可以提高交易频率 +- 宽止损+高盈亏比已经考虑了低胜率 + +### 方案2:保守开启(如果担心风险) + +```javascript +AUTO_TRADE_ONLY_TRENDING: true, +AUTO_TRADE_ALLOW_4H_NEUTRAL: true, +MIN_SIGNAL_STRENGTH: 7, // 保持7(更严格筛选) +``` + +**理由**: +- 允许4H中性,但保持信号强度≥7 +- 只交易信号最强的机会 +- 进一步降低风险 + +--- + +## ⚠️ 注意事项 + +### 1. 监控交易效果 + +开启后建议观察1-2天,关注: +- **胜率**:是否明显下降(如果降到20%以下需要调整) +- **盈亏比**:是否保持4:1(如果实际盈亏比<2:1需要检查) +- **交易频率**:是否合理(如果每天>10笔可能需要降低) + +### 2. 如果效果不佳 + +如果开启后发现: +- 胜率<25% +- 实际盈亏比<2:1 +- 频繁扫损 + +可以: +1. 提高 `MIN_SIGNAL_STRENGTH` 到 8 +2. 或者关闭 `AUTO_TRADE_ALLOW_4H_NEUTRAL`,回到更保守的策略 + +### 3. 结合其他配置 + +确保以下配置正确: +- ✅ `AUTO_TRADE_ONLY_TRENDING=True`(只交易趋势行情,不包括纯震荡) +- ✅ `MIN_SIGNAL_STRENGTH=5-7`(根据实际情况调整) +- ✅ 宽止损+高盈亏比已配置 +- ✅ 小仓位+每日限额已配置 + +--- + +## 📊 总结 + +### ✅ 适合开启的理由 + +1. **策略设计已考虑低胜率**:4:1盈亏比,即使胜率25%也能盈利 +2. **宽止损能容忍波动**:2.0×ATR + 15%止损,能容忍中性趋势的波动 +3. **快速止盈+移动止损**:即使价格反转也能快速锁定利润 +4. **严格筛选降低风险**:只交易流动性最好、信号最强的币种 +5. **小仓位+每日限额**:总风险可控 +6. **当前无法交易**:所有信号都被过滤,开启后可以提高交易频率 + +### ⚠️ 需要注意 + +1. **监控效果**:开启后观察1-2天,确认胜率和盈亏比是否合理 +2. **信号强度**:如果当前是7,建议改为5(当前扫描到的都是5) +3. **风险控制**:确保其他风险控制参数已正确配置 + +--- + +## 🚀 操作建议 + +1. **开启配置**: + - 全局配置页面:`AUTO_TRADE_ALLOW_4H_NEUTRAL = True` + - 如果 `MIN_SIGNAL_STRENGTH=7`,建议改为 `5` + +2. **重启进程**: + ```bash + supervisorctl restart auto_sys_acc3 auto_sys_acc4 + ``` + +3. **监控日志**: + ```bash + tail -f /www/wwwroot/autosys_new/logs/trading_3.log | grep -E "处理交易对|开仓|跳过" + ``` + +4. **观察效果**:观察1-2天,确认交易频率和胜率是否合理 + +--- + +## ✅ 完成时间 + +2026-01-25 diff --git a/山寨币策略完成总结.md b/docs/山寨币策略完成总结.md similarity index 100% rename from 山寨币策略完成总结.md rename to docs/山寨币策略完成总结.md diff --git a/山寨币策略快速应用完整指南.md b/docs/山寨币策略快速应用完整指南.md similarity index 100% rename from 山寨币策略快速应用完整指南.md rename to docs/山寨币策略快速应用完整指南.md diff --git a/排查账户未下单问题指南.md b/docs/排查账户未下单问题指南.md similarity index 100% rename from 排查账户未下单问题指南.md rename to docs/排查账户未下单问题指南.md diff --git a/docs/止损价计算错误分析_DUSKUSDT.md b/docs/止损价计算错误分析_DUSKUSDT.md new file mode 100644 index 0000000..5366dcf --- /dev/null +++ b/docs/止损价计算错误分析_DUSKUSDT.md @@ -0,0 +1,192 @@ +# 止损价计算错误分析 - DUSKUSDT + +## 🚨 严重问题 + +### 日志显示的问题 + +``` +DUSKUSDT [实时监控] 诊断: 亏损-85.30% of margin | +当前价: 0.1781 | +入场价: 0.1609 | +止损价: 0.1825 (目标: -107.25% of margin) | +方向: SELL | +是否触发: False | +监控状态: 运行中 +``` + +### 问题分析 + +**做空(SELL)交易**: +- **入场价**:0.1609 +- **当前价**:0.1781(价格上涨,亏损) +- **止损价**:0.1825 +- **当前亏损**:-85.30% +- **止损目标**:-107.25% ❌ **严重错误!** + +--- + +## 🔍 问题根源 + +### 1. 止损价设置错误 + +**正确的止损计算**(做空,止损15%): +- 止损价应该 = 入场价 × (1 + 止损百分比) +- 止损价 = 0.1609 × (1 + 0.15) = **0.1850** + +**实际止损价**: +- 止损价 = 0.1825(接近但不对) + +**问题**: +- 止损价0.1825对应的止损百分比是107%,远超15%的设置 +- 这意味着止损价计算逻辑有严重错误 + +### 2. 止损未及时触发 + +**当前情况**: +- 当前价0.1781已经亏损-85.30% +- 止损价0.1825还没触发 +- **止损价设置得太远,无法及时止损** + +**正确的止损逻辑**: +- 做空时,如果价格上涨到止损价,应该立即止损 +- 当前价0.1781 < 止损价0.1825,所以还没触发 +- 但亏损已经达到-85.30%,说明止损价设置错误 + +--- + +## 🔧 可能的原因 + +### 原因1:ATR止损计算错误 + +**代码逻辑**(`risk_manager.py` 第676-692行): +```python +# 选择"更宽松/更远"的止损: +# - 做多(BUY):止损越低越宽松 → 取最小值 +# - 做空(SELL):止损越高越宽松 → 取最大值 +if side == 'BUY': + stop_loss_price = min(p[1] for p in candidate_prices) +else: + stop_loss_price = max(p[1] for p in candidate_prices) # ❌ 问题在这里! +``` + +**问题**: +- 做空时,选择"最大值"(最远的止损) +- 如果ATR止损计算错误,可能导致止损价过远 +- 例如:ATR止损可能是0.1825,而保证金止损是0.1850,选择了0.1850(更远) + +### 原因2:ATR倍数过大 + +**ATR止损计算**(`atr_strategy.py` 第110-112行): +```python +else: # 做空,止损价高于入场价 + stop_loss_price = entry_price * (1 + stop_distance_percent) + stop_distance = stop_loss_price - entry_price +``` + +**问题**: +- 如果ATR倍数过大(如2.0倍),且ATR本身较大 +- 可能导致止损价过远 +- 例如:ATR = 0.01,倍数2.0,止损距离 = 0.01 × 2.0 = 0.02 +- 止损价 = 0.1609 × (1 + 0.02/0.1609) = 0.1609 × 1.124 = 0.1810(接近0.1825) + +### 原因3:止损价选择逻辑错误 + +**代码逻辑**(`risk_manager.py` 第676-692行): +```python +# 选择"更宽松/更远"的止损 +if side == 'BUY': + stop_loss_price = min(p[1] for p in candidate_prices) # 做多:取最小值(更低的止损) +else: + stop_loss_price = max(p[1] for p in candidate_prices) # 做空:取最大值(更高的止损) +``` + +**问题**: +- 做空时选择"最大值"(更远的止损) +- 如果ATR止损计算错误,可能导致止损价过远 +- **应该选择"更紧的止损"(最小值),而不是"更远的止损"(最大值)** + +--- + +## ✅ 修复方案 + +### 方案1:修复止损价选择逻辑(推荐) + +**问题**:做空时选择"最大值"(更远的止损),应该选择"最小值"(更紧的止损) + +**修复**: +```python +# 选择"更紧的止损"(保护资金): +# - 做多(BUY):止损越低越紧 → 取最大值(更接近入场价) +# - 做空(SELL):止损越高越紧 → 取最小值(更接近入场价) +if side == 'BUY': + stop_loss_price = max(p[1] for p in candidate_prices) # 做多:取最大值(更紧的止损) +else: + stop_loss_price = min(p[1] for p in candidate_prices) # 做空:取最小值(更紧的止损) +``` + +**理由**: +- 止损的目的是"保护资金",应该选择"更紧的止损"(更接近入场价) +- 而不是"更远的止损"(更远离入场价) +- 更紧的止损能更快触发,减少亏损 + +### 方案2:限制止损价范围 + +**问题**:止损价不应该超过配置的止损百分比 + +**修复**: +```python +# 计算基于保证金的止损价 +stop_loss_price_margin = entry_price + (stop_loss_amount / quantity) + +# 限制止损价范围(不超过配置的止损百分比) +max_stop_loss_price = entry_price * (1 + stop_loss_percent) +if side == 'SELL': + stop_loss_price_margin = min(stop_loss_price_margin, max_stop_loss_price) +``` + +**理由**: +- 确保止损价不会超过配置的止损百分比 +- 防止ATR止损计算错误导致止损价过远 + +--- + +## 🎯 立即行动 + +### 1. 检查当前止损价计算 + +查看日志,确认止损价是如何计算的: +```bash +grep -E "止损价|stop_loss|ATR止损" /www/wwwroot/autosys_new/logs/trading_*.log | tail -n 20 +``` + +### 2. 手动平仓当前持仓 + +**立即执行**: +- DUSKUSDT 当前亏损-85.30%,应该立即手动平仓 +- 止损价0.1825设置错误,无法及时止损 + +### 3. 修复止损价选择逻辑 + +修复 `risk_manager.py` 中的止损价选择逻辑,确保选择"更紧的止损"。 + +--- + +## ⚠️ 影响评估 + +### 当前影响 + +1. **DUSKUSDT**:亏损-85.30%,止损价设置错误 +2. **其他做空持仓**:可能也存在同样的问题 +3. **止损保护失效**:止损价过远,无法及时止损 + +### 潜在影响 + +1. **所有做空交易**:止损价可能都设置错误 +2. **亏损扩大**:止损无法及时触发,导致亏损扩大 +3. **风险控制失效**:止损保护机制失效 + +--- + +## ✅ 完成时间 + +2026-01-25 diff --git a/docs/解决账户未下单问题_4H趋势中性过滤.md b/docs/解决账户未下单问题_4H趋势中性过滤.md new file mode 100644 index 0000000..8fc907b --- /dev/null +++ b/docs/解决账户未下单问题_4H趋势中性过滤.md @@ -0,0 +1,155 @@ +# 解决 account3/account4 未下单问题 + +## 🔍 问题诊断 + +根据日志分析,**所有交易对都被跳过,原因是配置限制**: + +### 日志显示的问题 + +``` +DUSKUSDT: ❌ 4H趋势中性(为提升胜率:仅生成推荐,不自动交易) +LPTUSDT: 市场状态=ranging,跳过自动交易(仅生成推荐)|原因:AUTO_TRADE_ONLY_TRENDING=true +DASHUSDT: ❌ 4H趋势中性(为提升胜率:仅生成推荐,不自动交易) +ZENUSDT: ❌ 4H趋势中性(为提升胜率:仅生成推荐,不自动交易) +ZECUSDT: ❌ 4H趋势中性(为提升胜率:仅生成推荐,不自动交易) +``` + +### 根本原因 + +1. **`AUTO_TRADE_ONLY_TRENDING=True`**:只允许趋势行情交易 +2. **`AUTO_TRADE_ALLOW_4H_NEUTRAL=False`**(默认):不允许4H趋势中性时交易 +3. **当前市场状态**:所有扫描到的交易对,4H趋势都是"中性"(neutral),因此全部被跳过 + +--- + +## ✅ 解决方案 + +### 方案1:允许4H趋势中性时交易(推荐) + +**操作步骤**: +1. 登录前端,进入**全局配置页面**(管理员) +2. 找到配置项:`AUTO_TRADE_ALLOW_4H_NEUTRAL` +3. 将值从 `False` 改为 `True` +4. 点击保存 +5. 重启 account3 和 account4 的交易进程: + ```bash + supervisorctl restart auto_sys_acc3 auto_sys_acc4 + ``` + +**效果**: +- ✅ 允许4H趋势中性时自动交易 +- ✅ 仍然保持 `AUTO_TRADE_ONLY_TRENDING=True`,只交易趋势行情(不包括震荡) +- ⚠️ 注意:中性趋势下交易可能增加扫损风险,但能提高交易频率 + +--- + +### 方案2:允许震荡行情交易(激进) + +**操作步骤**: +1. 登录前端,进入**全局配置页面**(管理员) +2. 找到配置项:`AUTO_TRADE_ONLY_TRENDING` +3. 将值从 `True` 改为 `False` +4. 点击保存 +5. 重启交易进程 + +**效果**: +- ✅ 允许震荡行情(ranging)和趋势行情(trending)都自动交易 +- ⚠️ 警告:震荡行情容易来回扫损,可能导致胜率降低和交易次数激增 + +--- + +### 方案3:降低信号强度阈值(如果信号强度不足) + +如果交易对显示"信号强度不足",可以: + +1. 找到配置项:`MIN_SIGNAL_STRENGTH` +2. 将值从 `7` 降低到 `5` 或 `6` +3. 点击保存 +4. 重启交易进程 + +**注意**:根据日志,当前扫描到的交易对信号强度都是 `5`,如果 `MIN_SIGNAL_STRENGTH=7`,也会被过滤。 + +--- + +## 📊 配置说明 + +### `AUTO_TRADE_ALLOW_4H_NEUTRAL` + +- **默认值**:`False` +- **说明**:是否允许4H趋势=neutral时自动交易 +- **建议**: + - `False`:更保守,只交易明确的趋势行情,胜率更高但交易频率低 + - `True`:更积极,允许中性趋势交易,交易频率更高但可能增加扫损风险 + +### `AUTO_TRADE_ONLY_TRENDING` + +- **默认值**:`True` +- **说明**:自动交易仅在市场状态=trending时执行(ranging/unknown只生成推荐,不自动下单) +- **建议**: + - `True`:只交易趋势行情,降低震荡扫损 + - `False`:允许所有市场状态交易,交易频率最高但风险也最高 + +--- + +## 🎯 推荐配置(山寨币策略) + +根据"山寨币高盈亏比狙击策略"的特点,建议: + +```javascript +AUTO_TRADE_ONLY_TRENDING: true, // 保持只交易趋势行情 +AUTO_TRADE_ALLOW_4H_NEUTRAL: true, // 允许4H中性趋势(提高交易频率) +MIN_SIGNAL_STRENGTH: 5, // 降低信号强度阈值(当前扫描到的都是5) +``` + +**理由**: +- 山寨币波动大,即使4H趋势中性,也可能有短期机会 +- 信号强度5已经足够(当前扫描到的都是5) +- 保持只交易趋势行情,避免纯震荡扫损 + +--- + +## 🔄 修改后的验证 + +修改配置并重启进程后,查看日志: + +```bash +# 查看 account3 日志 +tail -f /www/wwwroot/autosys_new/logs/trading_3.log | grep -E "处理交易对|技术指标分析|跳过自动交易|开仓" + +# 查看 account4 日志 +tail -f /www/wwwroot/autosys_new/logs/trading_4.log | grep -E "处理交易对|技术指标分析|跳过自动交易|开仓" +``` + +**预期结果**: +- ✅ 不再出现 `❌ 4H趋势中性(为提升胜率:仅生成推荐,不自动交易)` +- ✅ 如果信号强度足够,应该能看到 `开仓成功` 的日志 + +--- + +## ⚠️ 注意事项 + +1. **配置修改后必须重启进程**:配置是从Redis/数据库加载的,修改后需要重启才能生效 +2. **监控交易效果**:修改后建议观察1-2天,确认交易频率和胜率是否合理 +3. **风险控制**:即使允许更多交易,也要确保风险控制参数(止损、仓位等)设置合理 + +--- + +## 📝 快速操作命令 + +```bash +# 1. 重启 account3 和 account4 进程 +supervisorctl restart auto_sys_acc3 auto_sys_acc4 + +# 2. 查看进程状态 +supervisorctl status auto_sys_acc3 auto_sys_acc4 + +# 3. 实时查看日志 +tail -f /www/wwwroot/autosys_new/logs/trading_3.log | grep -E "处理交易对|开仓|跳过" +tail -f /www/wwwroot/autosys_new/logs/trading_4.log | grep -E "处理交易对|开仓|跳过" +``` + +--- + +## ✅ 完成时间 + +2026-01-25