连接诊断:“A market data session is already running. Disconnect it first”
Senzoukria 的连接诊断会开启它自己的 Rithmic 会话,所以只要同一个登录名上还有一路行情会话活着,它就拒绝运行。它还会报告服务器在测试期间做了什么,例如一次强制登出,或者一次被拒绝的逐笔订单深度。
Senzoukria · 故障排除 · 更新于 2026 年 9 月
概要
- 拒绝
- “A market data session is already running. Disconnect it first…”(由 Rust 侧写出,只有英文)
- 强制登出告警
- “the server closed this session (forced logout) — typically a second session opened on the same login”,同样是英文
- MBO 告警
- “order-by-order depth (MBO) refused for {symbol} (rp_code=…); aggregated L2 depth still works”,同样是英文
- 不包含的内容
- 不下载历史:这个诊断不测试历史 plant
你会看到什么
在一张图表正在推流的时候点“开始诊断”,返回的是:“A market data session is already running. Disconnect it first: this diagnostic opens its own session, and Rithmic refuses — or silently kills — a second session on the same login. The refusal would look exactly like the entitlement wall this is meant to rule out.”意思是:已经有一路行情会话在运行,请先把它断开;这个诊断会开自己的会话,而 Rithmic 会拒绝 —— 或者悄悄杀掉 —— 同一个登录名上的第二路会话,而那种拒绝看起来会和它本来要排除的那道权限墙一模一样。这段文字来自应用的 Rust 侧,只有英文。
当诊断真的跑起来时,它的结果里可能带上会话期间解码出来的告警:“the server closed this session (forced logout) — typically a second session opened on the same login”(服务器关闭了这个会话,即强制登出,通常是因为同一个登录名上又开了第二个会话),或者“order-by-order depth (MBO) refused for {symbol} (rp_code=…); aggregated L2 depth still works”({symbol} 的逐笔订单深度被拒,聚合 L2 深度仍然可用)。这两句同样只有英文。
为什么会这样
诊断会用一个自己的会话,依次走完网关、系统、登录、订阅和首个 tick。如果它挨着一路实时数据流一起跑,就可能把那路数据流弄断,或者自己被拒绝,从而让一个普通的会话数量限制看起来像是缺少权限 —— 而这正是它存在的目的:防止这种错误的诊断。所以它在打开任何东西之前就先停下来。
测试期间的一次强制登出,是造成静默的一个已知原因:首个 tick 那一步会失败,告警会把它点名说出来,而应用不会再显示“全部被接受,却没有数据进来”这个区块。一次 MBO 拒绝只涉及逐笔订单深度;聚合 L2 照常工作。诊断刻意不去下载历史,因为过度抓取历史,是间歇性 rp_code 13 拒绝的头号嫌疑。
如何解决
- 在“经纪商连接”里从那张卡片上断开这条实时连接,然后重新跑一次诊断。
- 测试之前,请关掉 R | Trader Pro 或者任何用同一个登录名登录的其他平台。
- 如果结果里显示了一次强制登出,请找出那个登录名上的另一个会话并把它关掉。
- 测试结束后重新连上你的配置;诊断会自己把它的会话拆掉。
它并不意味着什么
- 不是你的连接失败了:是诊断拒绝启动。
- 也不是一次历史测试:历史被拒会在图表上以它自己的提示显示出来。
何时联系技术支持
经过这些检查之后还是卡住?请用 菜单 → 问题反馈,或者发到 Senzoukria 的 Discord 上。跑完一次完整的诊断之后请用“复制结果”;它包含那些告警,不含密码。
相关页面
同一栏目
其他语言版本
常见问题
- 为什么诊断不能共用我现有的会话?
- 它要自己测量每一步,从网关一直到首个 tick。复用一个正在跑的会话,就会跳过它本来要测的那些步骤。
- 一次 MBO 拒绝是不是说明我的 DOM 坏了?
- 不是。它说明那个合约的逐笔订单深度被拒绝了;聚合 L2 深度照常可用。