关于 okx-cex-trade
okx-cex-trade 是用于 OKX 现货、永续合约、交割合约、期权和事件合约交易的 CLI 技能,适合需要管理订单和仓位的用户。它支持订单修改、止盈止损、跟踪止损及期权 Greeks 查询,并要求 API 凭据。
主要功能
- 01下单、撤单和修改订单
- 02管理现货、永续、交割及期权订单
- 03设置止盈止损与跟踪止损
- 04查询期权链和 Greeks
- 05交易事件合约的 Yes/No 等结果
适用场景
- 01提交或调整 OKX 现货及衍生品订单
- 02为仓位设置止盈止损或跟踪止损
- 03查看期权链与 Greeks 后管理期权交易
- 04浏览并交易事件合约
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ okx/ agent-skills --skill okx-cex-trade安装后在 Claude Code 中输入/okx-cex-trade确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/event-commands.mdevent-workflows.mdfutures-commands.mdoptions-commands.mdspot-commands.mdswap-commands.mdtemplates.mdworkflows.md详细介绍
OKX CEX 交易 CLI
在 OKX 交易所管理现货、永续合约、交割合约、期权和事件合约订单。下单、撤单、改单和监控订单;查询期权链和 Greeks;交易二元结果事件合约(Yes/No、Up/Down);设置止盈/止损和追踪止损;管理杠杆和持仓。需要 API 凭证。
CLI 与 MCP 工具名称 — 子命令使用空格(
okx swap algo place、okx bot grid create),而不是连字符。请勿将 MCP 工具标识符(swap_place_algo_order)转换为用连字符连接的 CLI 命令(okx swap place-algo)——这会导致命令被拒绝,并返回“Unknown command”。各模块的映射表位于references/<module>-commands.md。
运行前检查
运行任何命令前,请遵循 ../_shared/preflight.md。
将此文件 frontmatter 中的 metadata.version 用作步骤 2 的参考版本。
前置条件
- 安装
okxCLI:npm install -g @okx_ai/okx-trade-cli - 配置凭证:
okx config init # select site -> follow browser OAuth flow - 使用模拟模式测试(模拟交易,不涉及真实资金):
okx --demo spot orders
安全性:绝不要在聊天中接收凭证。引导用户使用
okx config init进行设置。
凭证与配置档检查
在运行任何经过身份验证的命令前,先执行此检查。 身份验证方法会在运行前检查步骤 2 中检测并记住,以供本次会话使用。
步骤 A — 验证凭证
运行两条命令——okx auth status --json 中的 apiKey 字段是 auth-binary 的内部状态,无论 ~/.okx/config.toml 中是否有 API 密钥配置档,它始终为 false。okx config show --json 是确认是否存在 API 密钥的唯一权威来源。
okx config show --json # reveals API-key profiles (TOML config)
okx auth status --json # reveals OAuth session state (auth-binary state)
按以下顺序判断——匹配第一条后即停止:
config show --json中有任意配置档的api_key字段非空 → API Key 模式。继续执行步骤 B。- 没有 API 密钥配置档且
auth status --json返回"status":"logged_in"→ OAuth 模式。继续执行步骤 B。 - 没有 API 密钥配置档且
"status":"pending"— 登录正在进行,请等待其完成。 - 没有 API 密钥配置档且
"status":"not_logged_in"— 停止所有操作,加载okx-cex-auth技能并按照登录步骤操作,等待登录完成。
步骤 B — 确认交易模式
选择规则:
- 当前消息中的意图明确(例如,“real”/“实盘”/“live”→ live;“test”/“模拟”/“demo”→ demo)→ 使用该模式并告知用户
- 当前消息没有明确说明 → 查看对话上下文中是否有之前的选择:
- 找到 → 沿用该选择并告知用户
- 未找到 → 询问:
"Live (实盘) or Demo (模拟盘)?"— 等待用户回答后再继续
如何应用模式取决于身份验证方法(在步骤 A 中检测):
| 身份验证方法 | Live(实盘) | Demo(模拟盘) |
|---|---|---|
| API Key | --profile <live-profile> | --profile <demo-profile> |
| OAuth | (无需标志,默认是 live) | --demo |
- API Key 用户:运行
okx config show --json,查看可用的配置档名称及其demo设置。使用--profile <name>选择正确的配置档。 - OAuth 用户:实盘交易时省略标志;模拟交易时添加
--demo。请勿使用--profile切换模式。
处理身份验证错误
身份验证错误(错误内容包含“401”、“Session expired”或“Run okx auth login first”):
- 立即停止 — 不要重试同一命令
- 告知用户:“身份验证失败。您的会话可能已过期。”
- 加载
okx-cex-auth技能并按照重新进行身份验证的步骤操作 - 重新进行身份验证并成功后,重试原始命令
模拟盘与实盘模式
| 模式 | 资金 | API Key 参数 | OAuth 参数 |
|---|---|---|---|
| 实盘 (live) | 真实资金 — 不可撤销 | --profile <live-profile> | (默认,无标志) |
| 模拟盘 (demo) | 模拟资金 — 不涉及真实资金 | --profile <demo-profile> | --demo |
规则:
- 每条经过身份验证的命令都必须指定交易模式 — 在“凭证与配置文件检查”的步骤 B 中确定
- 每条命令的响应后都必须附加:
[mode: live]或[mode: demo]
技能路由
- 对于市场数据(价格、图表、深度、资金费率)→ 使用
okx-cex-market - 对于账户余额、盈亏、持仓、费用、转账 → 使用
okx-cex-portfolio - 对于常规现货/永续合约/期货/期权/算法订单 → 使用
okx-cex-trade(此技能) - 对于事件合约的浏览/发现(可用合约、合约数量、活跃合约列表)→ 使用
okx-cex-trade和okx event browse/okx event series - 对于事件合约的交易(下单/取消/修改预测市场订单)→ 使用
okx-cex-trade和okx event place/okx event cancel/okx event amend - 对于网格和 DCA 交易机器人 → 使用
okx-cex-bot
重要:当用户在事件合约或预测市场的语境下询问“合约”时,应路由到此技能 — 不要路由到
okx-cex-portfolio。Portfolio 不处理事件合约 — 它仅涵盖账户余额、持仓、盈亏和转账。
衍生品的 Sz 处理
⚠ 关键:下单前务必核实合约面值
下达任何 SWAP/FUTURES/OPTION 订单前,调用 market_get_instruments 获取 ctVal(合约面值)。不要假设合约大小 — 它们因交易品种而异(例如,ETH-USDT-SWAP = 0.1 ETH/张,BTC-USDT-SWAP = 0.01 BTC/张)。
使用 ctVal 来:
- 根据用户预期的持仓规模计算正确的合约张数
- 提交订单前核实保证金要求
- 向用户显示实际持仓价值:
sz × ctVal × price
SWAP 和 FUTURES 订单
USDT 计价的三种 tgtCcy 模式:
--tgtCcy | sz 含义 | 换算公式 | 示例:“500U”,10 倍杠杆 |
|---|---|---|---|
base_ccy(默认) | 合约张数 | 不换算 | 500 张 |
quote_ccy | USDT 名义价值 | floor(sz / (ctVal * lastPx)) | 500 USDT 名义价值 |
margin | USDT 保证金成本 | floor(sz * lever / (ctVal * lastPx)) | 500 USDT 保证金 = 5000 USDT 名义价值 |
当用户指定 USDT 金额时(例如“200U”“500 USDT”“$1000”): → 含义不明确 — 这可能指名义价值,也可能指保证金成本。 你必须先让用户澄清,才能继续:
- 名义价值:sz = 以 USDT 计的持仓价值(例如,500 USDT 可直接买入价值 500 USDT 的合约)
- 保证金成本:实际持仓 = sz × 杠杆(例如,10× 杠杆下,500 USDT 保证金对应 5000 USDT 名义持仓) 等待用户回答后再继续。
- 如果是名义价值 → 使用
--tgtCcy quote_ccy - 如果是保证金成本 → 使用
--tgtCcy margin
当用户指定合约张数时(例如“2 张”“5 contracts”):
→ 首先通过 market_get_instruments 核实 ctVal,然后使用 --sz 并填写合约张数。向用户确认:“X 张合约 = X × ctVal 标的资产,总价值约为 $Y”。
当用户只给出一个没有单位的数字时(针对 swap/futures): → 含义不明确 — 你必须先让用户澄清,才能继续:
- 合约张数:X 张合约(每张价值为 ctVal 标的资产)
- USDT 名义价值:以 USDT 计的持仓价值
- USDT 保证金成本:保证金金额(实际持仓 = X × 杠杆) 等待用户回答后再继续。
⚠ 反向合约(*-USD-SWAP、*-USD-YYMMDD):tgtCcy=quote_ccy 和 tgtCcy=margin 也适用(注意:对于反向合约,quote_ccy = USD,而非 USDT)。务必警告:“这是反向合约。保证金和盈亏以 BTC 结算,而非 USDT。”
期权订单
当用户为期权指定 USDT 金额时,使用 --tgtCcy quote_ccy(名义金额)或 --tgtCcy margin(保证金成本),并将金额作为 --sz 传入。系统会自动换算为合约数量。注意:期权合约的面值通常较大(例如 ctVal=1 BTC ≈ $84,000),因此 1 张合约所需的最低 USDT 金额较高。对于期权卖方(cross/isolated tdMode),margin 模式会自动计入杠杆。
快速入门
# Market buy 0.01 BTC (spot)
okx spot place --instId BTC-USDT --side buy --ordType market --sz 0.01
# Buy $10 worth of SOL (spot, USDT amount)
okx spot place --instId SOL-USDT --side buy --ordType market --sz 10 --tgtCcy quote_ccy
# Limit sell 0.01 BTC at $100,000 (spot)
okx spot place --instId BTC-USDT --side sell --ordType limit --sz 0.01 --px 100000
# Long 1 contract BTC perp (cross margin)
okx swap place --instId BTC-USDT-SWAP --side buy --ordType market --sz 1 \
--tdMode cross --posSide long
# Long 1000 USDT notional value of BTC perp (auto-convert to contracts)
okx swap place --instId BTC-USDT-SWAP --side buy --ordType market --sz 1000 \
--tgtCcy quote_ccy --tdMode cross --posSide long
# Long with 500 USDT margin at current leverage (e.g. 10x → 5000 USDT notional)
okx swap place --instId BTC-USDT-SWAP --side buy --ordType market --sz 500 \
--tgtCcy margin --tdMode cross --posSide long
# Long 1 contract with attached TP/SL (one step)
okx swap place --instId BTC-USDT-SWAP --side buy --ordType market --sz 1 \
--tdMode cross --posSide long \
--tpTriggerPx 105000 --tpOrdPx=-1 --slTriggerPx 88000 --slOrdPx=-1
# Close BTC perp long position entirely at market
okx swap close --instId BTC-USDT-SWAP --mgnMode cross --posSide long
# Set 10x leverage on BTC perp (cross)
okx swap leverage --instId BTC-USDT-SWAP --lever 10 --mgnMode cross
# Set TP/SL on a spot BTC position
okx spot algo place --instId BTC-USDT --side sell --ordType oco --sz 0.01 \
--tpTriggerPx 105000 --tpOrdPx=-1 \
--slTriggerPx 88000 --slOrdPx=-1
# Place trailing stop on BTC perp long (callback 2%)
okx swap algo trail --instId BTC-USDT-SWAP --side sell --sz 1 \
--tdMode cross --posSide long --callbackRatio 0.02
# View open spot orders
okx spot orders
# View open swap positions
okx swap positions
# Cancel a spot order
okx spot cancel --instId BTC-USDT --ordId <ordId>
# --- Event Contract ---
# List event series
okx event series
# Browse live markets in a series
okx event markets BTC-ABOVE-DAILY --state live
# Place event contract order
okx event place --instId BTC-ABOVE-DAILY-260224-1600-70000 --side buy --outcome YES --sz 10
命令索引
现货订单(12 个命令)
| # | 命令 | 类型 | 说明 |
|---|---|---|---|
| 1 | okx spot place | 写入 | 下现货订单(市价/限价/post_only/fok/ioc) |
| 2 | okx spot cancel | 写入 | 取消现货订单 |
| 3 | okx spot amend | 写入 | 修改现货订单价格或数量 |
| 4 | okx spot algo place | 写入 | 下现货 TP/SL 算法订单 |
| 5 | okx spot algo amend | 写入 | 修改现货 TP/SL 价位 |
| 6 | okx spot algo cancel | 写入 | 取消现货算法订单 |
| 7 | okx spot algo trail | 写入 | 下现货追踪止损订单 |
| 8 | okx spot orders | 读取 | 列出现货未完成或历史订单 |
| 9 | okx spot get | 读取 | 查询单个现货订单详情 |
| 10 | okx spot fills | 读取 | 现货成交记录 |
| 11 | okx spot algo orders | 读取 | 列出现货 TP/SL 算法订单 |
| 12 | okx spot leverage | 写入 | 设置现货 保证金(借贷)杠杆。可按交易对(--instId)设置,或按币种设置全仓杠杆(--ccy;适用于启用了借贷的账户、多币种账户或组合保证金账户,且为必填) |
完整的命令语法、参数表和边缘情况,请参阅 {baseDir}/references/spot-commands.md。
交割合约 / 永续合约订单(15 个命令)
| # | 命令 | 类型 | 说明 |
|---|---|---|---|
| 13 | okx swap place | 写入 | 下永续合约订单 |
| 14 | okx swap cancel | 写入 | 取消合约订单 |
| 15 | okx swap amend | 写入 | 修改合约订单价格或数量 |
| 16 | okx swap close | 写入 | 按市价平掉整个仓位 |
| 17 | okx swap leverage | 写入 | 设置某个交易品种的杠杆 |
| 18 | okx swap algo place | 写入 | 下合约 TP/SL 算法订单 |
| 19 | okx swap algo trail | 写入 | 下合约追踪止损订单 |
| 20 | okx swap algo amend | 写入 | 修改合约算法订单 |
| 21 | okx swap algo cancel | 写入 | 取消合约算法订单 |
| 22 | okx swap positions | 读取 | 查询未平仓的永续合约仓位 |
| 23 | okx swap orders | 读取 | 列出未完成或历史合约订单 |
| 24 | okx swap get | 读取 | 查询单个合约订单详情 |
| 25 | okx swap fills | 读取 | 合约成交记录 |
| 26 | okx swap get-leverage | 读取 | 查询当前杠杆设置 |
| 27 | okx swap algo orders | 读取 | 列出合约算法订单 |
完整的命令语法、参数表和边缘情况,请参阅 {baseDir}/references/swap-commands.md。
交割期货(15 条命令)
| # | 命令 | 类型 | 说明 |
|---|---|---|---|
| 28 | okx futures place | WRITE | 下达交割期货订单 |
| 29 | okx futures cancel | WRITE | 取消交割期货订单 |
| 30 | okx futures amend | WRITE | 修改交割期货订单的价格或数量 |
| 31 | okx futures close | WRITE | 以市价平掉全部期货仓位 |
| 32 | okx futures leverage | WRITE | 设置期货品种的杠杆倍数 |
| 33 | okx futures algo place | WRITE | 下达期货止盈/止损算法订单 |
| 34 | okx futures algo trail | WRITE | 下达期货追踪止损订单 |
| 35 | okx futures algo amend | WRITE | 修改期货算法订单 |
| 36 | okx futures algo cancel | WRITE | 取消期货算法订单 |
| 37 | okx futures orders | READ | 列出交割期货订单 |
| 38 | okx futures positions | READ | 查看未平仓的交割期货仓位 |
| 39 | okx futures fills | READ | 交割期货成交历史 |
| 40 | okx futures get | READ | 单笔交割期货订单详情 |
| 41 | okx futures get-leverage | READ | 当前期货杠杆设置 |
| 42 | okx futures algo orders | READ | 列出期货算法订单 |
完整的命令语法、参数表和边界情况,请阅读 {baseDir}/references/futures-commands.md。
期权订单(10 条命令)
| # | 命令 | 类型 | 说明 |
|---|---|---|---|
| 43 | okx option instruments | READ | 期权链:列出某个标的的可用合约 |
| 44 | okx option greeks | READ | 按标的查询隐含波动率和希腊值(delta/gamma/theta/vega) |
| 45 | okx option place | WRITE | 下达期权订单(看涨或看跌,买方或卖方) |
| 46 | okx option cancel | WRITE | 取消未成交的期权订单 |
| 47 | okx option amend | WRITE | 修改期权订单的价格或数量 |
| 48 | okx option batch-cancel | WRITE | 批量取消最多 20 笔期权订单 |
| 49 | okx option orders | READ | 列出期权订单(当前/历史/归档) |
| 50 | okx option get | READ | 单笔期权订单详情 |
| 51 | okx option positions | READ | 查看包含实时希腊值的未平仓期权仓位 |
| 52 | okx option fills | READ | 期权交易成交历史 |
完整的命令语法、USDT 到合约的换算公式、tdMode 规则和边界情况,请阅读 {baseDir}/references/options-commands.md。
事件合约订单(9 条命令)
| # | 命令 | 类型 | 说明 |
|---|---|---|---|
| 53 | okx event browse | READ | 按类型浏览活跃事件合约(一次调用即可查看系列及实时市场) |
| 54 | okx event series | READ | 列出事件系列(例如 BTC-ABOVE-DAILY、BTC-UPDOWN-15MIN) |
| 55 | okx event events <seriesId> | READ | 列出某个系列中的事件 |
| 56 | okx event markets <seriesId> | READ | 列出市场;已到期的市场包含结果和结算值 |
| 57 | okx event place ... | WRITE | 下达事件订单(必须指定结果) |
| 58 | okx event amend <instId> <ordId> | WRITE | 修改事件订单(价格/数量) |
| 59 | okx event cancel <instId> <ordId> | WRITE | 取消事件订单 |
| 60 | okx event orders | READ | 待处理或历史订单 |
| 61 | okx event fills | READ | 成交历史 |
完整的命令语法、参数表和边界情况,请阅读 {baseDir}/references/event-commands.md。
操作流程
步骤 0 — 凭证与配置档案检查
执行任何需要身份验证的命令前:请参阅凭证与配置档案检查。执行前确定身份验证方式和交易模式。
每条命令执行后:追加 [mode: live] 或 [mode: demo]。
步骤 1 — 确定品种类型和操作
现货(instId 格式:BTC-USDT):
- 下达/取消/修改订单 →
okx spot place/cancel/amend - 条件止盈/止损 →
okx spot algo place/amend/cancel - 追踪止损 →
okx spot algo trail - 查询 →
okx spot orders/get/fills/algo orders掉期/永续(instId 格式:BTC-USDT-SWAP): - 下单/撤单/改单 →
okx swap place/cancel/amend - 平仓 →
okx swap close - 杠杆 →
okx swap leverage/okx swap get-leverage - 止盈/止损条件单 →
okx swap algo place/amend/cancel - 移动止损 →
okx swap algo trail - 查询 →
okx swap positions/orders/get/fills/get-leverage/algo orders
期货/交割(instId 格式:BTC-USDT-<YYMMDD>):
- 下单/撤单/改单 →
okx futures place/cancel/amend - 平仓 →
okx futures close - 杠杆 →
okx futures leverage/okx futures get-leverage - 止盈/止损条件单 →
okx futures algo place/amend/cancel - 移动止损 →
okx futures algo trail - 查询 →
okx futures orders/positions/fills/get/get-leverage/algo orders
期权(instId 格式:BTC-USD-250328-95000-C 或 ...-P):
- 步骤 1(必需):查找有效的 instId →
okx option instruments --uly BTC-USD - 步骤 2(建议):查看 IV 和希腊值 →
okx option greeks --uly BTC-USD - 下单/撤单/改单 →
okx option place/cancel/amend - 批量撤单 →
okx option batch-cancel --orders '[...]' - 查询 →
okx option orders/get/positions/fills - tdMode:买方使用
cash;卖方使用cross或isolated
事件合约:
合约 ID(instId,API 字段)格式:对于“价格高于目标价”/“触及一次”合约,格式为 {UNDERLYING}-{TYPE}-{YYMMDD}-{HHMM}-{STRIKE}(例如 BTC-ABOVE-DAILY-260224-1600-70000);对于“价格方向(上涨/下跌)”合约,格式为 {UNDERLYING}-{TYPE}-{YYMMDD}-{START}-{END}(例如 BTC-UPDOWN-15MIN-260224-1600-1615)。始终通过 okx event markets <seriesId> 获取合约 ID,切勿猜测或使用占位符。
系列 ID(seriesId,API 字段):可读名称(例如 BTC-ABOVE-DAILY、BTC-UPDOWN-15MIN)或内部随机字符串(例如 FMQRZ)。两者都可用于后续命令。通过 okx event series 获取。
事件合约交易流程:
- 发现 →
okx event browse(优先使用,一次调用即可返回系列和实时市场)或okx event series— 按类型分组展示结果;突出显示具名系列;始终显示系列 ID - 浏览实时市场 →
okx event markets <seriesId> --state live— 获取每个可交易合约的合约 ID;如果显示实时 Price,该价格是事件合约价格(0.01–0.99),不是标的资产价格;在活跃交易时反映市场隐含概率 - 查看事件详情 →
okx event events <seriesId> - 确认并下单 →
okx event place <instId> <side> <outcome> <sz>— 仅在用户明确确认后执行 - 跟踪 →
okx event orders --status open/okx account positions --instType EVENTS - 退出或结算 → 通过
okx event place <instId> sell <outcome> <sz>卖出,或等待--state expired
边缘情况:
- 已结算结果:
okx event markets <seriesId> --state expired— 没有单独的 ended 工具
事件合约 sz 规则:
- 市价单(
ordType=market):--sz是计价币金额。 - 限价单(
ordType=limit/post_only):--sz是合约数量(整数)。每份合约结算时价值 1 个单位的计价币;每份合约的成本 =px(事件合约价格,0.01–0.99)。例如,10 份合约的px=0.5,成本为 5。 - px 的含义:
px是事件合约价格(0.01–0.99),不是标的资产价格。在活跃交易时,它反映市场隐含概率。例如:px=0.6表示市场对该事件的定价约为 60%。 - 结果显示:过期/结果视图会显示翻译后的值。对于
price_up_down,将YES/NO视为UP/DOWN。
有关事件合约工作流和分步示例,请阅读 {baseDir}/references/event-workflows.md。
有关跨技能工作流和分步示例,请阅读 {baseDir}/references/workflows.md。
步骤 2 — 确认账户配置,然后确认写入参数
读取命令(订单、持仓、成交、get、get-leverage、算法订单):立即运行。
--history标志:默认为活跃/未结;仅在用户明确要求查看历史记录时使用--history- 算法订单的
--ordType:conditional= 单个止盈或止损;oco= 同时设置止盈和止损 - 互换/期货的
--tdMode:cross或isolated;现货始终使用cash(自动设置) - 对冲模式的
--posSide:long或short;净持仓模式下省略
写入命令(place、cancel、amend、close、leverage、algo):执行前确认一次关键订单详情:
- 现货下单:确认
--instId、--side、--ordType、--sz(若金额以计价货币表示,还需确认--tgtCcy quote_ccy) - 互换/期货下单:确认
--instId、--side、--sz、--tdMode;用户指定 USDT 金额时,还需明确确认订单模式:--tgtCcy quote_ccy(名义价值,sz = 持仓价值)或--tgtCcy margin(保证金成本,实际持仓 = sz * 杠杆)。始终说明将使用哪种模式。 - 期权下单:确认
--instId、--side、--sz、--tdMode(若金额为 USDT,还需确认--tgtCcy quote_ccy或--tgtCcy margin— 系统会自动换算);不要附加 TP/SL - 事件合约下单:确认
--instId、--side、--outcome、--sz、--ordType;市价单的 sz 是计价货币金额,限价单的 sz 是合约数量,且必须提供--px - 互换/期货平仓:确认
--instId、--mgnMode、--posSide - 杠杆:确认新的杠杆倍数及其对现有持仓的影响。避免常见 400 错误的预检查:(a)
--lever必须是正数,且不得超过该交易品种的最大值(参见okx market instruments→lever);(b) 对冲持仓模式下使用--mgnMode isolated时,必须指定--posSide— 每个方向(long、short)都必须单独设置;设置一侧不会自动应用到另一侧;(c) 组合保证金账户无法调整 SWAP/FUTURES 的cross杠杆 — OKX 会拒绝该请求;如不确定,先运行okx account config并检查acctLv。如果设置杠杆失败(错误提到“cancel orders or stop bots”):按优先级排查 — (1) 首先查询待处理的算法订单(swap/futures algo-orders --status pending),这是最常见的阻碍;(2) 仅在没有算法订单时,检查活跃的机器人(bot grid-orders)。不要自动取消订单或停止机器人 — 呈现查询结果,并让用户决定 - 算法下单(TP/SL):确认触发价格;市价执行时使用
--tpOrdPx=-1 - 算法追踪:确认
--callbackRatio(例如,0.02= 2%)或--callbackSpread
各命令的完整参数详情,请阅读相应的参考文件。
错误提示的补救措施防护
当 OKX API 错误消息建议执行涉及写操作的修复(取消订单、平仓、停止机器人/策略、转移资金等)时,绝不能自动执行这些操作。相反,请:
- 向用户原样报告错误及其建议
- 进行诊断——运行只读查询,找出阻碍原因(例如,
algo-orders --status pending、positions、bot grid-orders --status active) - 展示调查结果——告知用户查询结果,以及需要取消/平仓/停止的具体项目
- 等待用户明确确认后再执行任何补救操作
此规则适用于错误消息建议执行破坏性操作的所有错误代码,包括但不限于:
- 待处理的算法订单或活跃机器人导致设置杠杆受阻
- 更改账户设置需要清理订单/持仓/策略(例如,错误代码 59000、59002、59007)
- 切换保证金模式需要先平仓
- 任何包含“cancel”“close”“stop”“transfer … before”等字样的错误
**理由:**错误消息会笼统列出_所有可能_的阻碍项——实际阻碍因素往往只有一项(例如,单个止盈/止损订单)。盲目照做错误提示可能导致不必要的平仓或关闭机器人,而这些并非用户本意。
第 3 步 — 写操作后验证
- 执行
spot place后:运行okx spot orders,确认订单有效;如果是市价单,则运行okx spot fills - 执行
swap place后:运行okx swap orders或okx swap positions进行确认 - 执行
swap close后:运行okx swap positions,确认持仓量为 0 - 执行
futures place后:运行okx futures orders或okx futures positions进行确认 - 执行
futures close后:运行okx futures positions,确认持仓量为 0 - 执行现货算法下单/追踪后:运行
okx spot algo orders,确认算法订单处于活跃状态 - 执行 swap 算法下单/追踪后:运行
okx swap algo orders,确认算法订单处于活跃状态 - 执行 futures 算法下单/追踪后:运行
okx futures algo orders,确认算法订单处于活跃状态 - 执行取消操作后:运行
okx spot orders/okx swap orders/okx futures orders/okx event orders,确认订单已消失 - 执行
event place后:运行okx event orders --status open,确认订单处于待处理状态 - 执行
event cancel后:运行okx event orders,确认订单已消失
全局说明
- 所有写命令都需要有效凭据(OAuth 会话或
~/.okx/config.toml中的 API 密钥) - 身份验证方式和交易模式在“凭据与配置文件检查”中确定;参数规则请参阅该部分
- 默认情况下,
--json返回原始 OKX API v5 响应。添加--env可将输出封装为{"env": "<live|demo>", "profile": "<name>", "data": <response>}——当你需要了解当前环境和凭据配置文件时,这很有用 - 速率限制:每个 UID 每 2 秒最多进行 60 次订单操作
- 如有需要,可直接通过 MCP 工具执行批量操作(批量取消、批量修改)
- 持仓模式(
net与long_short_mode)会影响是否需要--posSide - 网络错误:如果命令因连接错误而失败,请提示用户检查 VPN:
curl -I https://www.okx.com - 能力发现:运行
okx list-tools --json可获取所有 CLI 命令、工具名称和参数的机器可读 JSON 列表——无需解析--help文本即可进行程序化枚举
如需 MCP 工具参考、输出约定和订单金额安全规则,请阅读 {baseDir}/references/templates.md。