Bot / LEX 盤查
背景定期重新產生 CSV;按下載即得到最新版本。
🤖 Bot 賽事已訂閱但未掛單
它在檢查什麼?
每筆紀錄是 (某個 agent / bot, 某場 event) 的 pair。
⚠ 只處理 PG users.bots.status = 'active' 的 bot,inactive 的 bot 自動忽略。
檢查流程:
1. 透過 RiskCtrl gRPC GetSubscriptionList 取出該 agent 訂閱的所有 tournament
2. 透過 GetTournamentList 取出該 agent 對該 tournament 的 gate(trading_tournament_status,ON/OFF)
3. 透過 GetEventList 撈該 tournament 的所有 event
4. 對每場 event 從 Redis 檢查 has_odds / has_open_market / has_bot_quote
本表只列 has_bot_quote=N 的(bot 還沒掛單)。
欄位說明:
• bot_name:bot 名稱(例:bot_TONY01-TONY01),從 PG users.bots 查得;無 PG 連線時為空
• agent_id:訂閱該 tournament 的代理(一個 agent 對應一隻 bot)
• subscribed:該 agent 是否訂閱了這個 tournament(本表都是 Y,因已過濾)
• gate:trading_tournament_status。ON=該 agent 對該 tournament 開閘可以交易;OFF=即使訂閱了,gate 沒開,bot 也不會掛單
• has_odds:exchange_odds:{event_id} 有資料 → 交易所端有賠率
• has_open_market:至少一個 market_status=1 → 有盤口開放
• has_lex_snapshot:lex:{event_id} 有 snapshot → bot 已登錄這場(不代表實際掛單)
• has_bot_quote:Y=所有 OPEN 盤口都有 book 報價;PARTIAL=部分 OPEN 盤口空 book;N=全部 OPEN 都空 book,或根本沒 OPEN
• open_markets:LEX 中 state=OPEN 的支援盤口數
• quoted_markets:上述中 book.runners 有實際 back/lay 報價的數量
• unquoted_open:open_markets - quoted_markets,>0 代表有 OPEN 盤口卻沒掛單
列出條件:必須 has_odds=Y AND has_open_market=Y(即「該掛」的前提)AND has_bot_quote ≠ Y(包含 PARTIAL 和 N)。
若 odds 或 market 都沒,bot 沒掛是合理的,不列為異常。
• match_status:not_started / live / ended
• phase:PRE 賽前 / LIVE 進行中
• market_age_sec:market_status 最新更新距現在秒數(越大代表資料越舊)
常見原因:gate=OFF(agent 沒開閘)、bot 還沒處理到、bot 卡住、或盤口剛建立 LEX 還沒同步
🔍
|
顯示 0 / 0
點擊 row 查看具體未掛盤口
⚙ 設定
|
|
Status 每 5 秒自動更新
🔧 管理觀測中的 Bot Agent IDs
注意:這裡的設定是 runtime 暫存。Service 重啟後會回到啟動時的 AGENT_IDS env / --agent-id 參數。
按下「儲存並重抓」後會清掉現有 subscription tree 並立刻重新跑 bot_subscription。
目前觀測中(0)
尚未載入
範圍說明
這裡列的是「此 bot 在 RiskCtrl 內可看到的 tournament」。
• ✓ 已訂閱:此 bot 有訂這個 tournament
• ○ 可訂閱未訂:同 sport 下其他 tournament,此 bot 沒選
跟下面卡片裡的 ex_only(exchange 有開盤但沒任何 bot 訂閱)不是同一回事:那是 event 層級、跨所有 bot;這裡是 tournament 層級、限定此 bot。
Gate 狀態(RiskCtrl 預設 ON,只有手動 patch 才會 OFF)
• gate ON:未被 patch 關閉(包含明確 ON 與沒回傳 status 的情況——沒回傳通常只代表當下底下沒 event)
• gate OFF:明確被 patch 成 TRADING_TOURNAMENT_STATUS_OFF,即使有訂閱也不會掛單
操作:點 tournament 列可複製 tournament_id 到剪貼簿。