连接预检(connection preflight)
连接预检(connection preflight)是一套分阶段的诊断:它一次只考察行情连接的一个环节——网关、系统名称、登录、订阅、首笔 tick——并报告每一阶段究竟测到了什么。它把「路由被拒」、「凭据被拒」和「连接已被接受但数据只是没来」这三件事分开。
Senzoukria · 术语表 · 更新于 2026 年 9 月
各个阶段
| 阶段 | 要回答的问题 | 通过意味着什么 |
|---|---|---|
| 网关可达 | 网关地址应答了吗? | 网络路径存在;没有被防火墙、VPN 或代理挡住 |
| 系统被识别 | 这个网关服务于所指定的系统吗? | 该系统名称在网关的有效清单上 |
| 网关与系统匹配 | 路由是对的吗? | 之后再出现的拒绝,不是路由错误 |
| 认证 | 券商接受这次登录了吗? | 凭据正确,且对该系统有相应权限 |
| 数据订阅 | 该合约的订阅被接受了吗? | 该合约的行情权限存在 |
| 收到首笔 tick | 在等待窗口内有 tick 到达吗? | 数据此刻在流动;清淡的市场同样可能过不了这一关 |
为什么分阶段比一条报错强
屏幕上看起来一模一样的拒绝,背后的原因可以完全不同:网关选错了、系统名称换了地方、密码过期了、缺一项行情权限,或者合约到期了却仍然接受订阅。一套在第一个失败阶段停下来、并说清自己测到了什么的诊断,能把一句含糊的「登录失败」变成技术支持或供应商可以着手处理的事实。Rithmic 指南另外列出了需要在账户一侧单独确认的几项:系统名称、允许接入的第三方应用、深度与历史的可用性、会话数上限和路由权限。
在 Senzoukria 里
连接界面里有一个「Connection diagnostic」(连接诊断),带「Run the diagnostic」(运行诊断)、「Run again」(再跑一次)和「Copy the result」(复制结果)。每个阶段报告 passed、failed 或带原因的「Not run」,例如「Not run, no password saved on this connection」。它的说明写明了方法:它报告自己测到的东西,并按出现频率列出可能原因;它绝不会把其中某一个指认为确定原因。
当所有阶段都通过、却没有 tick 到达时,诊断会显示「Everything was accepted, no data is arriving」,并按频率从高到低列出可能原因:该合约当前休市、这个代码已经不是主力合约,等等。复制出来的结果,是为了连同请求的时间区间一起贴进技术支持工单里用的。
常见误区
- 还没跑诊断,就先去改指标或者重装应用。
- 把订阅通过读成历史数据也有覆盖;历史是另一项单独的权限。
- 在周末跑这套检查,然后因为没有 tick 就断定账户坏了。
- 只把最后的结论发给技术支持,而不是那份逐阶段复制出来的结果。
相关内容
其他语言版本
常见问题
- 诊断每一阶段都通过了,图表却是空的,为什么?
- 订阅被接受证明的是权限,不是活跃度。该合约可能不在交易时段内,或者这个代码是一个仍然接受订阅、却根本没有成交的过期月份。请先核对时段时钟和主力合约;诊断会按频率列出这些原因,而不会指认其中某一个。
- 预检适用于桥接连接吗?
- 网关、系统和登录这几段分阶段检查是给直连用的。NinjaTrader 或 Quantower 桥接的检查方式不同:桥接指标必须在某一张图上运行,本地端口必须空闲,桥接声明的历史必须与实际收到的一致。Quantower 指南给出了用于确认监听端口的 PowerShell 命令。