Files
qihuo/docs/ORDER_MONITOR.md
dekun 169136dd4a Add modular docs with index, WeChat templates, and AI guide.
Document per-module order logic, risk rules, and WeChat message templates with a central INDEX for navigation.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 10:49:10 +08:00

4.6 KiB
Raw Permalink Blame History

下单监控

页面路径/positions(默认首页)

相关文件install_trading.pysl_tp_guard.pypending_order_worker.pyproduct_recommend.py


功能结构

区域 说明
顶栏 模拟/实盘、CTP 状态、风险状态、权益、连接按钮
期货下单 手动开仓/平仓表单
当前持仓 pending 挂单 + active 持仓卡片
可开仓品种 按权益与保证金筛选的推荐表

下单逻辑

手动开仓

  1. 选择品种、方向、限价/市价(FAK)、手数或计仓模式。
  2. 前置校验(全部通过才报单):
    • CTP 已连接且不在连接中
    • 处于 交易时段
    • assert_can_open() — 见 RISK.md
    • assert_product_allowed_for_capital() — 小账户四品种限制
    • 固定金额模式须填 止损价
    • 开启 移动保本 须填止损(不可只填止盈)
    • 保证金占用 ≤ max_margin_pct
    • 单笔手数 ≤ 50
  3. 计仓
    • 固定手数 → 使用 fixed_lots
    • 固定金额 → calc_lots_by_amount() 按止损距离算手数
  4. 报单execute_order() → CTP。
  5. 成交后
    • 写入 trade_order_monitorsstatus=active 或 pending
    • 注册本地 SL/TP 守护(sl_tp_guard
    • 微信:结构化开仓推送(有止损)或简版
    • AI:后台开仓分析(有止损时)

挂单(限价未立即成交)

  • status=pending,显示「挂单中」。
  • 超时撤单pending_order_worker 每 10 秒 reconcile(有 pending 时);默认超时见系统设置 pending_order_timeout_sec
  • 微信:委托已提交 · … 挂单中(N 分钟未成交自动撤单)

手动平仓

  • 市价平仓当前品种方向持仓。
  • 关闭对应 monitor,写入 trade_logs
  • 若当日手动平仓次数超限 → 触发冷静期(RISK.md)。
  • 微信:结构化平仓推送(成交同步后)。

止盈止损守护

后台 sl_tp_guard 线程 + tick 事件:

条件 动作
价格触及 止盈价 市价平仓,结果=止盈
价格触及 止损价 市价平仓,结果=止损
开启 移动保本 见下节

触发时先推简版「平仓委托已提交」,成交写入 trade_logs 后推 结构化平仓


移动保本

开启条件:下单表单勾选「移动保本」,必须填写止损,不设固定止盈。

逻辑sl_tp_guard._update_trailing_stop_loss):

浮盈 R 倍数 止损移动至
≥ 1R 开仓价 ± trailing_be_tick_buffer 跳(保本)
≥ 2R 开仓价 ± 1R
≥ nR 开仓价 ± (n1)R

平仓结果标签

  • 1R 锁定后止损出场 → 保本止盈
  • 2R 及以上锁定后止损出场 → 移动止盈

关键位自动单若开启移动保本且设目标盈亏比(默认 3R),达 TP 仍按 止盈 平仓;移动止损与显式 TP 可同时生效


风控规则

本板块执行 RISK.md 全部规则,另加:

规则 说明
非交易时段 禁止开仓
移动保本 必须填止损
固定金额 必须填止损才能算手数
保证金 新开仓前校验总占用
单笔 50 手 超限拒绝

顶栏 风险状态 实时反映:正常 / 冷静期 / 日冻结 / 仓位上限。


可开仓品种表

  • 按当前权益、max_margin_pct、合约保证金计算可开手数。
  • 权益 ≤20 万或 CTP 未连接:仅四品种;未连接按 10 万权益估算。
  • 夜盘时段过滤无夜盘品种。
  • 每日后台刷新 product_recommend_cache

详见 TRADING.md


微信推送

事件 模板
开仓成交(有止损) WECHAT §1
开仓成交(无止损) WECHAT §2
挂单提交 WECHAT §3
平仓完成 WECHAT §4
SL/TP 触发 WECHAT §5
AI 分析 AI.md(仅页面,默认不推微信)

数据流

用户下单 → API /api/trade/order
         → CTP 报单
         → trade_order_monitors
         → sl_tp_guard 监控
         → 平仓 → trade_logs → 微信 + AI

SSE/api/trading/stream 推送持仓快照,无需整页刷新。


相关文档