Expand description
共享观测状态:UiPlugin(总线面)写、render_body(窗口面)读。
线程形貌:总线侧在插件 worker 线程写;窗口侧在 eframe 主线程读;
锁粒度 = 每次 lock().clone()/snapshot(),不跨帧持锁。
Structs§
- Account
Row - 账户行(多账号面;规划 §5.B + 0.2.18 四态)。
- BusSnap
- 一次 eTimer 拉取的服务/插件快照(渲染直接可用)。
- Cell
View - 一格的可读视图(渲染/测试用)。
- Contract
Store - 合约库(v4 查询合约窗数据源):en_symbol → ContractData。
- CtpForm
- CTP 网关配置表单(S6 测试面;界面手工输入源 → UiCmd::CtpConfigure →
ask
ctp.configure。零配置口径:界面不读文件,值全部人敲;密码位掩码)。 - LogRing
- 环形日志:push 满则挤掉最旧一条,溢出计数单调(页面显示“已丢弃 N 条“)。
- Market
Store - 单格 = (symbol, interval) → bar 升序序列(丢头保尾;datetime 单调)。
- Order
Form - 下单面板表单(v2 常驻右侧;Python TradingWidget 字段面等价;操作面非配置面)。
- Reload
Form - 回灌表单(v4:界面面已退役,总线口
UiCmd::Reload保留;解析器留作 测试与脚本面)。 - Tick
Store - tick 库(v2 行情 tab 唯一数据源):symbol → 最新 tick,逐 symbol 覆盖, 有界 = 订阅面(ek-ctp 只发已订阅合约;无 bar 回落,用户裁定)。
- Trade
Snap - 交易监控快照(S5;ui 插件 eTimer 拍 ask oms 全量查询组帧)。
- UiShared
- 插件面板与宿主观察线程共用的观测状态。
Enums§
- Account
Stage - 账户装配四态(0.2.18,规划 §3.3「添加 ≠ 连接 ≠ 断开 ≠ 移除」)。
- Bottom
Right Tab - 右下组 tab(Python [资金|日志])。
- Confirm
Step - 二次确认步进:Armed = 首点待确认;Fired = 同名二点已发令;Switched = 目标迁移。
- Login
State - 登录态(0.2.19;事实源 = ek-ctp 0.9.0
{gw}.status,规划 P3 / 裁定 3)。 - Theme
- 界面主题(BD-UI-34,用户问「有没有 PySide6 那种可换的金融向主题」): 菜单钮一键循环切换(运行期态,无配置文件——ek-ui 零配置口径)。 语义色(多红/空绿/隔离红/选中蓝)跨主题恒定——金融语义不随主题漂移。
- TopLeft
Tab - 左上组 tab(Python [委托|未成交];审计修正:行情是带不是 tab,K线/运维/CTP 是弹窗不是 tab,故不设全局 10 值 UiTab——那是 v2 残影)。
- UiCmd
- UI 操作指令(窗口面 → 总线面;eTimer 节拍被 ui 插件请辞)。
Constants§
- ACCOUNT_
STALE_ SECS - 「查询断供」判据之二:距最后一次资金回报超过这么多秒(规划 Q10)。
- KLINE_
CELL_ CAP - 行情缓存单格容量(防涨;丢头保尾,bar 流单调)。
- MAX_
ACCOUNTS - 账户软上限(0.2.18 落地既有开放项:达上限『添加账户』入口禁用并提示, 界面侧不再无限长行)。
- QUERY_
REJECT_ STREAK_ LIMIT - 「查询断供」判据之一:资金/持仓查询连续被拒达此数(规划 Q10)。
- RING_
CAP - 日志环形容量(S1b 门面;溢出不丢累计计数,见
LogRing::spilled)。 - STATUS_
POLL_ TICKS {gw}.status轮询节拍(eTimer 每 1 秒一拍;每 N 拍问一次)。
Functions§
- is_
quarantined - 隔离态判定(svctl.list 状态原文含 Quarantin → 红;ePlugQDown.<名> 是定向 广播,未知名无法预订阅 —— 快照行扫描是唯一闭环面,BD-UI-17)。
- parse_
gateway - 票据网关选择子解析(多账号面)。
- parse_
reload_ csv - CSV(每行
dt,open,high,low,close,volume;dt 为 epoch 秒)→ BarData 批。 错行报行号;空 csv = Err;升序不强制(dm.reload 自会逐行入窗)。