# 账户交易差异分析 ## 📊 问题描述 - **account2**:下单胜率高,单子多 - **account3**:下单很少,没有止盈 - **account4**:下单很少,没有止盈 --- ## 🔍 可能原因分析 ### 1. 配置差异 **检查项**: - `MIN_SIGNAL_STRENGTH`:信号强度阈值 - `AUTO_TRADE_ALLOW_4H_NEUTRAL`:是否允许4H中性趋势 - `AUTO_TRADE_ONLY_TRENDING`:是否只交易趋势行情 - `MIN_VOLUME_24H`:最小成交量要求 - `TOP_N_SYMBOLS`:只做最强N个 - `MAX_DAILY_ENTRIES`:每日最大开仓次数 - `MAX_OPEN_POSITIONS`:最大持仓数 **检查方法**: ```bash # 查看account2、account3、account4的配置 # 在前端配置页面查看,或通过API查询 ``` ### 2. 账户余额差异 **问题**: - 如果账户余额不足,可能无法开仓 - 如果余额太小,可能无法满足最小仓位要求 **检查方法**: ```bash # 查看账户余额 grep -E "账户余额|余额|balance" /www/wwwroot/autosys_new/logs/trading_*.log | tail -n 20 ``` ### 3. 市场扫描结果差异 **问题**: - 不同账户可能扫描到不同的交易对 - 信号强度可能不同 **检查方法**: ```bash # 查看扫描结果 grep -E "扫描完成|找到.*个符合条件的交易对" /www/wwwroot/autosys_new/logs/trading_*.log | tail -n 30 ``` ### 4. 信号强度差异 **问题**: - 如果 `MIN_SIGNAL_STRENGTH` 设置过高,可能过滤掉大部分信号 - account3和account4可能信号强度不足 **检查方法**: ```bash # 查看信号强度 grep -E "技术指标分析|信号强度|should_trade" /www/wwwroot/autosys_new/logs/trading_*.log | tail -n 30 ``` ### 5. 风险控制限制 **问题**: - `MAX_DAILY_ENTRIES`:可能已达到每日限额 - `MAX_OPEN_POSITIONS`:可能已达到最大持仓数 - `MAX_TOTAL_POSITION_PERCENT`:可能已达到总仓位上限 **检查方法**: ```bash # 查看风险控制日志 grep -E "风险检查|已达到最大|每日限额" /www/wwwroot/autosys_new/logs/trading_*.log | tail -n 20 ``` ### 6. 止盈未触发的原因 **问题**: - 止盈价设置过高,价格未达到 - 移动止损过早触发,导致止盈未触发 - 手动平仓过早,导致止盈未触发 **检查方法**: ```bash # 查看止盈相关日志 grep -E "止盈|take_profit|触发.*目标" /www/wwwroot/autosys_new/logs/trading_*.log | tail -n 30 ``` --- ## 🔧 排查步骤 ### 步骤1:检查配置差异 1. **前端检查**: - 登录前端,分别查看 account2、account3、account4 的配置 - 对比关键配置项是否一致 2. **日志检查**: ```bash # 查看启动时的配置输出 grep -A 50 "交易配置(当前策略)" /www/wwwroot/autosys_new/logs/trading_2.log | head -n 60 grep -A 50 "交易配置(当前策略)" /www/wwwroot/autosys_new/logs/trading_3.log | head -n 60 grep -A 50 "交易配置(当前策略)" /www/wwwroot/autosys_new/logs/trading_4.log | head -n 60 ``` ### 步骤2:检查市场扫描 ```bash # 查看最近的扫描活动 grep -E "开始扫描|扫描完成|找到.*个符合条件的交易对" /www/wwwroot/autosys_new/logs/trading_3.log | tail -n 10 grep -E "开始扫描|扫描完成|找到.*个符合条件的交易对" /www/wwwroot/autosys_new/logs/trading_4.log | tail -n 10 ``` ### 步骤3:检查交易信号 ```bash # 查看交易信号分析 grep -E "处理交易对|技术指标分析|跳过自动交易" /www/wwwroot/autosys_new/logs/trading_3.log | tail -n 20 grep -E "处理交易对|技术指标分析|跳过自动交易" /www/wwwroot/autosys_new/logs/trading_4.log | tail -n 20 ``` ### 步骤4:检查风险控制 ```bash # 查看风险控制日志 grep -E "风险检查|余额不足|已达到最大|每日限额" /www/wwwroot/autosys_new/logs/trading_3.log | tail -n 10 grep -E "风险检查|余额不足|已达到最大|每日限额" /www/wwwroot/autosys_new/logs/trading_4.log | tail -n 10 ``` ### 步骤5:检查止盈情况 ```bash # 查看止盈相关日志 grep -E "止盈|take_profit|触发.*目标|自动平仓(止盈)" /www/wwwroot/autosys_new/logs/trading_3.log | tail -n 20 grep -E "止盈|take_profit|触发.*目标|自动平仓(止盈)" /www/wwwroot/autosys_new/logs/trading_4.log | tail -n 20 ``` --- ## ✅ 解决方案 ### 方案1:统一配置(推荐) **如果配置不同**: 1. 在全局配置页面应用"山寨币狙击(高盈亏比)"策略 2. 确保所有账户使用相同的配置 3. 重启所有交易进程 ### 方案2:检查账户余额 **如果余额不足**: 1. 检查账户余额是否充足 2. 确保余额满足最小仓位要求(`MIN_MARGIN_USDT`) ### 方案3:降低信号强度阈值 **如果信号强度不足**: 1. 检查 `MIN_SIGNAL_STRENGTH` 是否过高 2. 如果 account3/account4 的信号强度都是5,而 `MIN_SIGNAL_STRENGTH=7`,会被过滤 3. 建议统一设置为5 ### 方案4:检查止盈逻辑 **如果止盈未触发**: 1. 检查止盈价设置是否正确 2. 检查移动止损是否过早触发 3. 检查是否有手动平仓干扰 --- ## 🎯 快速检查命令 ```bash # 1. 检查配置差异 echo "=== Account 2 配置 ===" grep -E "MIN_SIGNAL_STRENGTH|AUTO_TRADE_ALLOW_4H_NEUTRAL|TOP_N_SYMBOLS" /www/wwwroot/autosys_new/logs/trading_2.log | tail -n 5 echo "=== Account 3 配置 ===" grep -E "MIN_SIGNAL_STRENGTH|AUTO_TRADE_ALLOW_4H_NEUTRAL|TOP_N_SYMBOLS" /www/wwwroot/autosys_new/logs/trading_3.log | tail -n 5 echo "=== Account 4 配置 ===" grep -E "MIN_SIGNAL_STRENGTH|AUTO_TRADE_ALLOW_4H_NEUTRAL|TOP_N_SYMBOLS" /www/wwwroot/autosys_new/logs/trading_4.log | tail -n 5 # 2. 检查扫描结果 echo "=== Account 2 扫描 ===" grep -E "扫描完成|找到.*个符合条件的交易对" /www/wwwroot/autosys_new/logs/trading_2.log | tail -n 5 echo "=== Account 3 扫描 ===" grep -E "扫描完成|找到.*个符合条件的交易对" /www/wwwroot/autosys_new/logs/trading_3.log | tail -n 5 echo "=== Account 4 扫描 ===" grep -E "扫描完成|找到.*个符合条件的交易对" /www/wwwroot/autosys_new/logs/trading_4.log | tail -n 5 # 3. 检查交易信号 echo "=== Account 2 信号 ===" grep -E "处理交易对|开仓成功" /www/wwwroot/autosys_new/logs/trading_2.log | tail -n 10 echo "=== Account 3 信号 ===" grep -E "处理交易对|开仓成功" /www/wwwroot/autosys_new/logs/trading_3.log | tail -n 10 echo "=== Account 4 信号 ===" grep -E "处理交易对|开仓成功" /www/wwwroot/autosys_new/logs/trading_4.log | tail -n 10 ``` --- ## 📝 建议 1. **统一配置**:确保所有账户使用相同的策略配置 2. **检查余额**:确保账户余额充足 3. **降低门槛**:如果信号强度不足,降低 `MIN_SIGNAL_STRENGTH` 4. **检查止盈**:确认止盈逻辑正常工作 --- ## ✅ 完成时间 2026-01-25