增加龙虎榜批量分析功能,修复一些小bug
This commit is contained in:
@@ -0,0 +1,257 @@
|
||||
# MiniQMT量化交易集成指南
|
||||
|
||||
## 📚 概述
|
||||
|
||||
本系统已为监测板块增加MiniQMT量化交易预留接口,支持自动化量化交易功能。该功能可以在监测到特定价格条件时,自动执行买卖操作。
|
||||
|
||||
## 🚀 功能特性
|
||||
|
||||
### 核心功能
|
||||
- ✅ **自动交易执行**:监测触发后自动下单
|
||||
- ✅ **仓位管理**:智能仓位控制和风险管理
|
||||
- ✅ **多种订单类型**:市价单、限价单、止损单等
|
||||
- ✅ **持仓监控**:实时查看持仓和盈亏
|
||||
- ✅ **风险控制**:自动止损、止盈功能
|
||||
- ✅ **策略配置**:灵活的量化策略参数设置
|
||||
|
||||
### 交易信号类型
|
||||
1. **进场信号(Entry)**:价格进入预设进场区间时触发买入
|
||||
2. **止盈信号(Take Profit)**:价格达到止盈位时触发卖出
|
||||
3. **止损信号(Stop Loss)**:价格达到止损位时紧急止损
|
||||
|
||||
## ⚙️ 配置说明
|
||||
|
||||
### 1. 环境变量配置
|
||||
|
||||
在项目根目录的 `.env` 文件中添加以下配置:
|
||||
|
||||
```bash
|
||||
# MiniQMT量化交易配置
|
||||
MINIQMT_ENABLED=true # 是否启用MiniQMT(true/false)
|
||||
MINIQMT_ACCOUNT_ID=your_account_id # 交易账户ID
|
||||
MINIQMT_HOST=127.0.0.1 # MiniQMT服务地址
|
||||
MINIQMT_PORT=58610 # MiniQMT服务端口
|
||||
```
|
||||
|
||||
### 2. 代码配置
|
||||
|
||||
配置会自动从环境变量加载,也可以在 `config.py` 中直接修改:
|
||||
|
||||
```python
|
||||
MINIQMT_CONFIG = {
|
||||
'enabled': True, # 启用MiniQMT
|
||||
'account_id': 'your_account_id', # 账户ID
|
||||
'host': '127.0.0.1', # 服务地址
|
||||
'port': 58610, # 服务端口
|
||||
}
|
||||
```
|
||||
|
||||
## 📖 使用指南
|
||||
|
||||
### 第一步:安装MiniQMT
|
||||
|
||||
1. 下载并安装MiniQMT客户端
|
||||
2. 启动MiniQMT客户端
|
||||
3. 登录你的交易账户
|
||||
4. 确保API服务已启动
|
||||
|
||||
### 第二步:启用量化功能
|
||||
|
||||
1. 进入系统的"实时监测"板块
|
||||
2. 在底部找到"MiniQMT量化交易"状态面板
|
||||
3. 点击"连接MiniQMT"按钮
|
||||
4. 等待连接成功提示
|
||||
|
||||
### 第三步:添加量化监测股票
|
||||
|
||||
#### 方式一:添加新股票时启用
|
||||
|
||||
1. 点击"添加股票监测"
|
||||
2. 填写股票信息和关键位置
|
||||
3. 在"量化交易(MiniQMT)"区域勾选"启用量化自动交易"
|
||||
4. 配置量化参数:
|
||||
- **最大仓位比例**:单只股票最大占总资金的比例(建议0.1-0.3)
|
||||
- **自动止损**:是否在触发止损位时自动卖出
|
||||
- **自动止盈**:是否在触发止盈位时自动卖出
|
||||
5. 点击"添加监测"
|
||||
|
||||
#### 方式二:编辑现有股票启用
|
||||
|
||||
1. 在监测股票列表中找到目标股票
|
||||
2. 点击"编辑"按钮
|
||||
3. 勾选"启用量化自动交易"
|
||||
4. 配置量化参数
|
||||
5. 点击"保存修改"
|
||||
|
||||
### 第四步:监控交易执行
|
||||
|
||||
系统会在以下情况自动执行交易:
|
||||
|
||||
1. **进场买入**
|
||||
- 条件:价格进入进场区间
|
||||
- 动作:按配置的仓位比例自动买入
|
||||
- 订单类型:限价单
|
||||
|
||||
2. **止盈卖出**
|
||||
- 条件:价格达到止盈位
|
||||
- 动作:卖出全部持仓
|
||||
- 订单类型:限价单
|
||||
|
||||
3. **止损卖出**
|
||||
- 条件:价格达到止损位
|
||||
- 动作:紧急卖出全部持仓
|
||||
- 订单类型:市价单(快速成交)
|
||||
|
||||
## 🔧 接口说明
|
||||
|
||||
### MiniQMTInterface 类
|
||||
|
||||
#### 主要方法
|
||||
|
||||
```python
|
||||
# 连接到MiniQMT
|
||||
success, msg = miniqmt.connect(account_id)
|
||||
|
||||
# 断开连接
|
||||
miniqmt.disconnect()
|
||||
|
||||
# 获取账户信息
|
||||
account_info = miniqmt.get_account_info()
|
||||
|
||||
# 获取持仓
|
||||
positions = miniqmt.get_positions()
|
||||
|
||||
# 下单
|
||||
success, msg, order_id = miniqmt.place_order(
|
||||
symbol='000001',
|
||||
action=TradeAction.BUY,
|
||||
quantity=100,
|
||||
price=10.50,
|
||||
order_type=OrderType.LIMIT
|
||||
)
|
||||
|
||||
# 撤销订单
|
||||
success, msg = miniqmt.cancel_order(order_id)
|
||||
|
||||
# 执行策略信号(自动调用)
|
||||
success, msg = miniqmt.execute_strategy_signal(
|
||||
stock_id=1,
|
||||
symbol='000001',
|
||||
signal={'type': 'entry', 'price': 10.5},
|
||||
position_size=0.2
|
||||
)
|
||||
```
|
||||
|
||||
### 量化策略配置
|
||||
|
||||
```python
|
||||
quant_config = {
|
||||
'max_position_pct': 0.2, # 最大仓位比例(20%)
|
||||
'auto_stop_loss': True, # 自动止损
|
||||
'auto_take_profit': True, # 自动止盈
|
||||
'min_trade_amount': 5000, # 最小交易金额
|
||||
}
|
||||
```
|
||||
|
||||
## 💡 最佳实践
|
||||
|
||||
### 1. 仓位管理建议
|
||||
- 单只股票仓位不超过20%
|
||||
- 总仓位不超过80%
|
||||
- 保留至少20%现金应对突发情况
|
||||
|
||||
### 2. 风险控制建议
|
||||
- 必须设置止损位(建议5-10%)
|
||||
- 设置合理的止盈位(建议10-20%)
|
||||
- 启用自动止损功能
|
||||
|
||||
### 3. 监测参数建议
|
||||
- 监测间隔:5-30分钟(日内交易)
|
||||
- 进场区间:设置合理的价格范围
|
||||
- 及时更新关键位置
|
||||
|
||||
### 4. 测试建议
|
||||
- 先用小仓位测试
|
||||
- 验证连接和下单功能
|
||||
- 确认止损止盈逻辑正确
|
||||
|
||||
## ⚠️ 风险提示
|
||||
|
||||
### 重要警告
|
||||
1. **实盘交易风险**:自动交易涉及真实资金,请谨慎使用
|
||||
2. **网络延迟**:可能导致下单延迟或失败
|
||||
3. **系统故障**:监测服务中断可能错过交易时机
|
||||
4. **价格滑点**:实际成交价可能与预期不同
|
||||
5. **市场风险**:量化交易无法规避市场系统性风险
|
||||
|
||||
### 安全建议
|
||||
1. ✅ 使用专门的测试账户进行测试
|
||||
2. ✅ 设置合理的单笔交易限额
|
||||
3. ✅ 定期检查持仓和资金状态
|
||||
4. ✅ 保持人工监控,不要完全依赖自动化
|
||||
5. ✅ 及时处理异常通知和错误
|
||||
|
||||
## 🛠️ 故障排除
|
||||
|
||||
### 连接失败
|
||||
- 检查MiniQMT客户端是否启动
|
||||
- 确认账户已登录
|
||||
- 验证账户ID是否正确
|
||||
- 检查网络连接
|
||||
|
||||
### 下单失败
|
||||
- 检查资金是否充足
|
||||
- 确认股票代码格式正确
|
||||
- 验证交易时间(交易日9:30-15:00)
|
||||
- 检查仓位限制
|
||||
|
||||
### 交易未执行
|
||||
- 确认量化功能已启用
|
||||
- 检查MiniQMT连接状态
|
||||
- 验证监测服务是否运行
|
||||
- 查看通知记录中的错误信息
|
||||
|
||||
## 📊 技术架构
|
||||
|
||||
```
|
||||
监测服务 (monitor_service.py)
|
||||
↓
|
||||
价格触发检测 (_check_trigger_conditions)
|
||||
↓
|
||||
量化交易执行 (_execute_quant_trade)
|
||||
↓
|
||||
MiniQMT接口 (miniqmt_interface.py)
|
||||
↓
|
||||
订单执行 (execute_strategy_signal)
|
||||
↓
|
||||
MiniQMT客户端 (真实交易)
|
||||
```
|
||||
|
||||
## 🔄 更新日志
|
||||
|
||||
### v1.0.0 (当前版本)
|
||||
- ✅ 实现MiniQMT预留接口
|
||||
- ✅ 支持自动买卖交易
|
||||
- ✅ 集成监测触发机制
|
||||
- ✅ 添加量化配置界面
|
||||
- ✅ 实现仓位管理功能
|
||||
- ✅ 支持多种订单类型
|
||||
|
||||
### 未来规划
|
||||
- 🔜 支持更多交易策略
|
||||
- 🔜 添加回测功能
|
||||
- 🔜 优化仓位算法
|
||||
- 🔜 增加风控规则
|
||||
- 🔜 支持批量操作
|
||||
|
||||
## 📞 技术支持
|
||||
|
||||
如有问题,请查看:
|
||||
1. 系统日志输出
|
||||
2. MiniQMT客户端日志
|
||||
3. 通知记录中的详细信息
|
||||
|
||||
---
|
||||
|
||||
**免责声明**:本系统仅供学习和研究使用,不构成任何投资建议。量化交易涉及真实资金风险,请谨慎使用并自行承担投资风险。
|
||||
|
||||
Reference in New Issue
Block a user