知微
a245c8b4dd
fix: price_monitor crash when shares is string + type guard in write_holding_strategy
...
Root cause: holding_strategies.shares field got set to literal string
'write_holding_strategy' for 6 records, causing TypeError at
price_monitor.py line 611 ('>' not supported between str and int).
Fixes:
1. price_monitor.py: Replace set comprehension with safe loop that
checks isinstance before comparison. Non-numeric shares treated
as holdings for safety.
2. mofin_db.py write_holding_strategy: Add type guard that resets
non-numeric shares to 0 with warning.
3. Data fix: Updated 5 corrupted holding_strategies records from
holdings table (300035/300308/300750/518880/00700).
Set 002594 (watchlist) shares=0.
2026-07-21 13:47:52 +08:00
..
2026-07-21 12:05:43 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-21 02:43:57 +08:00
2026-07-21 10:41:32 +08:00
2026-07-21 12:05:43 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-21 12:05:43 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-21 13:47:10 +08:00
2026-07-21 02:43:57 +08:00
2026-07-17 23:12:35 +08:00
2026-07-21 12:05:43 +08:00
2026-07-17 23:12:35 +08:00
2026-07-20 21:43:03 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-21 10:41:32 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-21 01:00:47 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-20 17:31:48 +08:00
2026-07-20 17:30:43 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-20 19:40:23 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-20 18:10:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-20 19:40:23 +08:00
2026-07-20 19:05:03 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-21 12:05:43 +08:00
2026-07-20 19:05:03 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-21 12:05:43 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-20 23:53:03 +08:00
2026-07-17 23:12:35 +08:00
2026-07-21 13:47:52 +08:00
2026-07-20 23:51:24 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-21 02:43:57 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-21 12:05:43 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-20 18:10:35 +08:00
2026-07-20 22:05:03 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-20 19:05:03 +08:00
2026-07-20 17:30:43 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-21 12:05:43 +08:00
2026-07-17 23:12:35 +08:00
2026-07-20 18:10:35 +08:00
2026-07-21 02:43:57 +08:00
2026-07-20 19:05:03 +08:00
2026-07-17 23:12:35 +08:00
2026-07-17 23:12:35 +08:00
2026-07-21 13:47:10 +08:00
2026-07-20 08:48:08 +08:00
2026-07-17 23:12:35 +08:00