xxm
|
320859e48b
|
fix: 币种normalize——holdings中文币种(人民币/港币)→CNY/HKD,price_monitor校验raise改normalize(脏数据raise杀死整个refresh循环,live_prices停滞70分钟根因)
|
2026-08-25 14:27:39 +08:00 |
|
xxm
|
e781f7fe47
|
fix: 价格更新后同步重算market_value(知微11:56修复,两次被deploy_guard回滚,代为入库)——持仓市值漂移根治
|
2026-08-25 14:08:01 +08:00 |
|
xxm
|
d02785407b
|
fix: 假漂移二次确认改diff --quiet返回码(权威判定,上一版--name-only仍漏)
|
2026-08-25 13:36:31 +08:00 |
|
xxm
|
6ae5410655
|
fix: deploy_guard假漂移过滤——update-index刷新stat缓存+内容级diff二次确认(空diff不回滚不告警),heavy_run/regime_perf_daily反复被假回滚(0insertion0deletion)根因
|
2026-08-25 13:33:20 +08:00 |
|
xxm
|
67ed1ec9bd
|
chore: evolution目录删除入库(昨日归档收尾)+analyst知识日志更新
|
2026-08-25 13:26:41 +08:00 |
|
xxm
|
6b91065538
|
fix: SIGNAL_JSON示例行花括号转义——build_prompt是f-string,示例JSON的{}被当格式符→ValueError→prompt构建全炸→fallback旧prompt(12点后所有重评都没SIGNAL_JSON要求)
|
2026-08-25 12:52:33 +08:00 |
|
xxm
|
7ec99053b9
|
feat: batch_reassess SIGNAL_JSON重打(prompt末尾机器可读行要求+parse_response直读字段)——上一版fix_structured因mofin_db缩进错误中断未commit被deploy_guard回滚
|
2026-08-25 12:37:34 +08:00 |
|
xxm
|
43c7f7d84e
|
fix: reconcile SIGNAL_JSON段re未导入(模块级无re→函数内局部导入)
|
2026-08-25 12:27:10 +08:00 |
|
xxm
|
06dccfb2b0
|
fix: reconcile缩进修复(SIGNAL_JSON优先段的fallback块)
|
2026-08-25 12:11:33 +08:00 |
|
xxm
|
29069ce267
|
fix: reconcile信号提取两修——综合结论改开头匹配(601866关注(条件性买入机会)被顺序扫描误抓买入),_NEG_ADVICE补全(不符合立即建仓/维持观望等),全量reconcile修正4只误抓信号
|
2026-08-25 11:59:55 +08:00 |
|
xxm
|
855c8631c2
|
fix: reassesed_codes定义挪到并发段引用之前——919行extend在937行定义之前→UnboundLocalError,price_monitor每次zones触发就崩(昨天并发重构引入,知微Kanban抓包)
|
2026-08-25 11:38:02 +08:00 |
|
xxm
|
bc04a8aebc
|
fix: LLM端点故障告警只数最终失败——hermes重试序列(attempt1/2的'API call failed'+'Retrying')不再计入(一次瞬时抖动=3条WARNING误报5次失败,09:54事件)
|
2026-08-25 10:45:55 +08:00 |
|
xxm
|
d5827b337e
|
fix: backfill补推同规则——只推有操作建议信号的走push_recommend_alert标准通道,观望/关注只归档broadcast(同281922ac规则)
|
2026-08-25 10:23:12 +08:00 |
|
xxm
|
281922ac17
|
fix: promote推送改造——只推有操作建议信号的(买入/可买入/可加仓,走push_recommend_alert标准通道:门禁+12维全文+单只单条),观望/关注提拔不进XMPP只归档broadcast(老莫:多票堆长文截断不行+无操作建议不要发)
|
2026-08-25 10:17:57 +08:00 |
|
xxm
|
ff93b4e723
|
fix: promote调LLM子进程前先commit放锁——持写事务等per_stock_reassess(60-100s/只)=全库撞锁(今早开盘连环锁主嫌疑)
|
2026-08-25 09:57:50 +08:00 |
|
xxm
|
03e872dba0
|
feat: 自选进出职责归位——promote撤容量闸(不设上限不淘汰,合格即提拔;原60硬顶+RR置换与auto_exit脱节且被多入口绕过失效),出清唯一权威=auto_exit(盘前12维信号驱动),auto_exit输出加池子规模趋势(老莫监察退出机制是否奏效)
|
2026-08-25 09:54:20 +08:00 |
|
xxm
|
46f8040ebf
|
feat: S4 cache miss腾讯quote兜底(3s快失败)——池外候选拿真实内外盘评分,不靠中性
|
2026-08-24 21:06:13 +08:00 |
|
xxm
|
ef835c1241
|
fix: candidate_filter修3——S4无资金流数据改中性通过(cache只覆盖池内,池外不该压分),busy_timeout30→60(6worker并发写)
|
2026-08-24 20:17:04 +08:00 |
|
xxm
|
289797e111
|
fix: candidate_filter S2/S4数据源改造重打(上一版被deploy_guard回滚:fix_cf_ab改了没commit,guard15分钟吃掉,fix_cf_conc在旧版上加并发导致签名不匹配TypeError)
|
2026-08-24 20:06:23 +08:00 |
|
xxm
|
d2f4ae8460
|
feat: candidate_filter A+B改造——S2读stock_daily/S4读capital_flow_cache主力净流入(数据分层铁律,砍掉sina/腾讯curl) + 主循环6路并发(process_one独立conn,278只从20min+→目标3min)
|
2026-08-24 20:00:47 +08:00 |
|
xxm
|
48a20adaa3
|
chore: alert_logger.py根目录副本同步到deploy权威版(硬链接归一后git同步,防deploy_guard回滚)
|
2026-08-24 17:21:34 +08:00 |
|
xxm
|
131d434079
|
feat: LLM并发模式统一——batch_reassess/trade_capture加concurrent=True(盘前批量4worker不再全压同一key,router round-robin分key), parallel_batch worker 4→6(6 key用满)
|
2026-08-24 16:47:37 +08:00 |
|
xxm
|
5a2319cd90
|
fix: per_stock call_llm加concurrent=True——非并发模式router按健康分排序全压key4(6并发时key4六倍压力其他5个闲置),开concurrent后round-robin分key=6key齐用(老莫:6个key!)
|
2026-08-24 16:20:34 +08:00 |
|
xxm
|
20abd77e09
|
feat: price_monitor重评并发化——zones循环触发快判收集pending,循环后ThreadPoolExecutor(6=OCG router 6key)并发跑12维重评+结果推送(止损/区间两分支逻辑提取为_reassess_one,共享_can_push加锁), 老莫:6个key在搞什么串行
|
2026-08-24 16:04:15 +08:00 |
|
xxm
|
b2f0c72977
|
fix: 重评timeout链放宽——per_stock call_llm 90→300(ocg_router单key上游180s+失败换key重试,90s客户端先断=自己限死自己),子进程180→600,alarm→600
|
2026-08-24 16:01:10 +08:00 |
|
xxm
|
59832080f9
|
fix: L3空转根治+健康检查3修——①L3 prompt注入repair_hint+script名强制校正(LLM把模块名当脚本名编,mtf_cache非法→每30分空转)②mtf_cache阈值75→240(匹配3趟/天调度,必误报)③gateway_llm检查agent.log→ocg-router探测(红线11后LLM走直连,无gateway流量≠故障)④review_needed降broadcast
|
2026-08-24 15:53:37 +08:00 |
|
xxm
|
936a9b8358
|
fix: price_monitor超时治理——alarm120→300(监控面36→112只后120s在refresh阶段就被杀,zones循环跑不到) + 指标联动整体预算10s(每只5s超时×114=必撞alarm) [603920盲区第三环]
|
2026-08-24 14:52:51 +08:00 |
|
xxm
|
896d0bb002
|
fix: check_codes拉价集合兜底——trig空但主层有止损/区间/止盈的策略也纳入(603920盲区第二环:zones兜底修了但价格根本没拉,price_info=None仍跳过)
|
2026-08-24 14:34:39 +08:00 |
|
xxm
|
69cd0478af
|
fix: zones监控盲区根治——trigger_json='{}'的版本化策略(76/112条)完全脱离止损/止盈/买入区监控,zones循环改用主层字段兜底构建(603920破止损36.57无告警根因;8/21版本化改造写入trigger_json='{}'所致)
|
2026-08-24 14:23:26 +08:00 |
|
xxm
|
f1cb4edad7
|
fix: anomaly_monitor push_anomaly强推XMPP→messenger broadcast(老莫:异动无操作建议且过于频繁没意义,只归档)——job delivery只控stdout,notify ACTION直推通道才是真正的噪音源
|
2026-08-24 13:37:27 +08:00 |
|
xxm
|
9a3a6c782a
|
fix: install_stdio_hook幂等化——库文件(market_regime等)模块级_msh()被import时不再重复包装stdout(双写根因:per_stock_reassess→strategy_lifecycle→market_regime链,N层hook=N个buffer各flush一次=broadcast整块重复)
|
2026-08-24 12:10:59 +08:00 |
|
xxm
|
91464a7cb7
|
fix: fund_flow_alert补漏——重评timeout120→300+name缺失查stocks兜底(随051b56cd同批)
|
2026-08-24 11:52:54 +08:00 |
|
xxm
|
051b56cdd6
|
fix: fund_flow_alert三修——①重评timeout120→300(LLM12维实测104-200s,120必超时致'重评异常')②name缺失查stocks兜底(603920显示代码)③资金流异动无操作建议→只进broadcast不推XMPP(老莫新规则)
|
2026-08-24 11:51:08 +08:00 |
|
xxm
|
19a10ed8f9
|
feat: broadcast消息事件块化——stdout hook从逐行碎片改为缓冲聚合(静默2s/满25行/atexit切块),相邻重复行去重,单连接写入(老莫:每条消息详情=摘要无信息量)
|
2026-08-24 11:41:48 +08:00 |
|
xxm
|
f15752485e
|
feat: 推荐推送附12维完整分析——push_recommend_alert单只推荐/flush摘要依据段均附full_analysis全文(老莫:不能只有一行文字)
|
2026-08-24 11:15:50 +08:00 |
|
xxm
|
30dbb8a667
|
fix: 推荐链路+消息路由5修——①push_recommend_alert notify未导入(推荐推送全灭根因)②action判重(深套持有重复)③518880成本列错位h[2]shares→h[3]cost④_push_action分类路由:操作信号才上XMPP,异动/止损/急跌只进broadcast⑤anomaly_monitor delivery→broadcast
|
2026-08-24 11:08:16 +08:00 |
|
xxm
|
f621e5466c
|
fix: 重评链路全修——①strategy_lifecycle 942行detect_scenario残留(8/20四态废弃漏改,所有12维重评NameError全崩)②_do_llm_reassess子进程rc校验+reassessed_at新鲜度校验(防旧策略冒充重评结论)③952行result None判空(每2分钟NoneType刷屏)④重评未生效发原始告警+人工核查标注(02202鬼消息根治)
|
2026-08-24 10:29:56 +08:00 |
|
xxm
|
62d52d5d04
|
fix: 审计交易时间窗口9-16→10-15(盘前采集窗口内数据停上一交易日是正常的,9:18误报macro_context_log)
|
2026-08-24 09:23:37 +08:00 |
|
xxm
|
9970886156
|
fix: 卫生审计三处误报——指令冻结活跃度列名created_at→timestamp(死session误报8个),进程白名单+ocg_router/guard_monitor,stale_table非交易阈值48→72h覆盖周末
|
2026-08-24 09:13:09 +08:00 |
|
xxm
|
3c9fee6c14
|
docs: 红线13——股票代码是唯一权威标识,名称只是显示属性(禁止name匹配/join,name缺失禁止用code冒充,劣化由hygiene周频自愈)
|
2026-08-22 16:54:12 +08:00 |
|
xxm
|
761706ca8f
|
feat: stock_name_hygiene 周频任务——akshare官方名剥XD标记比对,stocks/candidates/holdings截断名与ST变更自愈
|
2026-08-22 12:22:09 +08:00 |
|
xxm
|
0afff445b6
|
fix: price_monitor record_event 名称守卫(上次被deploy_guard回滚,重打)
|
2026-08-22 12:03:02 +08:00 |
|
xxm
|
34030aa83b
|
fix: 股票名称治理——price_monitor/mofin_db写入stocks时名称守卫(stocks已有真名→复用,无→腾讯quote兜底,REPLACE不再覆盖真名),回填stocks 341行+candidates 201行真名,指数行正名,删6行垃圾code行
|
2026-08-22 12:00:46 +08:00 |
|
xxm
|
b787157dbe
|
fix: renderAlerts末尾多余大括号导致全站JS解析失败(昨日异常浮窗改动引入)
|
2026-08-22 11:29:03 +08:00 |
|
xxm
|
d82d67246f
|
重构: 移除信号Tab(与市场Tab重复+死数据), 市场Tab改为温区regime+板块排行, 候选池迁入选自Tab, /api/market加regimes, 删/api/signals, 修change_pct显示bug和market.json兜底
|
2026-08-22 11:14:54 +08:00 |
|
xxm
|
0c1c6cabeb
|
docs: 消息架构重构阶段总结文档+broadcast/messenger spec+INDEX更新
|
2026-08-22 10:29:19 +08:00 |
|
xxm
|
fb5a1adcec
|
feat(alert_helper): notify同时写broadcast_messages(deploy_guard等告警进统一消息源)
|
2026-08-22 10:18:25 +08:00 |
|
xxm
|
2cc8341dcb
|
feat(alert): 异常浮窗数据源改为broadcast_messages的system_error类(24h,统一消息源)
|
2026-08-22 10:11:47 +08:00 |
|
xxm
|
6efcdf75e0
|
feat(alert_logger): record_alert同时写broadcast_messages(统一消息源,异常=system_error类)
|
2026-08-22 10:09:12 +08:00 |
|
xxm
|
26d751b071
|
feat(alert): 异常浮动新行为——24h过滤+新异常3秒展开折叠+已展开不重复+首次加载不弹旧异常
|
2026-08-22 09:56:43 +08:00 |
|
xxm
|
c93dcdf8ab
|
refactor(daily_kline): 取消拆分,统一no_agent=True+超时1800s解决超时问题
|
2026-08-22 02:04:59 +08:00 |
|
xxm
|
a967295785
|
fix(daily_kline): sh拆分sh_a/sh_b按排序均分(解决600s超时,no_agent保持True)
|
2026-08-22 01:46:45 +08:00 |
|
xxm
|
0feb486a54
|
fix(promote_candidates): 补_exec_retry定义(DB锁自动重试)
|
2026-08-22 01:30:57 +08:00 |
|
xxm
|
8e9b280442
|
fix(promote_candidates): DB锁自动重试(busy_timeout+指数退避5次)
|
2026-08-22 01:27:46 +08:00 |
|
xxm
|
89ac3b688a
|
fix(xmpp_logger): 修复score函数usage_percent为None时的TypeError(健康API 500)
|
2026-08-22 00:31:59 +08:00 |
|
xxm
|
58c7b223bf
|
fix(health): 移除功能树中已禁用/归档的job节点(策略评估/分支自成长/元自成长/建议对账/cron报告推XMPP)
|
2026-08-22 00:24:38 +08:00 |
|
xxm
|
626465960e
|
fix(mofin_health): 修复cycDelivery非法正则(\\x00-\\x7F→[^ -~])导致整个JS崩溃switchTab未定义
|
2026-08-22 00:11:36 +08:00 |
|
xxm
|
20c05b6e7c
|
feat(messenger): 全部77个活跃cron脚本接入统一消息通道(install_stdio_hook)
|
2026-08-21 22:34:25 +08:00 |
|
xxm
|
5e0141eb28
|
fix(messenger): 修复hook递归——写broadcast表直接操作DB不经send(防无限循环)
|
2026-08-21 22:27:53 +08:00 |
|
xxm
|
d56981d38f
|
feat(messenger): hook自动将脚本stdout写入broadcast表(消费者接管消息归档)
|
2026-08-21 22:24:05 +08:00 |
|
xxm
|
c830e005ce
|
feat(messenger): 添加install_stdio_hook统一拦截脚本stdout按通道分发
|
2026-08-21 22:20:29 +08:00 |
|
xxm
|
e4440379df
|
fix(broadcast): 添加esc函数(修复播报页esc is not defined)
|
2026-08-21 21:54:58 +08:00 |
|
xxm
|
8433d46ed7
|
feat(mofin_db): flush_rec_digest推荐输出接入messenger(broadcast归档+xmpp推送)
|
2026-08-21 20:36:57 +08:00 |
|
xxm
|
91386530ee
|
feat(market_watch): 接入messenger——温区更新走broadcast通道
|
2026-08-21 20:33:12 +08:00 |
|
xxm
|
d6e101c4df
|
feat(health): cron列表加消息通道列+可切换API(toggle_delivery)
|
2026-08-21 20:23:33 +08:00 |
|
xxm
|
6577534130
|
feat(health): pipelines加delivery消息通道字段
|
2026-08-21 20:19:19 +08:00 |
|
xxm
|
b3c2c4f8d9
|
feat(price_monitor): 接入统一messenger——操作推荐归档broadcast+xmpp推送
|
2026-08-21 20:13:59 +08:00 |
|
xxm
|
ed83fddcf4
|
feat(messenger): 统一消息处理者——生产者(脚本/job)驱动通道,不按内容判通道
|
2026-08-21 20:11:57 +08:00 |
|
xxm
|
548fd4bab1
|
fix(broadcast): 修复播报Tab loading问题(renderTab增加broadcast case)
|
2026-08-21 16:37:12 +08:00 |
|
xxm
|
c549bc57df
|
feat(broadcast): 播报Tab添加到index.html
|
2026-08-21 15:23:12 +08:00 |
|
xxm
|
5eeb31668d
|
feat(broadcast): 播报系统Tab+API+历史查询+消息分类
|
2026-08-21 15:09:48 +08:00 |
|
xxm
|
981d35e1cf
|
fix(mofin_health): 今天已运行的LLM job不报output_missing误报
|
2026-08-21 14:13:50 +08:00 |
|
xxm
|
6ed49a62de
|
fix(mofin_health): 清理已归档模块引用(meta_watchdog/branch_*/prune_branches)+修复语法
|
2026-08-21 12:56:16 +08:00 |
|
xxm
|
389cf06f4a
|
fix(mofin_health): 移除已归档模块引用(meta_growth/meta_watchdog/branch_*/prune_branches/stale_detector/watchlist_auto_exit)
|
2026-08-21 12:50:07 +08:00 |
|
xxm
|
34992de898
|
fix(realtime_indicators): 用live_prices实时价格替代stock_daily收盘价,确保今日数据写入
|
2026-08-21 11:40:16 +08:00 |
|
xxm
|
7075bd47d2
|
fix(realtime_indicators): 修复no such column id(stock_indicators表无id列)
|
2026-08-21 11:31:38 +08:00 |
|
xxm
|
4fe2c43310
|
fix: 复制alert_logger.py到deploy/profile-scripts(修复price_monitor ModuleNotFoundError)
|
2026-08-21 11:19:07 +08:00 |
|
xxm
|
37867f378c
|
docs: 补充E组文档+加工层架构(strategy_lifecycle+realtime_indicators)
|
2026-08-21 11:12:50 +08:00 |
|
xxm
|
b3cfe59770
|
chore: 重新归档meta_growth/meta_watchdog/ab_research_daily(上次被deploy_guard回滚)
|
2026-08-21 11:08:00 +08:00 |
|
xxm
|
15edc92371
|
feat(加工层): 实时技术指标计算+price_monitor联动+collect_data改为读stock_indicators
- 新增realtime_indicators.py: 盘中实时计算MA/支撑阻力/RSI/bias60/dist_ma20/ATR/candle_pattern
- price_monitor: 更新价格后联动计算实时指标写入stock_indicators
- batch_reassess collect_data: 从stock_indicators读取(不再重新计算ta.full_analysis)
- stock_indicators表: 新增strong_support/weak_support/pivot/weak_resist/strong_resist/candle_pattern字段
|
2026-08-21 05:12:18 +08:00 |
|
xxm
|
eb78517f20
|
fix: 修正残留注释
|
2026-08-21 04:12:35 +08:00 |
|
xxm
|
bf75aba72a
|
fix: evo-box移到策略评估子tab,统一函数名为loadEvoLog
|
2026-08-21 04:10:26 +08:00 |
|
xxm
|
fdb3757895
|
fix: 研究tab-evo子tab改为effectiveness数据展示
|
2026-08-21 04:01:18 +08:00 |
|
xxm
|
209595fc00
|
fix: 彻底移除evolution/evaluation旧代码,研究tab改用effectiveness
|
2026-08-21 03:54:28 +08:00 |
|
xxm
|
0035a3fdc3
|
fix(server): 添加deploy/profile-scripts到sys.path(修复mo_models导入)
|
2026-08-21 03:42:43 +08:00 |
|
xxm
|
407389946e
|
refactor: 移除旧评估tab+evolution路由,研究tab改用effectiveness
- 移除评估tab(旧功能被strategy_effectiveness替代)
- 移除evolution API路由(引用已删除的evolution目录)
- 移除旧evaluation/stats/accuracy路由
- 研究tab: 策略自我进化→改为读取effectiveness/summary
- effectivenes.html仍可通过直链访问
|
2026-08-21 03:21:50 +08:00 |
|
xxm
|
207066e76b
|
fix(server): effectiveness路由移到app.run()之前(修复404)
|
2026-08-21 03:00:36 +08:00 |
|
xxm
|
5b9d46efc6
|
refactor: 归档策略进化模块+新建评估页面+API
- 归档 evolution/ + meta_growth/meta_watchdog/ab_research_daily
- docs/evolution-archive-readme.md: 归档说明(旧模块功能+替代方案)
- server.py: 新增 /api/research/effectiveness + effectiveness/summary + recommendation_log + execution_log
- static/effectiveness.html: 新评估页面(概览/详细评估/推荐记录/执行记录)
- 策略进化改为人驱动闭环(评估→用户决策→调整)
|
2026-08-21 02:47:38 +08:00 |
|
xxm
|
8dd12ca1e8
|
docs: 更新架构文档——记录A-D组改动/策略版本化/两份历史记录/策略到期评估
|
2026-08-21 02:30:41 +08:00 |
|
xxm
|
c0cfb89757
|
chore(D组): 禁用strategy_evaluator/advice_reconciliation cron+清理残留引用
|
2026-08-21 02:26:46 +08:00 |
|
xxm
|
83e2953f89
|
refactor(D组): 归档strategy_evaluator+advice_reconciliation,功能合并到strategy_effectiveness
- 归档strategy_evaluator.py/advice_reconciliation.py(功能已被strategy_effectiveness替代)
- strategy_effectiveness扩展: 读取recommendation_log+execution_log增强评估
- mofin_db新增: log_recommendation/log_execution/match_recommendations_executions
- 新表recommendation_log(推荐历史)+execution_log(执行历史)
|
2026-08-21 02:25:06 +08:00 |
|
xxm
|
3e7c7df38d
|
feat(versioning): 策略版本化+到期评估模块
- mofin_db.py: 新增write_holding_strategy_versioned(对比关键字段→supersede/new)
- strategy_effectiveness.py: 策略到期后用完整K线评估区间职责履行
- holding_strategies新字段: strategy_source/cycle_start/buy_zone_expected_days/take_profit_expected_days
- strategy_effectiveness表: 记录策略评估结果(买入区/止损/止盈/时间准确性+改进建议)
|
2026-08-21 01:56:31 +08:00 |
|
xxm
|
e0bd7fe2a6
|
refactor(trade_capture): 最大容错版——不限截图类型/不限股票数量/逐只独立处理
|
2026-08-21 00:36:10 +08:00 |
|
xxm
|
4d71075ee9
|
refactor: 截图识别重构为LLM执行协议(trade_capture模块+server.py集成)
|
2026-08-21 00:29:34 +08:00 |
|
xxm
|
61c3cb52b2
|
docs: LLM执行协议开发规范+可复用JSON schema
- docs/llm-execution-protocol.md: 从重评流程提取的通用协议(输入/prompt/解析/校验/写入/错误处理)
- specs/schemas/reassess-output.json: 重评LLM输出节标题schema
- specs/schemas/trade-capture-output.json: 截图识别LLM输出schema
- 可复用组件: _section_line/snapshot_strategy_history/write_holding_strategy/门禁模式
|
2026-08-21 00:08:09 +08:00 |
|
xxm
|
6a036faa28
|
fix(import_holding_xls): 导入后调用clean_watchlist清理自选池
|
2026-08-20 23:13:28 +08:00 |
|
xxm
|
4dfc77ace2
|
refactor(clean_watchlist): 重写为main()函数,可被import_holding_xls调用
|
2026-08-20 23:09:52 +08:00 |
|
xxm
|
29f9c3ff86
|
fix(clean_watchlist): 修复main()缩进问题
|
2026-08-20 23:00:37 +08:00 |
|
xxm
|
6347d9b88b
|
fix(clean_watchlist): 修复main()函数化缩进
|
2026-08-20 22:59:14 +08:00 |
|
xxm
|
99cce27a2c
|
refactor(C组): clean_watchlist改为函数+import_holding_xls增加调用+premarket_full_review增加兜底对账
|
2026-08-20 22:54:46 +08:00 |
|