e18d5feb72
When SimNow or live CTP is disconnected, default to the four-product whitelist regardless of reference capital. Trailing breakeven defaults off; when enabled hide take-profit and risk-reward, monitor exits via trailing stop only. Document both behaviors in TRADING.md and FEATURES.md. Co-authored-by: Cursor <cursoragent@cursor.com>
126 lines
5.0 KiB
Markdown
126 lines
5.0 KiB
Markdown
# 下单监控与策略交易
|
||
|
||
## 默认首页
|
||
|
||
登录或访问 `/` 后进入 **下单监控**(`/positions`)。页面包含:
|
||
|
||
| 区域 | 说明 |
|
||
|------|------|
|
||
| 顶栏 | 交易模式、CTP 状态、权益/可用、连接 CTP |
|
||
| 期货下单 | 限价/市价报单、止盈/止损、移动保本、以损定仓/固定手数 |
|
||
| 当前持仓 | CTP 持仓卡片、挂单中、撤单、平仓 |
|
||
| 可开仓品种 | 按权益与保证金上限筛选、行业分类、走势/跳空/成交量排序 |
|
||
|
||
`/trade`、`/recommend` 均重定向到 `/positions`(可开仓品种锚点 `#recommend`)。
|
||
|
||
## 两种交易通道
|
||
|
||
| 设置 | 实际连接 | 资金 |
|
||
|------|----------|------|
|
||
| **模拟盘** | SimNow(vnpy → CTP 仿真前置) | SimNow 账户权益 |
|
||
| **实盘** | 期货公司 CTP(`.env` 中 `CTP_LIVE_*`) | 柜台权益 |
|
||
|
||
模拟盘与实盘均走 **vnpy_ctp**,无本地假撮合。
|
||
|
||
## 下单与持仓
|
||
|
||
- **限价开仓**:先显示「挂单中」,柜台成交后进入持仓监控;超时未成交自动撤单(时长见系统设置)
|
||
- **撤单**:交易时段内可手动撤单;非交易时段按钮不可用
|
||
- **平仓**:程序平仓写入 `trade_logs`(来源「本地」)
|
||
- **持仓数据**:SSE `/api/trading/stream` 推送,约 1 秒刷新
|
||
|
||
## 可开仓品种
|
||
|
||
- 用于开仓纪律与仓位限制:按保证金上限计算最大手数,仅展示当前权益下可开的品种
|
||
- 每日后台刷新列表(`/api/recommend/stream`)
|
||
- 最大手数 = floor(权益 × 保证金上限 ÷ 1 手保证金)
|
||
- 展示近一周日线走势、跳空、昨日成交量(手)、成交额
|
||
- 可按 **行业** 筛选,支持多字段排序
|
||
- **夜盘时段**:品种下拉与可开仓表仅显示有夜盘交易的品种,并带「夜盘」标记
|
||
|
||
### 小账户品种范围(≤20 万)
|
||
|
||
权益 **不超过 20 万元** 时,系统限制可浏览、可搜索、可报单的品种为以下 **4 个**:
|
||
|
||
| 品种 | 代码 |
|
||
|------|------|
|
||
| 玉米 | `c` |
|
||
| 豆粕 | `m` |
|
||
| 甲醇 | `MA` |
|
||
| 螺纹钢 | `rb` |
|
||
|
||
适用范围:
|
||
|
||
- 可开仓品种表
|
||
- 期货下单品种联想 / 下拉
|
||
- 开仓报单校验(含趋势策略首仓)
|
||
|
||
**SimNow 与实盘规则一致**:**CTP 未连接** 时,无论系统设置中的参考资金是否大于 20 万,均 **默认按 20 万以下四品种范围** 展示与校验;连接 CTP 后改用柜台权益判断是否启用上述白名单。
|
||
|
||
页面会提示:「未连接 CTP,默认按 20 万以下账户:仅显示并可交易 玉米、豆粕、甲醇、螺纹钢」。
|
||
|
||
## 期货下单 · 止盈止损与移动保本
|
||
|
||
本地止盈止损由程序监控持仓,触发后市价平仓(与 CTP 柜台委托/持仓数据独立)。
|
||
|
||
### 默认模式(移动保本关闭)
|
||
|
||
- 可同时填写 **止盈**、**止损**
|
||
- 填写入场价与止损/止盈后,表单下方显示 **盈亏比**、止损金额、止盈金额(如有)
|
||
- 本地监控:价格触及止盈或止损即平仓
|
||
|
||
### 移动保本(可选,默认关闭)
|
||
|
||
勾选 **移动保本** 后:
|
||
|
||
| 表单项 | 行为 |
|
||
|--------|------|
|
||
| 止盈 | **隐藏**,不提交止盈价 |
|
||
| 盈亏比 / 止盈金额 | **不显示** |
|
||
| 止损 | **必填**,仅保留止损输入 |
|
||
|
||
平仓逻辑:
|
||
|
||
- **不再** 按固定止盈价监控
|
||
- 程序按 **移动止损** 管理出场:浮盈达 **1R** 后止损移至开仓价 ± N 跳(保本);达 **2R** 移至 1R,依次类推(N 见系统设置「移动保本缓冲」)
|
||
- 开启移动保本 **必须填写止损价**,否则无法开仓
|
||
|
||
持仓卡片在开启移动保本时同样 **不展示盈亏比、盈利金额、止盈状态**,仅保留止损与移动保本进度(如已锁 N R)。
|
||
|
||
## 策略交易
|
||
|
||
| 页面 | 路径 |
|
||
|------|------|
|
||
| 策略交易 | `/strategy` |
|
||
| 策略记录 | `/strategy/records` |
|
||
|
||
趋势回调、顺势加仓等策略需先在下单监控完成开仓,再在策略页配置。
|
||
|
||
## 参考资金
|
||
|
||
系统设置中的「参考资金」在 **CTP 未连接** 时用于以损定仓估算;连接后自动改用柜台权益。
|
||
|
||
可开仓品种与品种白名单:**未连接 CTP 时一律按 20 万以下四品种范围**(见上文);连接后若柜台权益 ≤20 万,同样仅上述四品种。
|
||
|
||
## 首次使用 SimNow
|
||
|
||
完整步骤见 **[SimNow 注册与接入说明](./SIMNOW.md)**。
|
||
|
||
简要:注册 SimNow → 填写 `.env` → 安装 vnpy_ctp → 登录系统 → **下单监控** → **连接 CTP**。
|
||
|
||
## 主要 API
|
||
|
||
| 接口 | 说明 |
|
||
|------|------|
|
||
| `POST /api/ctp/connect` | 连接 SimNow 或实盘 CTP |
|
||
| `GET /api/ctp/status` | 连接状态 |
|
||
| `POST /api/trade/order` | 报单(需已连接 CTP) |
|
||
| `POST /api/trading/order/cancel` | 撤单(交易时段) |
|
||
| `POST /api/trading/close` | 平仓 |
|
||
| `GET /api/trading/stream` | 持仓 SSE |
|
||
| `GET /api/recommend/list` | 可开仓品种 JSON |
|
||
| `GET /api/recommend/stream` | 可开仓品种 SSE |
|
||
| `POST /api/strategy/trend/execute` | 执行趋势策略 |
|
||
|
||
详见 [DEPLOY.md](./DEPLOY.md) 中 CTP 故障排查。
|