Skip to main content

Module state

Module state 

Source
Expand description

共享观测状态:UiPlugin(总线面)写、render_body(窗口面)读。

线程形貌:总线侧在插件 worker 线程写;窗口侧在 eframe 主线程读; 锁粒度 = 每次 lock().clone()/snapshot(),不跨帧持锁。

Structs§

AccountRow
账户行(多账号面;规划 §5.B + 0.2.18 四态)。
BusSnap
一次 eTimer 拉取的服务/插件快照(渲染直接可用)。
CellView
一格的可读视图(渲染/测试用)。
ContractStore
合约库(v4 查询合约窗数据源):en_symbol → ContractData。
CtpForm
CTP 网关配置表单(S6 测试面;界面手工输入源 → UiCmd::CtpConfigure → ask ctp.configure。零配置口径:界面不读文件,值全部人敲;密码位掩码)。
DataSplit
数据区两刀的份额(0.4.1 BD-UI-54)。Python right_splitter = vertical 50:50, 我们的左右刀与之正交;两值都夹在 crate::splitters::clamp_frac 界内。
KlineFetch
K线历史补数单(fen 请求形态;tq 桥消费)。
LogEntry
一行日志(BD-UI-41:Python 侧 LogMonitor 是带「时间/信息/接口」表头的表格 (widget.py:1167-1180),我们原来只存正文串、渲染侧没有时间可排)。 时间戳在入环那一刻打,北京墙钟 %H:%M:%S(与 fmt_dt 同口径)。
LogRing
环形日志:push 满则挤掉最旧一条,溢出计数单调(页面显示“已丢弃 N 条“)。 spilling 面(A/D 裁定):进环的每一笔都追加写盘(%APPDATA%\ek\logs\ 按天文件;EK_UI_LOG_DIR 可重定向)—— 显示有界,事实全量,回去翻盘不翻环。
MarketStore
单格 = (symbol, interval) → bar 升序序列(丢头保尾;datetime 单调)。
OrderForm
下单面板表单(v2 常驻右侧;Python TradingWidget 字段面等价;操作面非配置面)。
ReloadForm
回灌表单(v4:界面面已退役,总线口 UiCmd::Reload 保留;解析器留作 测试与脚本面)。
TickStore
tick 库(v2 行情 tab 唯一数据源):symbol → 最新 tick,逐 symbol 覆盖, 有界 = 订阅面(ek-ctp 只发已订阅合约;无 bar 回落,用户裁定)。
TradeSnap
交易监控快照(渲染侧读的那一份;0.5 起它是四本 keyed 账的缓存视图, 不再是「eTimer 拍 ask oms 全量查询组帧」的产物)。
UiShared
插件面板与宿主观察线程共用的观测状态。

Enums§

AccountStage
账户装配四态(0.2.18,规划 §3.3「添加 ≠ 连接 ≠ 断开 ≠ 移除」)。
BottomRightTab
右下组 tab(Python [资金|日志])。
ConfirmStep
二次确认步进:Armed = 首点待确认;Fired = 同名二点已发令;Switched = 目标迁移。
LoginState
登录态(0.2.19;事实源 = ek-ctp 0.9.0 {gw}.status,规划 P3 / 裁定 3)。
TopLeftTab
左上组 tab(Python [委托|未成交];审计修正:行情是带不是 tab,K线/运维/CTP 是弹窗不是 tab,故不设全局 10 值 UiTab——那是 v2 残影)。
UiCmd
UI 操作指令(窗口面 → 总线面;eTimer 节拍被 ui 插件请辞)。

Constants§

ACCOUNT_STALE_SECS
「查询断供」判据之二:距最后一次资金回报超过这么多秒(规划 Q10)。
CHAIN_STATE_PREFIX
链状态行的前缀(0.5.0,用户定「链进行的状态改为事件日志推送」)—— 单源:引用网关那一份。
KLINE_CELL_CAP
行情缓存单格容量(防涨;丢头保尾,bar 流单调)。
LIST_POLL_TICKS
管制面快照(svctl.list)轮询节拍(0.5 M3:事件驱动后唯一保留的拍级轮询)。
MARKET_ORDER
行情带六所固定 tab 序(0.4.1 BD-UI-54:六所各一格 = 用户裁定「每个交易所 都要一个」;原 crate::dock::MARKET_ORDER 随 dock 拆除,常量原样搬到这里)。
MAX_ACCOUNTS
账户软上限(0.2.18 落地既有开放项:达上限『添加账户』入口禁用并提示, 界面侧不再无限长行)。 账户数防御性顶(0.9.10 用户裁定「我们从来没有限制过账户数」): 业务侧无限制,这条只挡荒谬状态(误操作连击/异常脚本),顶到 64 = 事实上摸不到。
PENDING_CRIT_FLOOR
水位阈下限(0.7.0 背压刀):积压越过软顶的 1/4 且不少于此数 → 红。
PENDING_WARN_FLOOR
水位阈下限(0.7.0 背压刀):积压越过软顶的 1/16 且不少于此数 → 黄。
QUERY_REJECT_STREAK_LIMIT
「查询断供」判据之一:资金/持仓查询连续被拒达此数(规划 Q10)。
RING_CAP
日志环形容量(A/D 裁定 2026-10-28:E15 实证 512 被一次 506 行的状态洪水 灌满 → 启动链日志被挤出,T5 假红。显示窗抬到 4096(与 K线格同哲学: 够看 + 有界);全量事实由溢出落盘兜住(LogRing spilling 面, 每所一笔一行,追加写,永不回环 —— 见 LogRing::push 的 spill 分支)。
STATUS_ASKS_PER_TICK
{gw}.status 每拍最多问几个账户(0.5 M3:状态轮询摊平)。
TRADE_CAP
成交账本上限(0.5 偏离基线③,用户裁定接)。

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 自会逐行入窗)。
pending_thresholds
某插件的水位阈(0.7.0:吃这一行自己的软顶,比例 + 下限)。