# 半自动模式说明

> 永期（永续 + 期权）专用。期期模式不可用。  
> 与「手动开一组」（测试按钮）无关：半自动是**人工定看法并授权 → 机器盯开盯平 → 平完停**。

---

## 1. 流程

```text
系统设置开启半自动
    → 首页出现「半自动 · 本单」面板
    → 人工设：方向 / 波动点数 / 净利基数 / 选约门槛
    → 「授权开下一单」
    → 机器：选约 → 开仓 → 盯出场 → 双腿全平
    → phase=wait_human，清授权，不自动开下一单
    → 人工再授权才进入下一单
```

| 阶段 | 含义 |
|------|------|
| `wait_human` | 未授权，不开仓；有仓仍可盯平 |
| 授权后 `idle`/`opening`/`open` | 与全自动相同状态机，但出场走半自动规则 |
| 平仓后 | 强制回 `wait_human`，`semi_armed=false`，清本单出场锁 |
| 进程重启 | 无仓时清 `semi_armed`，须重新授权 |
| 开仓成功 | 锁定本单 `view/点数/净利基数`（持仓期不跟设置漂移） |

安全门：选约异步后、落 `opening` 前再次校验授权；取消授权可中止未成交开仓。LIVE 授权前过 `live_ready`。关闭/开启半自动设置时强制清授权。

---

## 2. 方向（看法）

| 看法 | 期权 | 永续 |
|------|------|------|
| 多 (`long`) | 买 Call | 空 |
| 空 (`short`) | 买 Put | 多 |

选约：本单可选 **实值 / 平值 / 虚值**（仅半自动）。

| 行权类型 | 规则 |
|----------|------|
| `itm` | 实值或平值（Call K≤S；Put K≥S） |
| `atm` | 该到期最接近标的的档 |
| `otm` | 虚值且 \|K−S\| ≤ `semi_otm_max_offset`（可配）；杠杆门强制 ≥180，默认 200 |

名义配比：`semi_perp_unit` : `semi_option_unit`（默认 **1:4**）；以损定仓时作单位再乘 k，手动仓直接写入名义。最短剩余小时默认 ≥30h。

**以损定仓（半自动）**：系统设置 `sizing_mode=risk_based` 时，开仓前用**盘口卖一**估算单位成本 → 预算反推 k →  
`期权量 = 期权单位 × k`，`永续量 = 永续单位 × k`（配比不变）。首页「半自动 · 本单」下方按当前报价档卖一实时预览开仓量。

选约到期与报价列表一致：取剩余 ≥ 最短 h 的**最近**到期。半自动**不受**全自动「一日一到期」限制（仍可跳过有残余腿的到期）。

---

## 3. 出场

净利口径与全自动一致：可平盘口估价 − 开仓费 − 预估平仓费（非乐观 mark）。

| 规则 | 条件 | close_reason |
|------|------|----------------|
| 顺方向（期权目标） | 指数到达 **行权价 ± 波动点**（多 Call：K+N；空 Put：K−N），**且**组合净利 > 0 | `semi_target_points` |
| 永续净利锁定 | 组合净利 ≥ `semi_perp_exit_unit × k`（k=以损倍数，手动仓视为 1） | `semi_perp_exit` |

- 波动点 N 相对**行权价**，不是现价/开仓价 ±N。  
- 到点但净利 ≤ 0：继续持有（状态提示，不平）。  
- 流动性不足：进入 `liquidity_wait`；回落未达标则取消挂起。  
- 半自动平仓**禁止**远虚「只平永续、期权归档」；顺序仍为**先期权后永续**。

首页预览「期权目标 K→K±N」+ 到点粗估盈亏；「永续锁定」为净利基数×k。

---

## 4. 设置键

| Key | 默认 | 说明 |
|-----|------|------|
| `semi_auto_enabled` | false | 系统设置 · 节奏 |
| `semi_armed` | false | 是否已授权本单（平完清零） |
| `semi_view_side` | long | long / short |
| `semi_option_move_points` | 50 | 顺向波动点数 |
| `semi_perp_exit_unit` | 5 | 净利出场基数（×k） |
| `semi_min_option_hours` | 30 | 选约最短剩余 |
| `semi_min_option_leverage` | 200 | 选约最低杠杆（虚值仍≥180） |
| `semi_moneyness` | otm | itm / atm / otm |
| `semi_otm_max_offset` | 25 | 虚值最大偏离（点） |
| `semi_perp_unit` | 1 | 永续名义单位 |
| `semi_option_unit` | 4 | 期权名义单位 |

API（需登录）：

- `POST /api/plan/semi/arm` `{ "armed": true|false }`
- `PUT /api/plan/semi/params` 本单参数（有持仓 409）

---

## 5. 中控

Fleet `strategy` 透出半自动字段。监控模式列在永期开启半自动时显示「半自动」；详情状态含授权/方向，出场列显示点数与净利目标。

---

## 6. 与全自动差异

| | 全自动 | 半自动 |
|--|--------|--------|
| 方向 | 盘口信号或固定方向 | 人工看法 |
| 出场 | fixed_usdt / 权利金倍数（可锁定） | 点数+净利>0，或基数×k |
| 轮间 | 休息后自动再开 | 平完停，须再授权 |
| 期期 | 可用 | 强制关闭半自动 |

---

## 7. 修订

| 日期 | 说明 |
|------|------|
| 2026-08-08 | 以损定仓按卖一推期权量、配比乘 k 得永续；本单面板预览开仓量 |
| 2026-08-08 | 行权类型 itm/atm/otm；虚值偏离可配；永续:期权配比默认 1:4 |
| 2026-08-08 | 初版：设置开关、首页本单、中控展示、出场与停机 |
