增加miniqmt接口预留

This commit is contained in:
oficcejo
2025-10-04 11:52:11 +08:00
parent e0e3bfc7f7
commit 1a73483f8e
9 changed files with 1402 additions and 22 deletions
+237
View File
@@ -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.220%
- 自动止损:建议勾选
- 自动止盈:建议勾选
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. 参考详细集成指南
---
**免责声明**:本系统仅供学习研究使用,量化交易涉及真实资金风险,请谨慎使用并自行承担投资风险。