知微
9f44715b61
feat: add watchlist auto-reassessment to per_stock_reassess
...
- Add scan_watchlist_stocks() function that scans watchlist_stocks table
- Deviation formula: max(|price-entry_low|,|price-entry_high|)/entry_low*100 > 20%
- Calls technical_analysis.full_analysis() to get latest support/resistance
- Updates entry_low/entry_high/stop_loss/price/analysis_json in DB
- Records changelog in analysis_json with old/new values
- Limits to 3 stocks per run, logs remaining=N for overflow
- Scans watchlist AFTER decisions scan in main() (no changes to decisions logic)
2026-07-07 11:48:45 +08:00
..
2026-07-06 14:01:54 +08:00
2026-07-06 14:01:54 +08:00
2026-07-01 00:02:56 +08:00
2026-07-06 14:01:54 +08:00
2026-07-04 09:30:50 +08:00
2026-07-04 09:30:50 +08:00
2026-07-06 14:01:54 +08:00
2026-07-04 09:30:50 +08:00
2026-07-06 12:02:11 +08:00
2026-07-03 13:44:10 +08:00
2026-07-06 14:01:54 +08:00
2026-07-01 23:07:24 +08:00
2026-07-03 13:44:10 +08:00
2026-07-03 12:12:05 +08:00
2026-07-06 12:02:11 +08:00
2026-07-06 14:01:54 +08:00
2026-07-03 12:12:05 +08:00
2026-07-03 13:44:10 +08:00
2026-07-03 23:29:37 +08:00
2026-07-06 14:01:54 +08:00
2026-07-07 11:29:56 +08:00
2026-07-06 14:01:54 +08:00
2026-07-06 14:01:54 +08:00
2026-07-06 14:01:54 +08:00
2026-07-04 09:30:50 +08:00
2026-07-03 10:12:21 +08:00
2026-07-04 09:30:50 +08:00
2026-07-03 12:12:05 +08:00
2026-07-03 13:44:10 +08:00
2026-07-01 23:00:28 +08:00
2026-07-03 12:41:20 +08:00
2026-07-03 12:12:05 +08:00
2026-07-03 23:15:18 +08:00
2026-07-03 23:15:18 +08:00
2026-07-03 12:12:05 +08:00
2026-07-06 14:01:54 +08:00
2026-07-06 12:02:11 +08:00
2026-07-03 13:24:10 +08:00
2026-07-06 12:02:11 +08:00
2026-07-04 09:30:50 +08:00
2026-07-06 14:01:54 +08:00
2026-07-01 23:00:28 +08:00
2026-07-06 14:01:54 +08:00
2026-07-03 12:12:05 +08:00
2026-07-04 09:30:50 +08:00
2026-07-06 14:01:54 +08:00
2026-07-03 12:12:05 +08:00
2026-07-04 09:30:50 +08:00
2026-07-02 13:46:53 +08:00
2026-07-01 23:00:28 +08:00
2026-07-06 14:01:54 +08:00
2026-07-06 14:01:54 +08:00
2026-07-06 14:01:54 +08:00
2026-06-27 01:37:18 +08:00
2026-06-24 00:15:33 +08:00
2026-07-06 14:01:54 +08:00
2026-07-06 14:01:54 +08:00
2026-07-06 14:01:54 +08:00
2026-07-06 14:01:54 +08:00
2026-07-07 10:37:05 +08:00
2026-07-06 14:01:54 +08:00
2026-07-06 14:01:54 +08:00
2026-07-06 14:01:54 +08:00
2026-07-07 11:05:21 +08:00
2026-07-06 14:01:54 +08:00
2026-07-06 14:01:54 +08:00
2026-07-06 14:01:54 +08:00
2026-07-01 00:02:56 +08:00
2026-06-27 02:31:18 +08:00
2026-07-06 14:01:54 +08:00
2026-06-30 02:56:35 +08:00
2026-07-07 11:48:45 +08:00
2026-07-03 12:12:05 +08:00
2026-07-06 14:01:54 +08:00
2026-07-06 14:01:54 +08:00
2026-07-06 14:01:54 +08:00
2026-07-07 10:31:50 +08:00
2026-07-06 14:01:54 +08:00
2026-07-04 09:30:50 +08:00
2026-07-04 09:30:50 +08:00
2026-07-03 13:44:10 +08:00
2026-07-06 14:01:54 +08:00
2026-07-06 14:01:54 +08:00
2026-07-03 12:12:05 +08:00
2026-07-03 23:29:37 +08:00
2026-07-04 09:45:27 +08:00
2026-06-24 21:50:15 +08:00
2026-07-06 14:01:54 +08:00
2026-07-06 14:01:54 +08:00
2026-07-07 11:20:28 +08:00
2026-07-06 12:02:11 +08:00
2026-07-06 14:01:54 +08:00
2026-07-02 13:46:53 +08:00
2026-06-29 23:25:54 +08:00
2026-07-06 14:01:54 +08:00
2026-07-06 14:01:54 +08:00
2026-07-06 14:01:54 +08:00
2026-07-06 14:01:54 +08:00
2026-07-04 09:30:50 +08:00
2026-07-07 11:20:04 +08:00
2026-07-06 14:01:54 +08:00
2026-07-05 01:41:10 +08:00
2026-07-06 14:01:54 +08:00
2026-07-07 11:20:04 +08:00
2026-07-06 14:01:54 +08:00
2026-07-07 09:20:49 +08:00
2026-07-06 14:01:54 +08:00
2026-07-03 13:44:10 +08:00
2026-07-03 13:44:10 +08:00
2026-07-03 13:44:10 +08:00
2026-07-06 14:01:54 +08:00
2026-07-06 14:01:54 +08:00
2026-07-03 12:12:05 +08:00
2026-07-03 13:44:10 +08:00
2026-07-07 11:27:56 +08:00
2026-07-06 12:02:11 +08:00
2026-07-06 14:01:54 +08:00
2026-07-01 23:00:28 +08:00
2026-07-06 14:01:54 +08:00
2026-07-04 09:30:50 +08:00
2026-07-02 01:43:33 +08:00