Files
crypto_okx/docs/实盘说明.md
T

85 lines
4.4 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.
# 交易所实盘说明(OKX)
本页说明如何把本实例从模拟盘切到真实交易:API 权限、OKX 账户模式、以及实例 `.env` 关键项。币本位期权开仓会先用 USDT 买 ETH/BTC,再开期权,因此 **现货交易权限** 与 **合约模式** 缺一不可。
## 一、创建 OKX API Key
1. 登录 OKX → **个人中心 → API** → 创建 API Key。
2. 权限务必勾选 **交易(Trade)**。币本位开仓会走现货买币,只开合约/期权权限不够。
3. 若有细分权限,请同时打开 **现货(Spot)**。
4. 建议开启 **IP 白名单**,填入本实例服务器出口 IP。
5. 保存后得到:`API Key` / `Secret Key` / `Passphrase`,填入本实例 env(见下文)。
常见报错:
| 现象 | 原因 | 处理 |
| --- | --- | --- |
| `50123` This API Key does not have trading permission for the Crypto | Key 无现货/交易权限 | 编辑 Key,勾选交易与现货后重试 |
| `未授权` / Bridge 探测失败 | 中控 Token 或客户端未部署接口 | 核对实例 Bridge Token;客户端需已部署 `/api/hub/version` |
## 二、OKX 账户模式
交易页 → **账户模式**(首次切换须在网页/App 手动确认)。
| 账户模式 | 是否推荐 | 说明 |
| --- | --- | --- |
| 仅现货 / 简单模式 | 否 | 无法正常开期权 |
| **合约模式(现货和合约)** | **推荐** | 现货用 `cash`,与当前程序一致 |
| 跨币种保证金 | 可用但不推荐 | 现货须 `cross`,程序目前按合约模式写 `cash`,会报 `tdMode` 错 |
| 组合保证金 | 可用但不推荐 | 同上,现货也须 `cross` |
推荐流程:先切到 **合约模式** → 再在本实例点「买币并开仓」。
相关报错:
| 现象 | 原因 | 处理 |
| --- | --- | --- |
| You can't complete this request under your current account mode (`51010`) | 账户模式不支持本次下单 | 改为合约模式 |
| Parameter tdMode error | 跨币种/组合下仍用 `cash` 下现货 | 改回合约模式,或等待程序支持按模式自动选 `tdMode` |
## 三、实例 env 配置
在顶栏 **env配置**(或改服务器 `.env` 后重启)中设置:
### 1. 实盘开关与密钥
- `LIVE_TRADING_ENABLED=true`:允许实盘下单。
- `OKX_API_KEY` / `OKX_API_SECRET` / `OKX_API_PASSPHRASE`:上一步创建的密钥(期权与永续共用,不必单独配期权 Key)。
- `SIM_DEFAULT_MODE=live`:运行模式切到实盘(顶栏显示 `okx_live`)。也可在运行时由系统把 `trading.mode` 写成 `live`。
切到实盘后:
- 顶栏「交易账户 / 总资金」只显示交易所真实余额;未充值时应为 `—` 或 `0`,不会再残留模拟盘数字。
- 模拟钱包余额不会带到实盘。
### 2. 期权相关(币本位)
- `OKX_OPTIONS_ENABLED=true`:启用期权模块。
- `OKX_OPTIONS_MARGIN_MODE=coin`:币本位(用 ETH/BTC 付权利金)。
- `OKX_OPTIONS_MAX_ACTIVE_POSITIONS`:期权持仓上限(笔);`0`=不限制;`1`=同时最多 1 个合约(同合约加仓不占新笔数)。
- `OKX_OPTIONS_SPOT_BUY_BUFFER`:现货买入相对权利金的缓冲倍数(如 `1.05`)。
- 目标平仓门控:`OKX_OPTIONS_CLOSE_GATE_MODE`、`OKX_OPTIONS_CLOSE_RECYCLE_MULT_COIN`、`OKX_OPTIONS_CLOSE_HOLD_SECONDS` 等(见 env 页「期权账户」分组)。
保存后按提示 **保存并重启**(或 PM2 重启),再刷新页面确认顶栏为 `okx_live`。
## 四、开仓前自检清单
1. OKX 账户模式 = **合约模式**。
2. API Key 有 **交易 + 现货**,IP 白名单正确。
3. `.env`:`LIVE_TRADING_ENABLED=true`,密钥已填,模式为 `live`。
4. 交易账户有足够 **USDT**(买币)以及开期权所需的标的币/保证金。
5. 期权持仓上限、全仓复利等规则符合预期。
## 五、翻倍离场与指数离场(实盘同样生效)
后台监控轮询实盘持仓,达标后按买一限价平仓:
- **翻倍离场**:买一可回收 ≥ 开仓权利金 × (1 + 倍数) 时平仓。
- **指数离场**:标的指数到位后触发,但仍须通过「目标平仓门控」(权利金倍数持续若干秒等)。
开仓时勾选/填写对应出场条件,并保证实例进程在跑。
## 六、中控远程更新注意
中控「系统更新 → 客户端远程更新」依赖实例的 `/api/hub/version` 与 `/api/hub/update`。若版本列报「非 JSON / 404」,请先在该实例服务器手动 `git pull` 并重启一次,再在中控刷新版本。