OKEX v5 模拟盘 API 调用失败的修复指南(已实测有效)

·

如果你也拿到 401 Invalid OK-ACCESS-KEY,这篇文章能一次帮你看透原因 + 方案。

现象速览:401 报错与模拟盘直连失败

https://www.okex.com 申请 API Key,信心满满地把 exchange.IO("simulate", true) 写进脚本,却在 GetAccount() 处反复收到:

401: {"msg":"Invalid OK-ACCESS-KEY","code":"50111"}

接下来我们将从 3 个维度拆解为何出错,并提供完整验证步骤。


核心关键词

OKEX 模拟盘、OKEX v5 API、ACCESS-KEY 错误、401、沙箱环境、测试网络、数字货币交易、API 调试指南


问题根源全流程拆解

1️⃣ Key 类型不对:未申请模拟盘专用 API

2️⃣ 调用域名不对:把端口或子域名写错

3️⃣ exchange.IO 方法没生效


如果你已经在找「跳过坑的极速通道」,可直接跳读👉从注册到第一条下单请求的完整 3 分钟流程


Step by Step:10 分钟跑通 OKEX v5 模拟盘

① 生成独立沙箱 API Key

  1. 登录 OKEX 账户 → 右上角头像 →【API 管理】。
  2. 创建新 Key,勾选「模拟盘」;记录 Access Key / Secret Key / Passphrase
  3. 权限至少勾「读取」「交易」;IP 白名单暂时填 0.0.0.0/0 方便调试。

② FMZ 平台配置

exchange.SetBase("https://www.okex.com")   // 勿加 /api/v5
exchange.IO("simulate", true)              // 必须在初始化前面
exchange.SetKey("AccessKey", "SecretKey", "Passphrase")

③ 鉴权信息本地校验


高频疑难杂症速查表

错误码常见原因立即排查
50111KEY 不在模拟盘白名单再测一次是否勾了「模拟盘」
50112签名 timestamp 漂移本地时间与 NTP 同步
50025没有交易权限回到 [API 管理] 重开权限并等待缓存 5 分钟

实战案例:三行代码定位错误

某策略两天跑不通,日志截取的调用序列如下:

2021-06-15 09:16:10 GetAccount: 401: {"msg":"Invalid OK-ACCESS-KEY","code":"50111"}
2021-06-15 09:16:11 exchange.IO("simulate", true)   // 之后才写

修复:把 exchange.IO 放到策略最顶部,马上 200 返回,问题解决。


FAQ:开发者最关心的 5 个问题

Q1:为什么我勾了模拟盘还是报错 50111?
A:账号本身未开通衍生合约权限。先在 OKEX「资产 → 资金划转」把 0.01 USDT 划到模拟盘合约账户,系统会自动激活合约沙箱。

Q2:同一个实盘 KEY 能在模拟盘跑吗?
A:不能。模拟盘 & 实盘各自独立;切勿混用,否则会一直 401。

Q3:exchange.IO("simulate", true) 与其他框架的写法冲突怎么办?
A:OKX Sandbox 只做了一层 header,用 FMZ/自编脚本皆可。切忌同时把 URL 指向 /api/v5/demo,那是无效路径。

Q4:测试完后如何一键切回实盘?
A:两行即可:

exchange.IO("simulate", false)
exchange.SetKey(...实盘KEY...)

重启脚本,自动回连实盘域名。

Q5:模拟盘手续费和滑点跟实盘一样吗?
A:官方给出的答案是「与实盘一致,手续费率对标主站」。高并发套利仍建议本地回放真实 Tick 再检验滑点。


常见坑位最终复盘

  1. 忘记勾选「模拟盘」→ 401。
  2. 域名加错子路径 → 404。
  3. exchange.IO 写在交易逻辑之后 → 请求始终带实盘 Header → 401。

避开这三点,你就能在一台 1 核 1G 的云服务器上完成 7×24 策略直连测试——不再需要本地跑大盘数据模拟。


🎯 如果本文对你有所帮助,欢迎把这条流程分享给同事或社群,彻底杜绝下次再踩同样坑位。