9037e80376
Co-authored-by: Cursor <cursoragent@cursor.com>
591 lines
25 KiB
Markdown
591 lines
25 KiB
Markdown
# 使用说明(详细版)
|
||
|
||
**仓库:** [https://git.bz121.com/dekun/crypto_okx.git](https://git.bz121.com/dekun/crypto_okx.git)
|
||
|
||
本实例是基于 Flask 的 **OKX 币本位期权** Web 控制台,可独立使用,也可挂到中控(`crypto_okx_hub`)做远程盯盘、条件单与远程平仓。
|
||
|
||
| 文档 | 用途 |
|
||
|------|------|
|
||
| 本文 | 操作员完整用法:交易所前置 → env → 系统设置 → 开平仓 → 复盘/统计 → 中控 |
|
||
| [部署文档.md](./部署文档.md) | 部署 / PM2 / SOCKS |
|
||
| [docs/实盘说明.md](./docs/实盘说明.md) | 实盘 API、账户模式(站内「实盘说明」同源) |
|
||
| [docs/规格-期权交易账户盈亏结算.md](./docs/规格-期权交易账户盈亏结算.md) | 盈亏真源与冻结规则 |
|
||
| [docs/系统分析-期权主链条.md](./docs/系统分析-期权主链条.md) | 代码主链与模块对照 |
|
||
|
||
一键部署(详见部署文档):
|
||
|
||
```bash
|
||
curl -fsSL https://git.bz121.com/dekun/crypto_okx/raw/branch/main/deploy/manage.sh | bash
|
||
```
|
||
|
||
默认访问:`http://<服务器IP>:5004` → 首页进入 **期权** `/options`。
|
||
|
||
---
|
||
|
||
## 目录
|
||
|
||
1. [系统能做什么](#1-系统能做什么)
|
||
2. [系统前:交易所准备](#2-系统前交易所准备)
|
||
3. [登录与顶栏读数](#3-登录与顶栏读数)
|
||
4. [模拟资金 vs 实盘](#4-模拟资金-vs-实盘)
|
||
5. [env 配置(详细)](#5-env-配置详细)
|
||
6. [系统设置(详细)](#6-系统设置详细)
|
||
7. [期权页:开仓 / 平仓 / 持仓](#7-期权页开仓--平仓--持仓)
|
||
8. [盈亏、对账与划转规则](#8-盈亏对账与划转规则)
|
||
9. [期权复盘与数据统计](#9-期权复盘与数据统计)
|
||
10. [中控使用(详细)](#10-中控使用详细)
|
||
11. [推荐上手路径](#11-推荐上手路径)
|
||
12. [常见问题与报错](#12-常见问题与报错)
|
||
13. [风险说明](#13-风险说明)
|
||
|
||
---
|
||
|
||
## 1. 系统能做什么
|
||
|
||
### 1.1 功能一览
|
||
|
||
| 模块 | 路由 / 入口 | 说明 |
|
||
|------|-------------|------|
|
||
| **期权** | `/options` | 期权链、买币并开仓、持仓、目标位、翻倍出场、买一平仓、卖回、面板统计 |
|
||
| **期权复盘** | `/options/review` | 本地成交同步 → 复盘笔记/配图 → 复盘统计 |
|
||
| **env 配置** | `/env_config` | 浏览器改 `.env`(API、预算、门控、中控 Token 等) |
|
||
| **系统设置** | `/settings` | 导航显示、模拟/实盘、密码、期权划转、导出、备份 |
|
||
| **实盘说明** | 顶栏「实盘说明」 | 渲染 `docs/实盘说明.md` |
|
||
| **中控 Bridge** | `/api/hub/*` | 供中控拉快照/统计、远程全平、条件单、远程更新 |
|
||
| **关键位监控等** | 顶栏可开关 | 提醒类;在系统设置 → 导航显示中开关 |
|
||
|
||
当前主路径为 **币本位期权**(USDT 买 ETH/BTC → 用币付权利金开期权)。USDC 期权开仓路径已下线。交易模式固定为 **单独期权**(`OKX_TRADE_MODE=options`)。
|
||
|
||
### 1.2 三条控制面(心里要有数)
|
||
|
||
| 控制面 | 谁在用 | 做什么 |
|
||
|--------|--------|--------|
|
||
| 本机面板 | 你在浏览器里点 | 开平仓、划转、看链、复盘 |
|
||
| 后台监控线程 | 实例进程常驻 | 目标位平仓、翻倍出场、条件单触发、持仓同步、卖回扫尾 |
|
||
| 中控 Hub | 中控站 | 多实例盯盘、下条件单、远程全平、远程更新 |
|
||
|
||
**进程必须在跑**,目标位 / 翻倍 / 条件单才会自动执行。
|
||
|
||
---
|
||
|
||
## 2. 系统前:交易所准备
|
||
|
||
在填本系统任何密钥之前,先在 OKX 把账户与 API 准备好。币本位开仓会 **先现货买币,再开期权**,缺一不可。
|
||
|
||
### 2.1 账户模式(必须)
|
||
|
||
OKX App / 网页 → **交易** → **账户模式**(首次切换需在官方界面手动确认):
|
||
|
||
| 账户模式 | 是否可用 | 说明 |
|
||
|----------|----------|------|
|
||
| 仅现货 / 简单模式 | 否 | 无法正常开期权 |
|
||
| **合约模式(现货和合约)** | **推荐** | 现货 `cash`,与程序一致 |
|
||
| 跨币种保证金 | 不推荐 | 现货常需 `cross`,程序按 `cash` 下单会报 `tdMode` |
|
||
| 组合保证金 | 不推荐 | 同上 |
|
||
|
||
**推荐固定:合约模式 → 再在本系统点「买币并开仓」。**
|
||
|
||
### 2.2 创建 API Key
|
||
|
||
1. OKX → **个人中心 → API** → 创建 API Key。
|
||
2. 权限勾选 **交易(Trade)**。
|
||
3. 若有细分,务必打开 **现货(Spot)**(买 ETH/BTC 用)。
|
||
4. 建议开 **IP 白名单** = 本实例服务器出口 IP。
|
||
5. 保存得到:`API Key` / `Secret Key` / `Passphrase`。
|
||
|
||
本系统 **永续与期权共用同一套** `OKX_API_*`,不必再单独配期权 Key。
|
||
|
||
### 2.3 资金准备
|
||
|
||
| 账户 | 用途 |
|
||
|------|------|
|
||
| **交易账户 USDT** | 开仓时买 ETH/BTC;盈亏结算看交易户 USDT 差分 |
|
||
| **资金账户** | 充值/提现中转;用「期权划转」拨到交易户 |
|
||
| 标的币 ETH/BTC | 开仓前若交易户里还有**可卖**标的币,系统会拒开(须先卖回),避免污染单笔对账 |
|
||
|
||
实盘建议:平时把要用的 USDT 留在交易户;持仓期间不要划转(系统也会禁止)。
|
||
|
||
### 2.4 交易所侧自检清单
|
||
|
||
- [ ] 账户模式 = **合约模式**
|
||
- [ ] API 有 **交易 + 现货**,IP 白名单正确
|
||
- [ ] 交易账户有足够 **USDT**
|
||
- [ ] 清楚:开仓 = 买币 + 买期权;平仓 = 卖期权 + 卖回币
|
||
|
||
---
|
||
|
||
## 3. 登录与顶栏读数
|
||
|
||
1. 打开站点 → 登录(`APP_USERNAME` / `APP_PASSWORD`,在 `.env` 或首次部署配置)。
|
||
2. 顶栏账户标签示例:`okx_sim`(模拟)/ `okx_live`(实盘)。
|
||
3. 资金条主要看:
|
||
- **总资金 / 资金账户 / 交易账户(USDT)**:钱包余额(交易所或模拟钱包)
|
||
- **合计盈亏 / 窗口统计**:盈亏账本(已冻结历史 + 持仓浮盈),**不是**钱包余额本身
|
||
|
||
双账不要混:
|
||
|
||
| 看见什么 | 含义 |
|
||
|----------|------|
|
||
| 顶栏钱包余额 | 账户里有多少 USDT,会随划转变 |
|
||
| 合计 / 复盘 / 统计盈亏 | 单笔冻结盈亏之和(+ 浮盈);已冻结单不因划转改写 |
|
||
|
||
---
|
||
|
||
## 4. 模拟资金 vs 实盘
|
||
|
||
### 4.1 在哪里切换
|
||
|
||
**系统设置 → 模拟资金**:
|
||
|
||
| 操作 | 效果 |
|
||
|------|------|
|
||
| 切换到模拟资金 | 本地 SQLite 钱包;吃 OKX **公开买卖一**撮合,**不向交易所发真实单** |
|
||
| 切换到实盘 | 走真实 API(须密钥正确且 `LIVE_TRADING_ENABLED=true`) |
|
||
| 重置权益 | 无仓时可重置;强制重置会清仓 |
|
||
| 模拟划转 | 只动模拟钱包 |
|
||
|
||
启动默认:`SIM_DEFAULT_MODE=sim` 或 `live`(env)。运行中也可在系统设置切换。
|
||
|
||
### 4.2 实盘还要开的开关
|
||
|
||
| 项 | 说明 |
|
||
|----|------|
|
||
| `LIVE_TRADING_ENABLED=true` | 允许向交易所发单;关则多走本地/拒真下单 |
|
||
| 系统设置切到实盘 / `SIM_DEFAULT_MODE=live` | 顶栏变为 `okx_live`,余额读交易所 |
|
||
| API 三项已填 | Key / Secret / Passphrase |
|
||
|
||
实盘后:顶栏只显示交易所真实余额;模拟钱包数字不会带过去。
|
||
|
||
---
|
||
|
||
## 5. env 配置(详细)
|
||
|
||
入口:**顶栏 → env 配置**(`/env_config`),或直接改服务器 `.env` 后按提示重启。
|
||
页面按分组展示中文标签;**未写入 `.env` 的项以页面「生效默认」为准**(可能与旧版 `.env.example` 不一致,以页面为准)。
|
||
|
||
敏感项保存后勿提交 Git;`git pull` 不会覆盖本地 `.env`。
|
||
|
||
### 5.1 交易所与实盘
|
||
|
||
| 变量 | 中文 | 说明 | 建议 |
|
||
|------|------|------|------|
|
||
| `LIVE_TRADING_ENABLED` | 开启实盘下单 | 关闭时不向交易所发真实单 | 模拟熟悉后再开 |
|
||
| `OKX_API_KEY` | API Key | 账户 API(期权共用) | 必填(拉链/实盘) |
|
||
| `OKX_API_SECRET` | API Secret | 同上 | 必填 |
|
||
| `OKX_API_PASSPHRASE` | API Passphrase | OKX 必填 | 必填 |
|
||
| `OKX_ACCOUNT_LABEL` | 账户备注 | 企业微信推送里显示 | 如 `主账户` |
|
||
| `OKX_SHOW_PERP_FUNDS` | 显示 USDT 资金/交易账户 | 默认关;币本位开仓仍会用到交易户可用额展示 | 一般保持默认 |
|
||
|
||
代理(若服务器访问 OKX 受限,写在 `.env`,不一定都在 UI 白名单里):
|
||
|
||
```env
|
||
OKX_SOCKS_PROXY=socks5h://127.0.0.1:1080
|
||
```
|
||
|
||
### 5.2 企业微信(可选)
|
||
|
||
| 变量 | 中文 | 说明 |
|
||
|------|------|------|
|
||
| `WECHAT_WEBHOOK` | 机器人 Webhook | 开平仓/风控等推送 |
|
||
| `WECHAT_TIMEOUT_SECONDS` | 推送超时(秒) | 默认 10 |
|
||
|
||
### 5.3 中控对接
|
||
|
||
| 变量 | 中文 | 说明 |
|
||
|------|------|------|
|
||
| `HUB_BRIDGE_TOKEN` | 中控 Bridge Token | **首次打开 env 页会自动生成**;复制到中控「添加实例」 |
|
||
| `HUB_EMBED_FRAME_ANCESTORS` | 允许嵌入的中控 Origin | 一般留空;中控 iframe 打不开时再填中控地址(空格分隔),调试可用 `*` |
|
||
|
||
详见 [第 10 章](#10-中控使用详细)。
|
||
|
||
### 5.4 期权账户(币本位核心)
|
||
|
||
保证金模式固定为 **币本位(coin)**,无需再配 USDC 期权预算。
|
||
|
||
| 变量 | 中文 | 默认(生效) | 说明 |
|
||
|------|------|--------------|------|
|
||
| `OKX_OPTIONS_ENABLED` | 启用期权模块 | true | 与上方 API 同源 |
|
||
| `OKX_OPTIONS_ACCOUNT_LABEL` | 期权账户备注 | — | 推送区分 |
|
||
| `OKX_OPTIONS_BUDGET_BUFFER` | 预算缓冲比例 | **1** | 复利/固定预算共用;预算×缓冲后再估张数 |
|
||
| `OKX_OPTIONS_COIN_COMPOUND` | 按交易户 USDT 复利 | **true** | true:预算≈交易户 USDT×缓冲;false:用固定预算 |
|
||
| `OKX_OPTIONS_COIN_BUDGET_USDT` | 固定预算(USDT) | 如 10 | **仅复利关闭时生效** |
|
||
| `OKX_OPTIONS_COIN_MAX_USDT_ENABLED` | 单笔上限开关 | false | false=靠人工划走控规模 |
|
||
| `OKX_OPTIONS_COIN_MAX_USDT` | 单笔上限(USDT) | 如 50 | 仅上限开关开启时生效 |
|
||
| `OKX_OPTIONS_COIN_SPOT_BUY_BUFFER` | 现货买入缓冲 | **1.05** | 按最大可开张数×卖一权利金×缓冲买币,不全额兑完 |
|
||
| `OKX_OPTIONS_MAX_ACTIVE_POSITIONS` | 期权持仓上限(笔) | **1** | **1=一次一仓**(对账规格前提);0=不限制 |
|
||
| `OKX_OPTIONS_DEFAULT_UNDERLY` | 默认标的 | ETH | ETH / BTC |
|
||
| `OKX_OPTIONS_CHAIN_MAX_DTE_DAYS` | 期权链展示天数 | 14 | 到期日下拉范围 |
|
||
| `OKX_OPTIONS_MAX_DTE_DAYS` | 开仓最大剩余天数 | 2 | 开仓拒绝更远到期(与链展示独立) |
|
||
| `OKX_OPTIONS_CHAIN_ASK_LIQ_FILTER_ENABLED` | 链上仅显示有卖一 | true | 隐藏无卖一或深度不足 1 张的行 |
|
||
|
||
#### 目标平仓门控(自动目标位平仓用;手动平仓不强制)
|
||
|
||
| 变量 | 中文 | 默认 | 说明 |
|
||
|------|------|------|------|
|
||
| `OKX_OPTIONS_CLOSE_GATE_MODE` | 门控模式 | premium | `premium`=可回收≥权利金×倍数;`net_pnl`=净盈亏折 U≥阈值 |
|
||
| `OKX_OPTIONS_CLOSE_RECYCLE_MULT_COIN` | 门控权利金倍数 | 1.05 | 仅 premium |
|
||
| `OKX_OPTIONS_CLOSE_NET_PNL_MIN_USDT` | 门控净盈亏下限(U) | 0 | 仅 net_pnl |
|
||
| `OKX_OPTIONS_CLOSE_HOLD_SECONDS` | 门控持续秒数 | **20** | 条件达标后需持续满足的秒数 |
|
||
|
||
### 5.5 登录与其它(常在 `.env`)
|
||
|
||
| 变量 | 说明 |
|
||
|------|------|
|
||
| `APP_USERNAME` / `APP_PASSWORD` | 站点登录 |
|
||
| `FLASK_SECRET_KEY` | Session 密钥,务必改掉默认值 |
|
||
| `SIM_DEFAULT_MODE` | `sim` / `live` 启动默认 |
|
||
| `OKX_TRADE_MODE` | 当前为 `options`(单独期权) |
|
||
|
||
保存后:按页面提示 **保存并重启**(或 PM2 重启),再硬刷新浏览器。
|
||
|
||
### 5.6 预算怎么理解(举例)
|
||
|
||
假设交易户 **100 USDT**,复利开、缓冲 1、现货缓冲 1.05、默认「按可用余额打满」:
|
||
|
||
1. 可用预算 ≈ 100 × 1 = 100 USDT(若开了单笔上限则再封顶)。
|
||
2. 按卖一权利金估算最多可开张数。
|
||
3. 买币金额 ≈ 张数对应权利金 × **1.05**(多买一点防滑点,不是把 100U 全换成币)。
|
||
4. 用买到的币支付权利金开期权;多余币开仓后可能卖回一部分。
|
||
|
||
复利关闭时:把 `OKX_OPTIONS_COIN_BUDGET_USDT` 设成你想每笔用的固定 USDT。
|
||
|
||
---
|
||
|
||
## 6. 系统设置(详细)
|
||
|
||
入口:`/settings`。各页签如下。
|
||
|
||
### 6.1 导航显示
|
||
|
||
控制顶栏入口与设置内子块是否显示(存在本机偏好,即时生效)。常见项:
|
||
|
||
- 期权、期权复盘、数据统计、风控说明、实盘说明、env 配置
|
||
- 关键位监控、看板、流水等(按需开)
|
||
|
||
### 6.2 模拟资金
|
||
|
||
见 [第 4 章](#4-模拟资金-vs-实盘)。实盘前请先在此确认当前是模拟还是实盘。
|
||
|
||
### 6.3 账户密码
|
||
|
||
修改登录密码(若导航里打开了该页签)。
|
||
|
||
### 6.4 数据导出
|
||
|
||
导出关键位当前/历史等 CSV(与期权成交主账无关时也可作备份辅助)。
|
||
|
||
### 6.5 备份恢复
|
||
|
||
本机备份/恢复实例数据。中控也可拉备份列表与下载(含 `.env`,注意保密)。
|
||
|
||
### 6.6 期权划转
|
||
|
||
币本位下在 **资金账户 ↔ 交易账户** 之间划转:
|
||
|
||
| 币种 | 常见用途 |
|
||
|------|----------|
|
||
| USDT | 给交易户加开仓子弹 / 把利润转回资金户 |
|
||
| ETH / BTC | 异常残留时人工处理(正常应走自动卖回) |
|
||
|
||
规则:
|
||
|
||
- **有期权持仓,或平仓后待卖回** → 划转按钮灰色,API 也会拒绝。
|
||
- 无持仓、无待卖回 → 可划转;划转后顶栏余额刷新。
|
||
- 划转只影响**下一笔**开仓前的 `trading_usdt_before`,**不会改写**已冻结历史盈亏。
|
||
|
||
USDC 兑换类入口已下线。
|
||
|
||
---
|
||
|
||
## 7. 期权页:开仓 / 平仓 / 持仓
|
||
|
||
路由:`/options`。
|
||
|
||
### 7.1 界面结构
|
||
|
||
- **左侧**:标的、到期、列表/T 型链、买入弹窗。
|
||
- **右侧持仓区页签**:当前持仓 | 当前委托 | 数据统计 | 期权历史。
|
||
- 若中控有活跃条件单:顶部会出现占用提示,**禁止手动开仓**。
|
||
- 交易户有可卖残留币时:出现 **重试卖回**。
|
||
|
||
### 7.2 开仓步骤
|
||
|
||
1. 选标的 **ETH / BTC**、到期日(受「链展示天数」「开仓最大剩余天数」约束)。
|
||
2. 列表或 T 型查看;可筛看涨/看跌、实值/虚值;「链上仅显示有卖一」开启时无深度行会隐藏。
|
||
3. 点某行 **买入** → 下单弹窗:
|
||
- 卖一/买一、估张数、估权利金、盈亏平衡等
|
||
- **尺寸模式**(默认 **按可用余额打满**)
|
||
- 可选:**目标位(指数)**、**翻倍出场**(倍数,默认 1)
|
||
- 备注
|
||
4. 确认 **买币并开仓** → 系统:快照交易户 USDT → 现货买币 → IOC 限价买期权 @ 卖一。
|
||
5. 成功后可到「当前委托 / 当前持仓」查看;失败买币会尝试回滚。
|
||
|
||
#### 尺寸模式
|
||
|
||
| 模式 | 含义 | 建议 |
|
||
|------|------|------|
|
||
| **按可用余额打满** | 按预算(复利或固定)×缓冲算张数 | **默认,日常用这个** |
|
||
| 指定张数 | 手动填张数 | 试单、精确张数时用 |
|
||
| 指定币数量 | 按币量反推张数 | 进阶;优先熟悉打满/张数即可 |
|
||
| 全仓复利(UI) | 与「按交易户复利」env 相关的展示分支 | 以 env `OKX_OPTIONS_COIN_COMPOUND` 为准 |
|
||
|
||
### 7.3 开仓会被拒绝的常见原因
|
||
|
||
- 交易户仍有**可卖** ETH/BTC(先点重试卖回或扫尾)
|
||
- 已有持仓且持仓上限=1
|
||
- 中控条件单占用中
|
||
- 无卖一深度 / 深度不足
|
||
- 到期超过 `OKX_OPTIONS_MAX_DTE_DAYS`
|
||
- 实盘未开 `LIVE_TRADING_ENABLED` 或 API/账户模式不对
|
||
- 交易户 USDT 不足买币
|
||
|
||
### 7.4 持仓上可做的事
|
||
|
||
| 操作 | 说明 |
|
||
|------|------|
|
||
| **买一平仓** | 手动限价全平/按深度可平部分;**不强制**走目标门控 |
|
||
| **目标位** | 设定/取消指数目标;触达后须过门控(倍数+持续秒数)才自动平 |
|
||
| **翻倍出场** | 买一可回收 ≥ 开仓权利金 × (1+倍数) 时自动买一平;可与目标位并行 |
|
||
| **重试卖回** | 期权已平但币没卖完时,把残留 ETH/BTC 卖回 USDT,才能冻结本单盈亏 |
|
||
|
||
说明:
|
||
|
||
- 无单独「止损价」;不设出场则可能拿到期。
|
||
- 门控本身不会在未设目标时平仓;它是**目标位自动平**的附加条件。
|
||
- 手动平仓可在流动性允许时直接平。
|
||
|
||
### 7.5 平仓后发生什么
|
||
|
||
```text
|
||
卖出期权(买一限价)
|
||
→ 触发卖回残留标的币
|
||
→ 卖回成功:拍交易户 USDT after
|
||
→ 本单已实现 U = after − before,冻结
|
||
→ 复盘/统计读冻结值
|
||
```
|
||
|
||
卖回失败时本单处于 **待结算**:已实现不进统计;请用 **重试卖回**,或等监控扫尾。
|
||
|
||
---
|
||
|
||
## 8. 盈亏、对账与划转规则
|
||
|
||
完整规格见 [docs/规格-期权交易账户盈亏结算.md](./docs/规格-期权交易账户盈亏结算.md)。操作员只需记住:
|
||
|
||
### 8.1 一句话
|
||
|
||
**一笔单的已实现盈亏 = 卖回完成后的交易户 USDT − 开仓前(买币前)的交易户 USDT。冻结后永不改。**
|
||
|
||
### 8.2 生命周期
|
||
|
||
```text
|
||
空仓且无残留币
|
||
→ 开仓前拒「有可卖币」;快照 before
|
||
→ 买币 → 开期权(持仓中禁划转)
|
||
→ 平期权 → 卖回币
|
||
→ 快照 after,冻结盈亏
|
||
→ 允许划转;准备下一笔
|
||
```
|
||
|
||
### 8.3 面板数字怎么读
|
||
|
||
| 数字 | 跟不跟盘 | 说明 |
|
||
|------|----------|------|
|
||
| 持仓浮盈 | 跟盘 | 按买一回收估算 |
|
||
| 合计盈亏 | 部分跟盘 | Σ已冻结 + 当前浮盈 |
|
||
| 复盘/统计已实现 | 冻结后固定 | 只认 settled |
|
||
| 顶栏钱包 | 跟划转 | 与单笔盈亏账分离 |
|
||
|
||
**一次一仓**(持仓上限默认 1)是钱包差分能和单笔盈亏对齐的前提。不要在持仓中从外部乱划资金。
|
||
|
||
---
|
||
|
||
## 9. 期权复盘与数据统计
|
||
|
||
### 9.1 复盘 `/options/review`
|
||
|
||
1. **同步**:把本地已平 `options_trades` 同步进复盘表。
|
||
2. **交易记录**:筛选、点开一笔。
|
||
3. **复盘表单**:写笔记、上传多周期图等并保存。
|
||
4. **复盘记录 / 统计**:看已复盘条目与汇总。
|
||
|
||
盈亏列:
|
||
|
||
- 已冻结 → 显示冻结 USDT;
|
||
- 有 before 但未卖回结算 → 显示待结算,不会用假数字充数;
|
||
- 很老的无快照历史单 → 遗留口径,不强制改写。
|
||
|
||
### 9.2 面板「数据统计」与顶栏窗口
|
||
|
||
- 窗口常见:今日 / 7 日 / 30 日 / 全部。
|
||
- **已实现**只统计已冻结单;待卖回不进已实现。
|
||
- **合计**通常 = 净已实现 + 持仓浮盈。
|
||
|
||
中控统计窗口参数与此同源(见下章)。
|
||
|
||
---
|
||
|
||
## 10. 中控使用(详细)
|
||
|
||
中控仓库一般为独立项目 **`crypto_okx_hub`**。本实例扮演 **客户端(Bridge)**。
|
||
|
||
### 10.1 接入步骤
|
||
|
||
1. 部署并启动本实例,浏览器登录。
|
||
2. 打开 **env 配置 → 中控对接**。
|
||
3. 若 `HUB_BRIDGE_TOKEN` 为空,首次打开会 **自动生成** 并写入 `.env`。
|
||
4. 点复制,到中控 **添加实例**:填写
|
||
- 实例访问地址(如 `http://IP:5004`)
|
||
- Bridge Token(与上面一致)
|
||
5. 中控探测 `GET /api/hub/version`:应显示在线与版本。
|
||
6. 若中控用 iframe 嵌入本机页面打不开:再填 `HUB_EMBED_FRAME_ANCESTORS` 为中控 Origin。
|
||
7. 嵌入登录走 `/hub_sso`(中控签发短时 token)。
|
||
|
||
Token 校验:请求头 `X-Hub-Token` 或 `Authorization: Bearer <token>` 必须与实例一致;否则一律「未授权」。
|
||
|
||
### 10.2 中控上能做什么
|
||
|
||
| 能力 | 说明 |
|
||
|------|------|
|
||
| **快照** | 资金、权利金占用、持仓摘要、流动性/残档、条件单占用、行情 |
|
||
| **统计** | 窗口已实现 + 浮盈等 KPI(`today` / `7d` / `30d` / `all`) |
|
||
| **远程全平** | 指定 `inst_id`,**仅买一限价全平**(不支持市价、不支持指定张数) |
|
||
| **条件单** | 创建 / 列表 / 取消(未开仓前)/ 开仓后改出场 |
|
||
| **远程更新** | `git pull` + 进程重启(依赖 `/api/hub/update`) |
|
||
| **备份下载** | 列表与下载(含敏感 `.env`,权限要收紧) |
|
||
|
||
### 10.3 条件单(中控主打自动化)
|
||
|
||
#### 创建时常见字段
|
||
|
||
| 字段 | 含义 | 规则 |
|
||
|------|------|------|
|
||
| `hub_order_id` | 中控侧唯一 ID | 必填;重复提交会去重成功 |
|
||
| `underlying` | 标的 | 如 ETH |
|
||
| `opt_type` | `P` / `C` | 必填 |
|
||
| `trigger_px` | 触发指数价 | > 0 |
|
||
| `deviation_pct` | 触发带百分比 | 带 = 触发价 × (1±pct/100) |
|
||
| `min_expiry_hours` | 选合约最短剩余小时 | > 0 |
|
||
| `target_index` 和/或 翻倍出场 | 出场 | **至少配置一种** |
|
||
| `profit_exit_mult` | 翻倍倍数 | 默认 1.0 |
|
||
|
||
方向约定(中控传入的 trigger_side 会被忽略):**Put 看上穿、Call 看下穿**。
|
||
|
||
#### 创建前守卫
|
||
|
||
- 本机已有期权持仓 → 拒
|
||
- 触及持仓笔数上限 → 拒
|
||
- 已有活跃条件单 → 拒
|
||
|
||
#### 生命周期(操作员可见)
|
||
|
||
```text
|
||
armed(待命)
|
||
→ triggering(触发开仓中)
|
||
→ open(已持仓,监控出场)
|
||
→ leave_up / leave_down / cancel / timeout / closed 等结束态
|
||
```
|
||
|
||
- 未触发的 armed 单会在策略时间点(如 **周四 23:00**,按应用时区)自动过期取消。
|
||
- 活跃期间:本机期权页显示 **中控条件单占用**,**禁止手动开仓**。
|
||
- 已 `open` 不能「取消单」了事:应改出场或远程/本地平仓。
|
||
- 开仓成功后走与手动相同的买币开仓链路,盈亏同样卖回后冻结。
|
||
|
||
#### 触发后选约
|
||
|
||
在触发带内选取满足最短到期时间的合适实值合约,再执行币本位开仓;随后挂目标位和/或翻倍出场,由监控线程盯盘。
|
||
|
||
### 10.4 中控远程平仓注意
|
||
|
||
- 只接受全平;不要指望中控传张数或市价。
|
||
- 买一无效或严重残档会被拒绝(与本机一致)。
|
||
- 平完后仍可能要在本机看是否出现 **重试卖回**(卖回失败时)。
|
||
|
||
### 10.5 中控远程更新
|
||
|
||
中控「客户端远程更新」依赖:
|
||
|
||
- `GET /api/hub/version`
|
||
- `POST /api/hub/update`
|
||
|
||
若版本列显示非 JSON / 404:先在该实例服务器手动 `git pull` 并重启一次,再在中控刷新。
|
||
|
||
### 10.6 中控日常操作建议
|
||
|
||
1. 本机 env 配好 Token、API、预算、持仓上限=1、门控。
|
||
2. 中控确认实例在线、快照资金与持仓正常。
|
||
3. 需要自动化时用条件单;需要手工精细选约时用本机面板(确认无条件单占用)。
|
||
4. 远程平仓后核对:持仓是否清空、卖回是否完成、统计是否出现冻结盈亏。
|
||
5. 多实例时每个实例 Token 独立,勿共用。
|
||
|
||
---
|
||
|
||
## 11. 推荐上手路径
|
||
|
||
### A. 全新实例(先模拟)
|
||
|
||
1. 按 [部署文档.md](./部署文档.md) 部署,打开站点并登录。
|
||
2. **系统设置 → 模拟资金**:确认 **模拟**。
|
||
3. **env 配置**:填 API(模拟不下真单,但拉链/行情通常仍要能访问 OKX;必要时配 SOCKS)。
|
||
4. 期权账户:复利、缓冲 1、现货缓冲 1.05、持仓上限 1、门控秒数 20 —— 与默认对齐即可。
|
||
5. 在 **期权** 页用「打满」或「1 张」走通:开仓 → 看持仓浮盈 → 手动买一平 → 确认卖回 → 看统计/复盘数字。
|
||
6. 需要中控时:复制 Bridge Token → 中控添加实例 → 试快照与条件单(仍建议先模拟)。
|
||
|
||
### B. 切实盘
|
||
|
||
1. 完成 [第 2 章](#2-系统前交易所准备) 交易所清单。
|
||
2. env:`LIVE_TRADING_ENABLED=true`,密钥正确;系统设置切 **实盘**。
|
||
3. 交易户转入计划使用的 USDT。
|
||
4. 小预算试一笔完整闭环(含卖回与复盘)。
|
||
5. 再按需放大固定预算或开启复利;保持一次一仓直到你清楚对账含义。
|
||
|
||
### C. 日常交易习惯
|
||
|
||
1. 开仓前看:无残留币、无条件单锁、交易户 USDT 够。
|
||
2. 默认打满;设好目标位和/或翻倍。
|
||
3. 平仓后确认卖回完成再划转资金。
|
||
4. 当日结束看面板统计 + 复盘是否与交易户变动大致可对上。
|
||
|
||
---
|
||
|
||
## 12. 常见问题与报错
|
||
|
||
| 现象 | 常见原因 | 处理 |
|
||
|------|----------|------|
|
||
| `50123` 无 Crypto 交易权限 | API 无现货/交易权限 | 编辑 Key,勾选交易+现货 |
|
||
| `51010` 当前账户模式不能完成请求 | 非合约模式等 | 改为 **合约模式** |
|
||
| Parameter tdMode error | 跨币种/组合下仍用 cash | 改回合约模式 |
|
||
| 开仓提示先卖回 / 有币拒开 | 交易户有可卖 ETH/BTC | 点 **重试卖回** |
|
||
| 划转按钮灰色 | 持仓中或待卖回 | 先平仓并卖回完成 |
|
||
| 下单弹窗总是「指定张数」 | 旧前端缓存或模式被归一错 | 硬刷新;拉新版本(默认应为打满) |
|
||
| 统计有单但已实现为 0/空 | 未卖回、未冻结 | 重试卖回,等 settled |
|
||
| 中控未授权 | Token 不一致或未配置 | 核对 `HUB_BRIDGE_TOKEN` |
|
||
| 中控版本非 JSON/404 | 旧代码无 hub 接口 | 本机 `git pull` 重启后再探测 |
|
||
| 条件单占用无法手动开 | 设计如此 | 取消未触发单,或等持仓结束 |
|
||
| 目标位到了却不平 | 未过门控持续秒数/倍数 | 看门控 env;或手动买一平 |
|
||
|
||
---
|
||
|
||
## 13. 风险说明
|
||
|
||
- 期权杠杆高,实盘盈亏自负。
|
||
- 勿把 `.env`、API 密钥、中控 Token、备份包发到公网或提交 Git。
|
||
- 中控备份下载可能含密钥,中控侧权限与传输需同等重视。
|
||
- 请遵守当地法规与 OKX 用户协议;本说明只描述产品用法,不构成投资建议。
|
||
|
||
---
|
||
|
||
## 附录:相关文档与默认速查
|
||
|
||
| 项 | 当前常用默认 |
|
||
|----|----------------|
|
||
| 持仓上限 | 1(一次一仓) |
|
||
| 预算缓冲 | 1 |
|
||
| 现货买入缓冲 | 1.05 |
|
||
| 门控持续秒数 | 20 |
|
||
| 门控模式 | premium × 1.05 |
|
||
| 下单尺寸默认 | 按可用余额打满 |
|
||
| 保证金 | 币本位 coin(固定) |
|
||
|
||
更深的模块与数据流:[docs/系统分析-期权主链条.md](./docs/系统分析-期权主链条.md)。
|