# 配置管理使用指南

## 功能概述

前端配置界面允许您实时修改交易系统的所有配置参数，修改后的配置会自动保存到数据库，交易系统会在下次扫描时自动使用新配置。

## 配置分类

### 1. 市场扫描 (scan)
- `SCAN_INTERVAL` - 扫描间隔（秒）
- `KLINE_INTERVAL` - K线周期
- `PRIMARY_INTERVAL` - 主周期
- `CONFIRM_INTERVAL` - 确认周期
- `ENTRY_INTERVAL` - 入场周期
- `MIN_VOLUME_24H` - 最小24小时成交量
- `MIN_VOLATILITY` - 最小波动率
- `MIN_CHANGE_PERCENT` - 最小涨跌幅阈值
- `TOP_N_SYMBOLS` - 选择前N个货币对

### 2. 仓位控制 (position)
- `MAX_POSITION_PERCENT` - 单笔最大仓位（账户余额的百分比）
- `MAX_TOTAL_POSITION_PERCENT` - 总仓位上限（账户余额的百分比）
- `MIN_POSITION_PERCENT` - 单笔最小仓位（账户余额的百分比）

### 3. 风险控制 (risk)
- `STOP_LOSS_PERCENT` - 止损百分比
- `TAKE_PROFIT_PERCENT` - 止盈百分比

### 4. 策略参数 (strategy)
- `MIN_SIGNAL_STRENGTH` - 最小信号强度（0-10）
- `LEVERAGE` - 杠杆倍数
- `USE_TRAILING_STOP` - 是否使用移动止损
- `TRAILING_STOP_ACTIVATION` - 移动止损激活阈值
- `TRAILING_STOP_PROTECT` - 移动止损保护利润

### 5. API配置 (api)
- `BINANCE_API_KEY` - 币安API密钥
- `BINANCE_API_SECRET` - 币安API密钥
- `USE_TESTNET` - 是否使用测试网

## 使用方法

### 访问配置界面

1. 启动前端应用
2. 访问 http://localhost:3000/config
3. 或点击导航栏的"配置"链接

### 修改配置

1. **数字输入框**：
   - 直接输入数值
   - 百分比配置会自动显示为百分比（如 0.05 显示为 5.00）
   - 失去焦点或按Enter键自动保存

2. **下拉选择框**：
   - 时间周期配置（INTERVAL）：选择时间周期
   - 布尔值配置：选择"是"或"否"
   - 选择后立即保存

3. **文本输入框**：
   - 用于API密钥等文本配置
   - 失去焦点或按Enter键自动保存

### 配置验证

系统会自动验证配置值：
- 数字类型：必须是有效数字
- 百分比配置：必须在 0-1 之间（对应 0%-100%）
- 布尔值：自动转换为 true/false

### 配置生效

- 配置修改后立即保存到数据库
- 交易系统会在**下次扫描时**自动重新加载配置
- 无需重启交易系统

## API接口

### 获取所有配置
```
GET /api/config/
```

### 获取单个配置
```
GET /api/config/{key}
```

### 更新配置
```
PUT /api/config/{key}
Body: {
  "value": <新值>,
  "type": "number|string|boolean",
  "category": "scan|position|risk|strategy|api"
}
```

### 批量更新配置
```
POST /api/config/batch
Body: [
  {
    "key": "CONFIG_KEY",
    "value": <值>,
    "type": "number",
    "category": "scan"
  },
  ...
]
```

## 注意事项

1. **百分比配置**：前端显示为百分比（如 5.00%），但存储值为小数（0.05）
2. **配置生效时间**：修改后，交易系统会在下次扫描时使用新配置（默认1小时）
3. **API密钥安全**：API密钥以明文存储在数据库中，请确保数据库安全
4. **配置验证**：无效的配置值会被拒绝，并显示错误信息

## 常见问题

### Q: 修改配置后多久生效？
A: 交易系统会在下次扫描时（默认1小时后）自动使用新配置。

### Q: 可以修改哪些配置？
A: 所有在数据库 `trading_config` 表中的配置都可以修改。

### Q: 配置修改失败怎么办？
A: 检查错误提示，通常是：
- 数字类型配置输入了非数字
- 百分比配置超出了 0-100% 范围
- 网络连接问题

### Q: 如何恢复默认配置？
A: 可以运行 `python backend/init_config.py` 重新初始化配置。
