增加龙虎榜批量分析功能,修复一些小bug
This commit is contained in:
@@ -0,0 +1,237 @@
|
||||
# 🤖 量化交易功能快速指南
|
||||
|
||||
## 简介
|
||||
|
||||
本系统已为监测板块增加MiniQMT量化交易预留接口,实现监测价格触发后自动执行交易的功能。
|
||||
|
||||
## 核心功能
|
||||
|
||||
### ✅ 已实现功能
|
||||
1. **自动交易执行** - 价格触发后自动下单
|
||||
2. **仓位管理** - 智能控制交易仓位
|
||||
3. **风险控制** - 自动止损止盈
|
||||
4. **订单管理** - 完整的订单生命周期管理
|
||||
5. **持仓监控** - 实时查看持仓和盈亏
|
||||
6. **多种订单类型** - 支持市价单、限价单、止损单
|
||||
|
||||
### 🔧 新增模块
|
||||
- `miniqmt_interface.py` - MiniQMT接口核心模块
|
||||
- `MINIQMT_INTEGRATION_GUIDE.md` - 详细集成指南
|
||||
|
||||
### 📝 更新模块
|
||||
- `monitor_db.py` - 增加量化配置字段(quant_enabled, quant_config)
|
||||
- `monitor_service.py` - 集成量化交易执行逻辑
|
||||
- `monitor_manager.py` - 添加量化配置界面
|
||||
- `config.py` - 添加MiniQMT配置选项
|
||||
- `README.md` - 更新功能说明和文档
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 1. 配置环境变量
|
||||
|
||||
编辑 `.env` 文件,添加以下配置:
|
||||
|
||||
```bash
|
||||
# 启用MiniQMT量化交易
|
||||
MINIQMT_ENABLED=true
|
||||
MINIQMT_ACCOUNT_ID=your_account_id
|
||||
MINIQMT_HOST=127.0.0.1
|
||||
MINIQMT_PORT=58610
|
||||
```
|
||||
|
||||
### 2. 启动MiniQMT客户端
|
||||
|
||||
1. 启动MiniQMT客户端程序
|
||||
2. 登录你的交易账户
|
||||
3. 确保API服务已开启
|
||||
|
||||
### 3. 在系统中启用量化
|
||||
|
||||
1. 运行系统:`python run.py`
|
||||
2. 进入"📊 实时监测"板块
|
||||
3. 在"🤖 MiniQMT量化交易"区域点击"连接MiniQMT"
|
||||
4. 看到"✅ 已连接"提示即可
|
||||
|
||||
### 4. 添加量化监测
|
||||
|
||||
#### 添加新股票:
|
||||
1. 点击"添加股票监测"
|
||||
2. 填写股票代码和关键位置
|
||||
3. 勾选"启用量化自动交易"
|
||||
4. 设置量化参数:
|
||||
- 最大仓位比例:建议0.2(20%)
|
||||
- 自动止损:建议勾选
|
||||
- 自动止盈:建议勾选
|
||||
5. 点击"添加监测"
|
||||
|
||||
#### 编辑现有股票:
|
||||
1. 找到目标股票卡片
|
||||
2. 点击"编辑"
|
||||
3. 勾选"启用量化自动交易"
|
||||
4. 配置参数后保存
|
||||
|
||||
## 交易逻辑
|
||||
|
||||
### 自动交易触发条件
|
||||
|
||||
#### 1. 进场买入
|
||||
- **触发**:价格进入设定的进场区间
|
||||
- **动作**:按配置的仓位比例自动买入
|
||||
- **订单类型**:限价单
|
||||
|
||||
#### 2. 止盈卖出
|
||||
- **触发**:价格达到止盈位
|
||||
- **动作**:卖出全部持仓
|
||||
- **订单类型**:限价单
|
||||
|
||||
#### 3. 止损卖出
|
||||
- **触发**:价格达到止损位
|
||||
- **动作**:紧急卖出全部持仓
|
||||
- **订单类型**:市价单(快速成交)
|
||||
|
||||
## 安全建议
|
||||
|
||||
### ⚠️ 风险提示
|
||||
1. 自动交易涉及真实资金,请谨慎使用
|
||||
2. 建议先用测试账户测试功能
|
||||
3. 设置合理的仓位限制(建议单股不超过20%)
|
||||
4. 必须设置止损位(建议5-10%)
|
||||
5. 保持人工监控,不要完全依赖自动化
|
||||
|
||||
### ✅ 最佳实践
|
||||
1. **小仓位测试** - 先用小额资金测试
|
||||
2. **严格止损** - 必须设置止损保护
|
||||
3. **合理仓位** - 单股不超过20%,总仓位不超过80%
|
||||
4. **定期检查** - 定期查看持仓和订单状态
|
||||
5. **及时调整** - 根据市场变化及时调整策略
|
||||
|
||||
## 界面功能
|
||||
|
||||
### 监测状态栏
|
||||
- **🟢 运行中** / **🔴 已停止** - 监测服务状态
|
||||
- **监测股票** - 当前监测股票数量
|
||||
- **待处理通知** - 待处理的通知数量
|
||||
- **🤖 QMT在线** / **🤖 QMT离线** - MiniQMT连接状态
|
||||
|
||||
### MiniQMT状态面板
|
||||
- **连接状态** - 显示是否已连接到MiniQMT
|
||||
- **账户ID** - 当前交易账户
|
||||
- **量化统计** - 启用量化的股票数量
|
||||
- **量化监测列表** - 显示所有启用量化的股票
|
||||
|
||||
### 股票卡片
|
||||
每个监测股票卡片会显示:
|
||||
- **基本信息** - 代码、名称、当前价格
|
||||
- **关键位置** - 进场区间、止盈位、止损位
|
||||
- **监测状态** - 监测间隔、最后检查时间、通知状态
|
||||
- **量化状态** - 🟢 启用 / 🔴 禁用
|
||||
|
||||
## 预留接口说明
|
||||
|
||||
### MiniQMTInterface 类
|
||||
|
||||
系统提供了完整的MiniQMT接口类,支持以下功能:
|
||||
|
||||
```python
|
||||
# 连接管理
|
||||
miniqmt.connect(account_id) # 连接到MiniQMT
|
||||
miniqmt.disconnect() # 断开连接
|
||||
miniqmt.is_connected() # 检查连接状态
|
||||
|
||||
# 账户信息
|
||||
miniqmt.get_account_info() # 获取账户信息
|
||||
miniqmt.get_positions() # 获取所有持仓
|
||||
miniqmt.get_position(symbol) # 获取单个持仓
|
||||
|
||||
# 交易下单
|
||||
miniqmt.place_order( # 下单
|
||||
symbol, action, quantity,
|
||||
price, order_type
|
||||
)
|
||||
miniqmt.cancel_order(order_id) # 撤单
|
||||
miniqmt.get_order_status(order_id) # 查询订单状态
|
||||
|
||||
# 策略执行
|
||||
miniqmt.execute_strategy_signal( # 执行策略信号
|
||||
stock_id, symbol, signal,
|
||||
position_size
|
||||
)
|
||||
|
||||
# 风险管理
|
||||
miniqmt.calculate_position_size() # 计算仓位大小
|
||||
miniqmt.get_risk_metrics() # 获取风险指标
|
||||
miniqmt.validate_trade() # 验证交易可行性
|
||||
```
|
||||
|
||||
### 对接真实交易
|
||||
|
||||
当前接口为预留接口,要对接真实交易,需要:
|
||||
|
||||
1. 安装MiniQMT Python SDK:
|
||||
```bash
|
||||
pip install xtquant
|
||||
```
|
||||
|
||||
2. 在 `miniqmt_interface.py` 中取消注释相关代码:
|
||||
```python
|
||||
# 例如在 connect() 方法中
|
||||
from xtquant import xtdata
|
||||
xtdata.connect()
|
||||
|
||||
# 在 place_order() 方法中
|
||||
from xtquant import xttrader
|
||||
order_id = xttrader.order_stock(...)
|
||||
```
|
||||
|
||||
3. 参考MiniQMT官方文档完成具体对接
|
||||
|
||||
## 常见问题
|
||||
|
||||
### Q1: MiniQMT连接失败?
|
||||
A: 检查以下几点:
|
||||
- MiniQMT客户端是否启动
|
||||
- 账户是否已登录
|
||||
- 账户ID是否正确
|
||||
- 网络连接是否正常
|
||||
|
||||
### Q2: 量化交易没有执行?
|
||||
A: 检查以下几点:
|
||||
- 量化功能是否已启用
|
||||
- MiniQMT是否已连接
|
||||
- 监测服务是否在运行
|
||||
- 是否在交易时间内
|
||||
- 查看通知记录中的错误信息
|
||||
|
||||
### Q3: 如何测试量化功能?
|
||||
A: 建议步骤:
|
||||
1. 使用测试账户
|
||||
2. 设置小额交易金额
|
||||
3. 设置宽松的触发条件
|
||||
4. 观察订单执行情况
|
||||
5. 确认逻辑无误后再使用实盘
|
||||
|
||||
### Q4: 仓位如何控制?
|
||||
A: 系统提供多层仓位控制:
|
||||
- 单股最大仓位比例(配置时设置)
|
||||
- 最小交易金额(默认5000元)
|
||||
- A股100股为一手的限制
|
||||
- 可用资金检查
|
||||
|
||||
## 技术支持
|
||||
|
||||
### 详细文档
|
||||
- 完整集成指南:`MINIQMT_INTEGRATION_GUIDE.md`
|
||||
- 系统说明:`README.md`
|
||||
- 快速启动:`QUICK_START.md`
|
||||
|
||||
### 问题反馈
|
||||
如遇到问题,请:
|
||||
1. 查看终端日志输出
|
||||
2. 查看MiniQMT客户端日志
|
||||
3. 查看通知记录中的详细信息
|
||||
4. 参考详细集成指南
|
||||
|
||||
---
|
||||
|
||||
**免责声明**:本系统仅供学习研究使用,量化交易涉及真实资金风险,请谨慎使用并自行承担投资风险。
|
||||
|
||||
Reference in New Issue
Block a user