Files
qihuo/docs/TRADING.md
T
dekun 0109b59f27 Use 100k equity for recommend list when CTP is offline.
When SimNow or live CTP is disconnected, the tradable-products section shows four whitelisted symbols and calculates max lots from a fixed 100,000 capital instead of reference capital in settings.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 09:16:22 +08:00

126 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 下单监控与策略交易
## 默认首页
登录或访问 `/` 后进入 **下单监控**`/positions`)。页面包含:
| 区域 | 说明 |
|------|------|
| 顶栏 | 交易模式、CTP 状态、权益/可用、连接 CTP |
| 期货下单 | 限价/市价报单、止盈/止损、移动保本、以损定仓/固定手数 |
| 当前持仓 | CTP 持仓卡片、挂单中、撤单、平仓 |
| 可开仓品种 | 按权益与保证金上限筛选、行业分类、走势/跳空/成交量排序 |
`/trade``/recommend` 均重定向到 `/positions`(可开仓品种锚点 `#recommend`)。
## 两种交易通道
| 设置 | 实际连接 | 资金 |
|------|----------|------|
| **模拟盘** | SimNowvnpy → 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 未连接** 时,可开仓表 **当前权益固定按 10 万** 估算最大手数,并 **仅展示四品种**(玉米、豆粕、甲醇、螺纹钢);与系统设置中的参考资金无关。连接 CTP 后改用柜台权益;若柜台权益 ≤20 万,同样仅上述四品种。
页面会提示:「未连接 CTP,按 10 万权益估算最大手数,仅显示并可交易 …」。
## 期货下单 · 止盈止损与移动保本
本地止盈止损由程序监控持仓,触发后市价平仓(与 CTP 柜台委托/持仓数据独立)。
### 默认模式(移动保本关闭)
- 可同时填写 **止盈**、**止损**
- 填写入场价与止损/止盈后,表单下方显示 **盈亏比**、止损金额、止盈金额(如有)
- 本地监控:价格触及止盈或止损即平仓
### 移动保本(可选,默认关闭)
勾选 **移动保本** 后:
| 表单项 | 行为 |
|--------|------|
| 止盈 | **隐藏**,不提交止盈价 |
| 盈亏比 / 止盈金额 | **不显示** |
| 止损 | **必填**,仅保留止损输入 |
平仓逻辑:
- **不再** 按固定止盈价监控
- 程序按 **移动止损** 管理出场:浮盈达 **1R** 后止损移至开仓价 ± N 跳(保本);达 **2R** 移至 1R,依次类推(N 见系统设置「移动保本缓冲」)
- 开启移动保本 **必须填写止损价**,否则无法开仓
持仓卡片在开启移动保本时同样 **不展示盈亏比、盈利金额、止盈状态**,仅保留止损与移动保本进度(如已锁 N R)。
## 策略交易
| 页面 | 路径 |
|------|------|
| 策略交易 | `/strategy` |
| 策略记录 | `/strategy/records` |
趋势回调、顺势加仓等策略需先在下单监控完成开仓,再在策略页配置。
## 参考资金
系统设置中的「参考资金」在 **CTP 未连接** 时用于以损定仓估算;连接后自动改用柜台权益。
可开仓品种与品种白名单:**未连接 CTP 时** 可开仓表按 **10 万权益** 估算最大手数,且仅四品种;连接后若柜台权益 ≤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 故障排查。