auto_trade_sys/docs/账户交易差异分析.md
薇薇安 83e628b611 a
2026-01-25 16:32:08 +08:00

223 lines
6.6 KiB
Markdown
Raw 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.

# 账户交易差异分析
## 📊 问题描述
- **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