# 🤖 量化交易功能快速指南 ## 简介 本系统已为监测板块增加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. 参考详细集成指南 --- **免责声明**:本系统仅供学习研究使用,量化交易涉及真实资金风险,请谨慎使用并自行承担投资风险。