diff --git a/data/candidate_pool.json b/data/candidate_pool.json index 4a3bcca9..88d56173 100644 --- a/data/candidate_pool.json +++ b/data/candidate_pool.json @@ -1,6 +1,6 @@ { - "last_updated": "2026-07-08 15:41", - "total_candidates": 34, + "last_updated": "2026-07-09 10:32", + "total_candidates": 35, "sectors_analyzed_today": [ "半导体", "金属新材料", @@ -1352,18 +1352,18 @@ "code": "002371", "name": "北方华创", "sector": "半导体", - "xiaoguo_score": 8.0, - "xiaoguo_reason": "平台型半导体设备龙头,覆盖刻蚀/沉积/清洗等全环节,业绩确定性高。板块资金净流入主力承接标的,估值处于历史中低位区间。", + "xiaoguo_score": 8, + "xiaoguo_reason": "半导体设备平台型龙头,订单饱满且国产替代核心受益者,技术面处于箱体震荡下沿,具备较高安全边际与弹性。", "xiaoguo_strategy": { - "entry_range": "295-305元", - "stop_loss": "282元", - "target": "340-355元" + "entry_range": "280-290元", + "stop_loss": "265元", + "target": "330-350元" }, - "verified_price": 795.78, - "verified_change": -0.97, + "verified_price": 826.0, + "verified_change": 2.95, "added_at": "2026-07-07 12:12", - "last_updated": "2026-07-07 13:19", - "num_observations": 2, + "last_updated": "2026-07-09 10:07", + "num_observations": 3, "score_history": [ { "date": "2026-07-07 12:12", @@ -1372,6 +1372,10 @@ { "date": "2026-07-07 13:19", "score": 8.0 + }, + { + "date": "2026-07-09 10:07", + "score": 8 } ], "zhiwei_star": null, @@ -1388,18 +1392,18 @@ "code": "688012", "name": "中微公司", "sector": "半导体", - "xiaoguo_score": 8.5, - "xiaoguo_reason": "刻蚀设备国产替代核心标的,订单饱满,AI/HBM扩产直接受益。技术面回踩关键支撑位获资金承接,机构持仓集中。", + "xiaoguo_score": 7.5, + "xiaoguo_reason": "刻蚀设备全球竞争力强,受益晶圆厂扩产与先进制程突破,短期随板块回调至支撑位,风险收益比合理。", "xiaoguo_strategy": { - "entry_range": "175-182元", - "stop_loss": "168元", - "target": "205-215元" + "entry_range": "180-185元", + "stop_loss": "170元", + "target": "210-220元" }, - "verified_price": 414.06, - "verified_change": -1.41, + "verified_price": 438.5, + "verified_change": 3.66, "added_at": "2026-07-07 12:12", - "last_updated": "2026-07-07 13:19", - "num_observations": 2, + "last_updated": "2026-07-09 10:07", + "num_observations": 3, "score_history": [ { "date": "2026-07-07 12:12", @@ -1408,6 +1412,10 @@ { "date": "2026-07-07 13:19", "score": 8.5 + }, + { + "date": "2026-07-09 10:07", + "score": 7.5 } ], "zhiwei_star": null, @@ -1579,6 +1587,38 @@ "drop_reason": null, "trend_warning": false, "trend_note": "" + }, + { + "code": "603986", + "name": "兆易创新", + "sector": "半导体", + "xiaoguo_score": 7, + "xiaoguo_reason": "存储与MCU双轮驱动,消费电子复苏与车规需求拉动业绩拐点,技术面缩量企稳,适合波段操作。", + "xiaoguo_strategy": { + "entry_range": "75-80元", + "stop_loss": "70元", + "target": "95-100元" + }, + "verified_price": 642.95, + "verified_change": 6.6, + "added_at": "2026-07-09 10:07", + "last_updated": "2026-07-09 10:07", + "num_observations": 1, + "score_history": [ + { + "date": "2026-07-09 10:07", + "score": 7 + } + ], + "zhiwei_star": null, + "zhiwei_reviewed": false, + "zhiwei_reviewed_at": null, + "promoted": false, + "promoted_at": null, + "dropped": false, + "drop_reason": null, + "trend_warning": false, + "trend_note": "" } ] } \ No newline at end of file diff --git a/data/mofin.db-shm b/data/mofin.db-shm new file mode 100644 index 00000000..5b28b44d Binary files /dev/null and b/data/mofin.db-shm differ diff --git a/data/mofin.db-wal b/data/mofin.db-wal new file mode 100644 index 00000000..4e47ccd8 Binary files /dev/null and b/data/mofin.db-wal differ diff --git a/data/price_events.json b/data/price_events.json index 3aeebc4f..3f32a053 100644 --- a/data/price_events.json +++ b/data/price_events.json @@ -29,6 +29,2566 @@ "event_label": "止盈区间", "timestamp": "2026-07-08T18:54:16.531662", "date": "2026-07-08" + }, + { + "code": "000518", + "name": "四环生物", + "event_type": "entry_zone", + "price": 3.82, + "trigger_value": "0.0~3.93", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:00:55.605592", + "date": "2026-07-09" + }, + { + "code": "002371", + "name": "北方华创", + "event_type": "entry_zone", + "price": 802.32, + "trigger_value": "786.27~806.98", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:01:03.115873", + "date": "2026-07-09" + }, + { + "code": "002371", + "name": "北方华创", + "event_type": "entry_zone", + "price": 802.32, + "trigger_value": "0.0~862.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:01:05.307141", + "date": "2026-07-09" + }, + { + "code": "00981", + "name": "中芯国际", + "event_type": "entry_zone", + "price": 75.8, + "trigger_value": "75.12~78.18", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:01:05.712728", + "date": "2026-07-09" + }, + { + "code": "01888", + "name": "建滔积层板", + "event_type": "entry_zone", + "price": 66.75, + "trigger_value": "66.54~69.26", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:01:09.513051", + "date": "2026-07-09" + }, + { + "code": "01888", + "name": "建滔积层板", + "event_type": "entry_zone", + "price": 66.75, + "trigger_value": "0.0~80.37", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:01:10.490786", + "date": "2026-07-09" + }, + { + "code": "301308", + "name": "江波龙", + "event_type": "entry_zone", + "price": 592.71, + "trigger_value": "580.86~604.56", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:01:10.984621", + "date": "2026-07-09" + }, + { + "code": "301308", + "name": "江波龙", + "event_type": "entry_zone", + "price": 592.71, + "trigger_value": "0.0~741.03", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:01:12.717524", + "date": "2026-07-09" + }, + { + "code": "601101", + "name": "昊华能源", + "event_type": "entry_zone", + "price": 12.23, + "trigger_value": "11.99~12.39", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:01:13.164089", + "date": "2026-07-09" + }, + { + "code": "601101", + "name": "昊华能源", + "event_type": "entry_zone", + "price": 12.23, + "trigger_value": "0.0~13.35", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:01:14.272001", + "date": "2026-07-09" + }, + { + "code": "603501", + "name": "豪威集团", + "event_type": "entry_zone", + "price": 100.95, + "trigger_value": "98.93~101.27", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:01:14.744662", + "date": "2026-07-09" + }, + { + "code": "603501", + "name": "豪威集团", + "event_type": "entry_zone", + "price": 100.95, + "trigger_value": "0.0~106.95", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:01:15.246256", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.81, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:04:52.175970", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.81, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:05:05.744863", + "date": "2026-07-09" + }, + { + "code": "000949", + "name": "新乡化纤", + "event_type": "entry_zone", + "price": 5.61, + "trigger_value": "5.5~5.66", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:05:12.993696", + "date": "2026-07-09" + }, + { + "code": "000949", + "name": "新乡化纤", + "event_type": "entry_zone", + "price": 5.61, + "trigger_value": "0.0~5.99", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:05:25.812656", + "date": "2026-07-09" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 825.0, + "trigger_value": "808.5~841.5", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:05:31.594970", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 29.1, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:05:42.754384", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 46.02, + "trigger_value": "45.1~46.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:05:53.082863", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 46.02, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:05:58.783802", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 343.0, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:06:10.739813", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 343.0, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:06:16.452592", + "date": "2026-07-09" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 473.26, + "trigger_value": "463.79~482.73", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:06:16.985095", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.81, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:08:57.885459", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.81, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:09:08.373211", + "date": "2026-07-09" + }, + { + "code": "000949", + "name": "新乡化纤", + "event_type": "entry_zone", + "price": 5.61, + "trigger_value": "5.5~5.66", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:09:14.072704", + "date": "2026-07-09" + }, + { + "code": "000949", + "name": "新乡化纤", + "event_type": "entry_zone", + "price": 5.61, + "trigger_value": "0.0~5.99", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:09:24.742558", + "date": "2026-07-09" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 825.0, + "trigger_value": "808.5~841.5", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:09:31.080290", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 29.1, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:09:43.746059", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 46.02, + "trigger_value": "45.1~46.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:09:55.753004", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 46.02, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:10:06.343548", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 343.0, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:10:13.986874", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 343.0, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:10:25.036038", + "date": "2026-07-09" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 473.26, + "trigger_value": "463.79~482.73", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:10:32.136707", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.81, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:11:09.489324", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.81, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:11:18.611818", + "date": "2026-07-09" + }, + { + "code": "000949", + "name": "新乡化纤", + "event_type": "entry_zone", + "price": 5.61, + "trigger_value": "5.5~5.66", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:11:21.443519", + "date": "2026-07-09" + }, + { + "code": "000949", + "name": "新乡化纤", + "event_type": "entry_zone", + "price": 5.61, + "trigger_value": "0.0~5.99", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:11:31.096143", + "date": "2026-07-09" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 825.0, + "trigger_value": "808.5~841.5", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:11:35.628519", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 29.1, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:11:41.078741", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 46.02, + "trigger_value": "45.1~46.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:11:44.470426", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 46.02, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:11:50.133532", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 343.0, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:11:51.364608", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 343.0, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:11:56.832508", + "date": "2026-07-09" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 473.26, + "trigger_value": "463.79~482.73", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:12:01.724854", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.81, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:14:17.490121", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.81, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:14:29.966990", + "date": "2026-07-09" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 825.0, + "trigger_value": "808.5~841.5", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:14:34.831096", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 29.1, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:14:49.102963", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 46.02, + "trigger_value": "45.1~46.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:14:58.836418", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 46.02, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:15:13.809328", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 343.0, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:15:20.426499", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 343.0, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:15:31.366054", + "date": "2026-07-09" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 473.26, + "trigger_value": "463.79~482.73", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:15:38.604696", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.82, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:18:27.838946", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.82, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:18:29.089216", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 45.5, + "trigger_value": "45.1~46.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:18:33.951903", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 45.5, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:18:43.700297", + "date": "2026-07-09" + }, + { + "code": "601101", + "name": "昊华能源", + "event_type": "stop_loss", + "price": 11.01, + "trigger_value": "11.75", + "event_label": "", + "timestamp": "2026-07-09T09:18:45.127153", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 340.0, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:18:51.579770", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 340.0, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:18:55.942056", + "date": "2026-07-09" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 470.51, + "trigger_value": "463.79~482.73", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:18:57.338607", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.82, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:20:38.521597", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.82, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:20:41.409761", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 45.5, + "trigger_value": "45.1~46.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:20:44.171273", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 45.5, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:20:49.450191", + "date": "2026-07-09" + }, + { + "code": "601101", + "name": "昊华能源", + "event_type": "stop_loss", + "price": 11.01, + "trigger_value": "11.75", + "event_label": "", + "timestamp": "2026-07-09T09:20:49.791701", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 340.61, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:20:51.551029", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 340.61, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:20:54.143179", + "date": "2026-07-09" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 475.0, + "trigger_value": "463.79~482.73", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:20:58.507861", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.78, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:24:38.873130", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.78, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:24:44.640340", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 28.0, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:24:47.254621", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 45.5, + "trigger_value": "45.1~46.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:25:02.572277", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 45.5, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:25:15.052999", + "date": "2026-07-09" + }, + { + "code": "601101", + "name": "昊华能源", + "event_type": "stop_loss", + "price": 11.01, + "trigger_value": "11.75", + "event_label": "", + "timestamp": "2026-07-09T09:25:16.942814", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 341.0, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:25:22.090893", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 341.0, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:25:35.147309", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.78, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:28:47.567507", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.78, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:28:50.811281", + "date": "2026-07-09" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 840.01, + "trigger_value": "808.5~841.5", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:28:54.905591", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 27.0, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:28:55.552073", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 45.5, + "trigger_value": "45.1~46.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:29:03.475128", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 45.5, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:29:06.744637", + "date": "2026-07-09" + }, + { + "code": "601101", + "name": "昊华能源", + "event_type": "stop_loss", + "price": 11.46, + "trigger_value": "11.75", + "event_label": "", + "timestamp": "2026-07-09T09:29:13.559391", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 346.21, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:29:18.457443", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 346.21, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:29:27.611575", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.77, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:31:03.480763", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.77, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:31:05.344327", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 27.11, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:31:13.732845", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 45.83, + "trigger_value": "45.1~46.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:31:20.124961", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 45.83, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:31:22.297023", + "date": "2026-07-09" + }, + { + "code": "601101", + "name": "昊华能源", + "event_type": "stop_loss", + "price": 11.71, + "trigger_value": "11.75", + "event_label": "", + "timestamp": "2026-07-09T09:31:22.975681", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 346.56, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:31:26.712056", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 346.56, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:32:04.241144", + "date": "2026-07-09" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 481.01, + "trigger_value": "463.79~482.73", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:32:25.928385", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.77, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:34:17.672257", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.77, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:34:30.724553", + "date": "2026-07-09" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 839.22, + "trigger_value": "808.5~841.5", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:34:38.559794", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 27.62, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:34:55.114928", + "date": "2026-07-09" + }, + { + "code": "300548", + "name": "长芯博创", + "event_type": "entry_zone", + "price": 219.46, + "trigger_value": "0.0~219.98", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:35:15.503601", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 45.53, + "trigger_value": "45.1~46.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:35:30.129011", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 45.53, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:35:59.220691", + "date": "2026-07-09" + }, + { + "code": "601101", + "name": "昊华能源", + "event_type": "stop_loss", + "price": 11.65, + "trigger_value": "11.75", + "event_label": "", + "timestamp": "2026-07-09T09:36:09.484916", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.78, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:38:22.947665", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.78, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:38:24.824747", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 27.92, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:38:25.571405", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 45.91, + "trigger_value": "45.1~46.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:38:26.300221", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 45.91, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:38:26.994908", + "date": "2026-07-09" + }, + { + "code": "601101", + "name": "昊华能源", + "event_type": "stop_loss", + "price": 11.41, + "trigger_value": "11.75", + "event_label": "", + "timestamp": "2026-07-09T09:38:31.197408", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 345.16, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:38:34.161990", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 345.16, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:38:34.961418", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.81, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:40:39.315916", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.81, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:40:51.990939", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 28.46, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:40:59.890813", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 45.85, + "trigger_value": "45.1~46.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:41:17.621982", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 45.85, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:41:21.426521", + "date": "2026-07-09" + }, + { + "code": "601101", + "name": "昊华能源", + "event_type": "stop_loss", + "price": 11.37, + "trigger_value": "11.75", + "event_label": "", + "timestamp": "2026-07-09T09:41:32.763982", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 342.74, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:41:45.583407", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 342.74, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:42:03.572660", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.82, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:44:50.123056", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.82, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:45:07.269377", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 28.01, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:45:21.182012", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 45.67, + "trigger_value": "45.1~46.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:45:37.884243", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 45.67, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:45:56.822597", + "date": "2026-07-09" + }, + { + "code": "601101", + "name": "昊华能源", + "event_type": "stop_loss", + "price": 11.27, + "trigger_value": "11.75", + "event_label": "", + "timestamp": "2026-07-09T09:46:15.815431", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 345.2, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:46:28.978801", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.81, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:49:05.611027", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.81, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:49:15.872194", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 28.01, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:49:24.784600", + "date": "2026-07-09" + }, + { + "code": "300548", + "name": "长芯博创", + "event_type": "entry_zone", + "price": 217.87, + "trigger_value": "0.0~219.98", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:49:33.577015", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 44.78, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:49:43.318269", + "date": "2026-07-09" + }, + { + "code": "601101", + "name": "昊华能源", + "event_type": "stop_loss", + "price": 11.6, + "trigger_value": "11.75", + "event_label": "", + "timestamp": "2026-07-09T09:49:51.666599", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 342.2, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:50:00.242555", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 342.2, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:50:01.941240", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.82, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:52:10.578662", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.82, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:52:22.595619", + "date": "2026-07-09" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 835.01, + "trigger_value": "808.5~841.5", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:52:29.614023", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 27.89, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:52:39.277255", + "date": "2026-07-09" + }, + { + "code": "300548", + "name": "长芯博创", + "event_type": "entry_zone", + "price": 217.88, + "trigger_value": "0.0~219.98", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:52:56.073442", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 44.32, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:53:06.333827", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "stop_loss", + "price": 44.32, + "trigger_value": "44.64", + "event_label": "", + "timestamp": "2026-07-09T09:53:18.188423", + "date": "2026-07-09" + }, + { + "code": "601101", + "name": "昊华能源", + "event_type": "stop_loss", + "price": 11.75, + "trigger_value": "11.75", + "event_label": "", + "timestamp": "2026-07-09T09:53:23.210330", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 342.66, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:53:31.722217", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 342.66, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:53:33.240948", + "date": "2026-07-09" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 481.0, + "trigger_value": "463.79~482.73", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:53:33.769639", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.85, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:56:22.996518", + "date": "2026-07-09" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 824.91, + "trigger_value": "808.5~841.5", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:56:38.063074", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 27.65, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:56:52.939680", + "date": "2026-07-09" + }, + { + "code": "300548", + "name": "长芯博创", + "event_type": "entry_zone", + "price": 215.69, + "trigger_value": "0.0~219.98", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:57:05.718162", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 44.17, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:57:20.554435", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "stop_loss", + "price": 44.17, + "trigger_value": "44.64", + "event_label": "", + "timestamp": "2026-07-09T09:57:32.377638", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 339.61, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:57:39.898102", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 339.61, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T09:57:57.635353", + "date": "2026-07-09" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 475.16, + "trigger_value": "463.79~482.73", + "event_label": "加仓区间", + "timestamp": "2026-07-09T09:58:06.342720", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.83, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:00:52.927215", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.83, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:01:15.386370", + "date": "2026-07-09" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 816.3, + "trigger_value": "808.5~841.5", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:01:16.074205", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 27.9, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:01:20.101691", + "date": "2026-07-09" + }, + { + "code": "300548", + "name": "长芯博创", + "event_type": "entry_zone", + "price": 216.12, + "trigger_value": "0.0~219.98", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:01:20.820422", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 44.09, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:01:27.583873", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "stop_loss", + "price": 44.09, + "trigger_value": "44.64", + "event_label": "", + "timestamp": "2026-07-09T10:01:31.088779", + "date": "2026-07-09" + }, + { + "code": "601101", + "name": "昊华能源", + "event_type": "stop_loss", + "price": 11.71, + "trigger_value": "11.75", + "event_label": "", + "timestamp": "2026-07-09T10:01:31.996068", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 338.5, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:01:32.585905", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 338.5, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:01:41.841652", + "date": "2026-07-09" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 476.99, + "trigger_value": "463.79~482.73", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:01:44.399691", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.81, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:05:03.784745", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.81, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:05:16.406884", + "date": "2026-07-09" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 824.1, + "trigger_value": "808.5~841.5", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:05:25.373319", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 27.96, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:05:39.796203", + "date": "2026-07-09" + }, + { + "code": "300548", + "name": "长芯博创", + "event_type": "entry_zone", + "price": 216.89, + "trigger_value": "0.0~219.98", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:05:49.150118", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 43.96, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:06:00.666323", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "stop_loss", + "price": 43.96, + "trigger_value": "44.64", + "event_label": "", + "timestamp": "2026-07-09T10:06:10.552201", + "date": "2026-07-09" + }, + { + "code": "601101", + "name": "昊华能源", + "event_type": "stop_loss", + "price": 11.67, + "trigger_value": "11.75", + "event_label": "", + "timestamp": "2026-07-09T10:06:19.939636", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 340.84, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:06:31.948733", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 340.84, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:06:45.726820", + "date": "2026-07-09" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 477.0, + "trigger_value": "463.79~482.73", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:06:51.889215", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.79, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:08:12.610647", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.79, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:08:27.529679", + "date": "2026-07-09" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 824.47, + "trigger_value": "808.5~841.5", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:08:34.671522", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 28.1, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:08:44.157025", + "date": "2026-07-09" + }, + { + "code": "300548", + "name": "长芯博创", + "event_type": "entry_zone", + "price": 216.6, + "trigger_value": "0.0~219.98", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:08:56.647514", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 43.61, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:09:13.647791", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "stop_loss", + "price": 43.61, + "trigger_value": "44.64", + "event_label": "", + "timestamp": "2026-07-09T10:09:25.911999", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 341.98, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:09:32.065547", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 341.98, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:09:43.048814", + "date": "2026-07-09" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 475.88, + "trigger_value": "463.79~482.73", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:09:49.520024", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.8, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:10:25.695268", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.8, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:10:39.261357", + "date": "2026-07-09" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 825.02, + "trigger_value": "808.5~841.5", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:10:42.515024", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 28.1, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:10:50.958463", + "date": "2026-07-09" + }, + { + "code": "300548", + "name": "长芯博创", + "event_type": "entry_zone", + "price": 216.04, + "trigger_value": "0.0~219.98", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:10:51.561167", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 42.61, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:10:52.160357", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "stop_loss", + "price": 42.61, + "trigger_value": "44.64", + "event_label": "", + "timestamp": "2026-07-09T10:11:02.679938", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 343.01, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:11:03.265533", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 343.01, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:11:11.091616", + "date": "2026-07-09" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 478.73, + "trigger_value": "463.79~482.73", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:11:15.472872", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.8, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:14:26.300252", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.8, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:14:27.658848", + "date": "2026-07-09" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 822.01, + "trigger_value": "808.5~841.5", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:14:28.211345", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 28.19, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:14:30.657928", + "date": "2026-07-09" + }, + { + "code": "300548", + "name": "长芯博创", + "event_type": "entry_zone", + "price": 215.97, + "trigger_value": "0.0~219.98", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:14:41.981182", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 43.11, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:14:42.883884", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "stop_loss", + "price": 43.11, + "trigger_value": "44.64", + "event_label": "", + "timestamp": "2026-07-09T10:14:45.282890", + "date": "2026-07-09" + }, + { + "code": "601101", + "name": "昊华能源", + "event_type": "stop_loss", + "price": 11.54, + "trigger_value": "11.75", + "event_label": "", + "timestamp": "2026-07-09T10:14:48.898868", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 345.5, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:14:53.274285", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 345.5, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:14:58.463649", + "date": "2026-07-09" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 480.98, + "trigger_value": "463.79~482.73", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:15:00.525215", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.79, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:18:39.067175", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.79, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:18:42.316216", + "date": "2026-07-09" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 821.0, + "trigger_value": "808.5~841.5", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:18:43.520993", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 28.16, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:18:50.251490", + "date": "2026-07-09" + }, + { + "code": "300548", + "name": "长芯博创", + "event_type": "entry_zone", + "price": 216.15, + "trigger_value": "0.0~219.98", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:18:51.110450", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 43.48, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:18:52.706934", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "stop_loss", + "price": 43.48, + "trigger_value": "44.64", + "event_label": "", + "timestamp": "2026-07-09T10:19:05.292601", + "date": "2026-07-09" + }, + { + "code": "601101", + "name": "昊华能源", + "event_type": "stop_loss", + "price": 11.48, + "trigger_value": "11.75", + "event_label": "", + "timestamp": "2026-07-09T10:19:08.399171", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 344.99, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:19:10.041025", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 344.99, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:19:13.765964", + "date": "2026-07-09" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 475.16, + "trigger_value": "463.79~482.73", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:19:21.682502", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.77, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:22:59.284209", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.77, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:23:17.551179", + "date": "2026-07-09" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 820.01, + "trigger_value": "808.5~841.5", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:23:27.461374", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 28.22, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:23:37.822393", + "date": "2026-07-09" + }, + { + "code": "300548", + "name": "长芯博创", + "event_type": "entry_zone", + "price": 217.74, + "trigger_value": "0.0~219.98", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:23:39.126933", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 43.05, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:23:51.494563", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "stop_loss", + "price": 43.05, + "trigger_value": "44.64", + "event_label": "", + "timestamp": "2026-07-09T10:23:56.368672", + "date": "2026-07-09" + }, + { + "code": "601101", + "name": "昊华能源", + "event_type": "stop_loss", + "price": 11.38, + "trigger_value": "11.75", + "event_label": "", + "timestamp": "2026-07-09T10:23:57.436867", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 347.5, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:24:05.247666", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 347.5, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:24:06.279264", + "date": "2026-07-09" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 473.61, + "trigger_value": "463.79~482.73", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:24:07.120927", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.76, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:24:36.660062", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.76, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:24:43.372004", + "date": "2026-07-09" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 819.34, + "trigger_value": "808.5~841.5", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:24:44.093501", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 28.07, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:24:57.432756", + "date": "2026-07-09" + }, + { + "code": "300548", + "name": "长芯博创", + "event_type": "entry_zone", + "price": 217.78, + "trigger_value": "0.0~219.98", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:25:02.235305", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.74, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:27:11.487921", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.74, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:27:27.191967", + "date": "2026-07-09" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 817.01, + "trigger_value": "808.5~841.5", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:27:32.096435", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 28.11, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:27:40.512215", + "date": "2026-07-09" + }, + { + "code": "300548", + "name": "长芯博创", + "event_type": "entry_zone", + "price": 218.56, + "trigger_value": "0.0~219.98", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:27:52.686668", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 42.61, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:27:54.425965", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "stop_loss", + "price": 42.61, + "trigger_value": "44.64", + "event_label": "", + "timestamp": "2026-07-09T10:27:58.029613", + "date": "2026-07-09" + }, + { + "code": "601101", + "name": "昊华能源", + "event_type": "stop_loss", + "price": 11.46, + "trigger_value": "11.75", + "event_label": "", + "timestamp": "2026-07-09T10:28:04.409582", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 349.3, + "trigger_value": "336.14~349.81", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:28:16.254772", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 349.3, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:28:35.060009", + "date": "2026-07-09" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 469.92, + "trigger_value": "463.79~482.73", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:28:43.484125", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.74, + "trigger_value": "3.73~3.84", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:30:56.603490", + "date": "2026-07-09" + }, + { + "code": "000850", + "name": "华茂股份", + "event_type": "entry_zone", + "price": 3.74, + "trigger_value": "0.0~4.04", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:31:11.375711", + "date": "2026-07-09" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 816.5, + "trigger_value": "808.5~841.5", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:31:13.093586", + "date": "2026-07-09" + }, + { + "code": "002396", + "name": "星网锐捷", + "event_type": "entry_zone", + "price": 27.95, + "trigger_value": "0.0~30.69", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:31:16.065030", + "date": "2026-07-09" + }, + { + "code": "300548", + "name": "长芯博创", + "event_type": "entry_zone", + "price": 217.05, + "trigger_value": "0.0~219.98", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:31:17.697100", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "entry_zone", + "price": 42.77, + "trigger_value": "0.0~50.13", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:31:33.894413", + "date": "2026-07-09" + }, + { + "code": "600111", + "name": "北方稀土", + "event_type": "stop_loss", + "price": 42.77, + "trigger_value": "44.64", + "event_label": "", + "timestamp": "2026-07-09T10:31:37.648775", + "date": "2026-07-09" + }, + { + "code": "601101", + "name": "昊华能源", + "event_type": "stop_loss", + "price": 11.4, + "trigger_value": "11.75", + "event_label": "", + "timestamp": "2026-07-09T10:31:45.963397", + "date": "2026-07-09" + }, + { + "code": "688041", + "name": "海光信息", + "event_type": "entry_zone", + "price": 351.31, + "trigger_value": "0.0~375.46", + "event_label": "止盈区间", + "timestamp": "2026-07-09T10:31:50.663663", + "date": "2026-07-09" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 473.85, + "trigger_value": "463.79~482.73", + "event_label": "加仓区间", + "timestamp": "2026-07-09T10:31:57.651960", + "date": "2026-07-09" } ] } \ No newline at end of file diff --git a/data/price_history.json b/data/price_history.json index d9e42086..8d12c228 100644 --- a/data/price_history.json +++ b/data/price_history.json @@ -1,962 +1,112 @@ { - "01888": [ - { - "date": "2026-07-02", - "high": 90.1, - "low": 79.85, - "close": 86.2 - }, - { - "date": "2026-07-07", - "high": 74.75, - "low": 67.1, - "close": 68.85 - }, - { - "date": "2026-07-08", - "high": 74.5, - "low": 67.65, - "close": 67.9, - "volume": 66360886.0, - "amount": 4699974338.55 - } - ], - "01478": [ - { - "date": "2026-07-02", - "high": 7.08, - "low": 6.76, - "close": 6.97 - }, - { - "date": "2026-07-08", - "high": 6.94, - "low": 6.5, - "close": 6.83, - "volume": 6589000.0, - "amount": 44625949.0 - } - ], - "600519": [ - { - "date": "2026-07-02", - "high": 1215.52, - "low": 1190.51, - "close": 1203.0 - }, - { - "date": "2026-07-03", - "high": 1215.52, - "low": 1185.0, - "close": 1194.45 - }, - { - "date": "2026-07-06", - "high": 1215.0, - "low": 1180.0, - "close": 1206.91 - }, - { - "date": "2026-07-07", - "high": 1215.0, - "low": 1180.0, - "close": 1188.8 - }, - { - "date": "2026-07-08", - "high": 1202.0, - "low": 1177.0, - "close": 1199.3, - "volume": 25776.0, - "amount": 307193.0 - } - ], - "02202": [ - { - "date": "2026-07-02", - "high": 2.27, - "low": 2.18, - "close": 2.23 - }, - { - "date": "2026-07-08", - "high": 2.29, - "low": 2.19, - "close": 2.27, - "volume": 16038100.0, - "amount": 36020668.5 - } - ], - "02318": [ - { - "date": "2026-07-02", - "high": 53.0, - "low": 51.7, - "close": 52.3 - }, - { - "date": "2026-07-03", - "high": 53.0, - "low": 51.7, - "close": 52.45 - }, - { - "date": "2026-07-07", - "high": 53.05, - "low": 52.0, - "close": 52.25 - }, - { - "date": "2026-07-08", - "high": 54.2, - "low": 52.0, - "close": 53.95 - } - ], - "601318": [ - { - "date": "2026-07-02", - "high": 50.2, - "low": 48.8, - "close": 48.92 - }, - { - "date": "2026-07-03", - "high": 50.2, - "low": 48.31, - "close": 49.09 - }, - { - "date": "2026-07-06", - "high": 49.96, - "low": 48.81, - "close": 49.38 - }, - { - "date": "2026-07-07", - "high": 50.22, - "low": 48.81, - "close": 49.29 - }, - { - "date": "2026-07-08", - "high": 50.22, - "low": 48.96, - "close": 49.54, - "volume": 540995.0, - "amount": 267859.0 - } - ], - "02359": [ - { - "date": "2026-07-02", - "high": 158.7, - "low": 151.1, - "close": 152.8 - }, - { - "date": "2026-07-03", - "high": 158.7, - "low": 151.1, - "close": 152.5 - }, - { - "date": "2026-07-07", - "high": 155.5, - "low": 149.2, - "close": 150.3 - }, - { - "date": "2026-07-08", - "high": 155.5, - "low": 144.8, - "close": 145.2 - } - ], - "02388": [ - { - "date": "2026-07-02", - "high": 42.98, - "low": 41.94, - "close": 42.3 - }, - { - "date": "2026-07-03", - "high": 42.98, - "low": 41.94, - "close": 42.68 - }, - { - "date": "2026-07-07", - "high": 43.28, - "low": 42.62, - "close": 43.1 - }, - { - "date": "2026-07-08", - "high": 45.3, - "low": 42.62, - "close": 45.2 - } - ], - "02628": [ - { - "date": "2026-07-02", - "high": 28.74, - "low": 27.5, - "close": 28.08 - }, - { - "date": "2026-07-03", - "high": 29.08, - "low": 27.5, - "close": 28.64 - }, - { - "date": "2026-07-07", - "high": 29.22, - "low": 28.04, - "close": 28.28 - }, - { - "date": "2026-07-08", - "high": 29.22, - "low": 28.04, - "close": 28.76 - } - ], - "688630": [ - { - "date": "2026-07-02", - "high": 499.95, - "low": 464.8, - "close": 468.0 - }, - { - "date": "2026-07-03", - "high": 502.0, - "low": 444.55, - "close": 480.32 - }, - { - "date": "2026-07-06", - "high": 499.0, - "low": 448.0, - "close": 476.72 - }, - { - "date": "2026-07-07", - "high": 499.0, - "low": 448.0, - "close": 462.23 - }, - { - "date": "2026-07-08", - "high": 494.81, - "low": 451.06, - "close": 473.26, - "volume": 5061122.0, - "amount": 240616.0 - } - ], - "06160": [ - { - "date": "2026-07-02", - "high": 176.8, - "low": 171.9, - "close": 174.7 - }, - { - "date": "2026-07-03", - "high": 183.9, - "low": 171.9, - "close": 182.9 - }, - { - "date": "2026-07-07", - "high": 190.0, - "low": 183.0, - "close": 183.8 - }, - { - "date": "2026-07-08", - "high": 190.0, - "low": 181.9, - "close": 182.6 - } - ], - "06869": [ - { - "date": "2026-07-02", - "high": 229.2, - "low": 207.4, - "close": 208.6 - }, - { - "date": "2026-07-07", - "high": 170.2, - "low": 151.9, - "close": 156.5 - }, - { - "date": "2026-07-08", - "high": 162.4, - "low": 148.6, - "close": 153.9, - "volume": 30169576.0, - "amount": 4675722058.0 - } - ], - "688795": [ - { - "date": "2026-07-02", - "high": 687.04, - "low": 639.4, - "close": 641.59 - }, - { - "date": "2026-07-03", - "high": 687.04, - "low": 633.01, - "close": 643.81 - }, - { - "date": "2026-07-06", - "high": 649.88, - "low": 615.0, - "close": 649.01 - }, - { - "date": "2026-07-07", - "high": 699.0, - "low": 615.0, - "close": 663.2 - }, - { - "date": "2026-07-08", - "high": 699.0, - "low": 629.0, - "close": 666.0, - "volume": 2417134.0, - "amount": 160890.0 - } - ], - "09868": [ - { - "date": "2026-07-02", - "high": 53.7, - "low": 50.95, - "close": 51.8 - }, - { - "date": "2026-07-03", - "high": 53.7, - "low": 49.3, - "close": 50.9 - }, - { - "date": "2026-07-07", - "high": 54.05, - "low": 52.05, - "close": 52.2 - }, - { - "date": "2026-07-08", - "high": 54.05, - "low": 50.95, - "close": 52.9 - } - ], - "09988": [ - { - "date": "2026-07-02", - "high": 97.4, - "low": 93.55, - "close": 94.5 - }, - { - "date": "2026-07-03", - "high": 97.4, - "low": 93.55, - "close": 95.15 - }, - { - "date": "2026-07-07", - "high": 100.5, - "low": 95.3, - "close": 95.55 - }, - { - "date": "2026-07-08", - "high": 105.0, - "low": 95.3, - "close": 103.8 - } - ], - "688802": [ - { - "date": "2026-07-02", - "high": 784.0, - "low": 721.0, - "close": 724.13 - }, - { - "date": "2026-07-03", - "high": 757.88, - "low": 713.0, - "close": 738.38 - }, - { - "date": "2026-07-06", - "high": 745.0, - "low": 690.11, - "close": 743.0 - }, - { - "date": "2026-07-07", - "high": 876.0, - "low": 690.11, - "close": 833.99 - }, - { - "date": "2026-07-08", - "high": 876.0, - "low": 723.0, - "close": 840.08, - "volume": 2586035.0, - "amount": 216333.0 - } - ], - "300124": [ - { - "date": "2026-07-02", - "high": 71.79, - "low": 67.31, - "close": 68.4 - }, - { - "date": "2026-07-03", - "high": 74.63, - "low": 67.31, - "close": 72.15 - }, - { - "date": "2026-07-06", - "high": 71.94, - "low": 68.2, - "close": 68.33 - }, - { - "date": "2026-07-07", - "high": 71.94, - "low": 65.73, - "close": 66.05 - }, - { - "date": "2026-07-08", - "high": 69.79, - "low": 63.15, - "close": 63.2, - "volume": 394793.0, - "amount": 252387.0 - } - ], - "000657": [ - { - "date": "2026-07-02", - "high": 101.5, - "low": 90.68, - "close": 97.03 - }, - { - "date": "2026-07-03", - "high": 101.5, - "low": 87.88, - "close": 89.63 - }, - { - "date": "2026-07-06", - "high": 90.58, - "low": 80.46, - "close": 80.46 - }, - { - "date": "2026-07-07", - "high": 90.58, - "low": 75.41, - "close": 76.84 - }, - { - "date": "2026-07-08", - "high": 80.8, - "low": 72.98, - "close": 73.95, - "volume": 611139.0, - "amount": 460609.0 - } - ], - "000711": [ - { - "date": "2026-07-02", - "high": 5.01, - "low": 4.87, - "close": 5.01 - }, - { - "date": "2026-07-03", - "high": 5.26, - "low": 4.87, - "close": 5.26 - }, - { - "date": "2026-07-06", - "high": 5.65, - "low": 5.0, - "close": 5.01 - }, - { - "date": "2026-07-07", - "high": 5.65, - "low": 4.92, - "close": 5.42 - }, - { - "date": "2026-07-08", - "high": 5.84, - "low": 4.92, - "close": 5.69, - "volume": 1239419.0, - "amount": 68853.0 - } - ], - "001309": [ - { - "date": "2026-07-02", - "high": 872.83, - "low": 806.0, - "close": 811.0 - }, - { - "date": "2026-07-03", - "high": 892.1, - "low": 795.0, - "close": 881.91 - }, - { - "date": "2026-07-06", - "high": 954.19, - "low": 860.0, - "close": 935.0 - }, - { - "date": "2026-07-07", - "high": 954.19, - "low": 845.28, - "close": 851.0 - }, - { - "date": "2026-07-08", - "high": 900.0, - "low": 790.0, - "close": 825.0, - "volume": 139865.0, - "amount": 1159183.0 - } - ], - "002594": [ - { - "date": "2026-07-02", - "high": 85.67, - "low": 81.9, - "close": 83.57 - }, - { - "date": "2026-07-03", - "high": 88.88, - "low": 81.9, - "close": 88.47 - }, - { - "date": "2026-07-06", - "high": 88.95, - "low": 86.61, - "close": 87.54 - }, - { - "date": "2026-07-07", - "high": 88.95, - "low": 85.87, - "close": 86.26 - }, - { - "date": "2026-07-08", - "high": 88.81, - "low": 85.28, - "close": 87.8, - "volume": 403809.0, - "amount": 352747.0 - } - ], - "00700": [ - { - "date": "2026-07-02", - "high": 447.0, - "low": 436.0, - "close": 438.2 - }, - { - "date": "2026-07-08", - "high": 482.8, - "low": 460.6, - "close": 474.0, - "volume": 48311618.0, - "amount": 22973933078.706 - } - ], - "00968": [ - { - "date": "2026-07-02", - "high": 2.15, - "low": 2.03, - "close": 2.07 - }, - { - "date": "2026-07-03", - "high": 2.15, - "low": 2.03, - "close": 2.1 - }, - { - "date": "2026-07-07", - "high": 2.1, - "low": 2.0, - "close": 2.01 - }, - { - "date": "2026-07-08", - "high": 2.1, - "low": 1.95, - "close": 2.0 - } - ], - "00981": [ - { - "date": "2026-07-02", - "high": 84.2, - "low": 80.2, - "close": 81.55 - }, - { - "date": "2026-07-08", - "high": 79.5, - "low": 72.55, - "close": 76.7, - "volume": 132499991.0, - "amount": 10172561899.8 - } - ], - "01070": [ - { - "date": "2026-07-02", - "high": 13.19, - "low": 12.63, - "close": 12.83 - }, - { - "date": "2026-07-03", - "high": 13.39, - "low": 12.63, - "close": 13.36 - }, - { - "date": "2026-07-07", - "high": 15.18, - "low": 14.23, - "close": 14.45 - }, - { - "date": "2026-07-08", - "high": 15.18, - "low": 14.23, - "close": 14.79 - } - ], - "01088": [ - { - "date": "2026-07-02", - "high": 40.4, - "low": 39.16, - "close": 39.4 - }, - { - "date": "2026-07-08", - "high": 41.54, - "low": 40.56, - "close": 41.42, - "volume": 15926810.0, - "amount": 656749661.1 - } - ], - "01211": [ - { - "date": "2026-07-02", - "high": 79.6, - "low": 74.95, - "close": 78.7 - }, - { - "date": "2026-07-08", - "high": 86.4, - "low": 82.95, - "close": 85.6, - "volume": 20564892.0, - "amount": 1752456432.31 - } - ], - "301308": [ - { - "date": "2026-07-03", - "high": 646.85, - "low": 574.1, - "close": 618.02 - }, - { - "date": "2026-07-06", - "high": 710.0, - "low": 659.16, - "close": 681.8 - }, - { - "date": "2026-07-07", - "high": 710.0, - "low": 619.9, - "close": 627.9 - }, - { - "date": "2026-07-08", - "high": 647.78, - "low": 584.67, - "close": 592.71, - "volume": 167016.0, - "amount": 1015473.0 - } - ], - "000700": [ - { - "date": "2026-07-06", - "high": 17.18, - "low": 16.3, - "close": 16.75 - }, - { - "date": "2026-07-07", - "high": 17.38, - "low": 16.04, - "close": 16.11 - }, - { - "date": "2026-07-08", - "high": 16.06, - "low": 14.6, - "close": 14.6, - "volume": 658608.0, - "amount": 99601.0 + "002396": [ + { + "date": "2026-07-09", + "high": 28.59, + "low": 26.45, + "close": 27.94, + "volume": 781435.0, + "amount": 217305.0 } ], "300548": [ { - "date": "2026-07-06", - "high": 225.0, - "low": 205.0, - "close": 214.13 - }, - { - "date": "2026-07-07", - "high": 225.0, - "low": 204.1, - "close": 211.03 - }, - { - "date": "2026-07-08", - "high": 226.5, - "low": 208.95, - "close": 220.99, - "volume": 161796.0, - "amount": 355266.0 + "date": "2026-07-09", + "high": 227.76, + "low": 214.32, + "close": 216.93, + "volume": 58263.0, + "amount": 127706.0 } ], "000850": [ { - "date": "2026-07-07", - "high": 3.95, - "low": 3.75, - "close": 3.81 - }, - { - "date": "2026-07-08", - "high": 3.95, - "low": 3.72, - "close": 3.81, - "volume": 91374.0, - "amount": 3486.0 + "date": "2026-07-09", + "high": 3.86, + "low": 3.74, + "close": 3.74, + "volume": 35062.0, + "amount": 1330.0 } ], - "603501": [ + "001309": [ { - "date": "2026-07-08", - "high": 103.48, - "low": 97.01, - "close": 100.95, - "volume": 341509.0, - "amount": 343291.0 + "date": "2026-07-09", + "high": 849.99, + "low": 810.0, + "close": 816.5, + "volume": 63185.0, + "amount": 526538.0 } ], - "688041": [ + "600111": [ { - "date": "2026-07-08", - "high": 359.04, - "low": 342.01, - "close": 343.0, - "volume": 30295791.0, - "amount": 1058883.0 - } - ], - "002371": [ - { - "date": "2026-07-08", - "high": 830.02, - "low": 768.0, - "close": 802.32, - "volume": 148075.0, - "amount": 1184089.0 - } - ], - "000001": [ - { - "date": "2026-07-08", - "high": 10.59, - "low": 10.34, - "close": 10.6 - } - ], - "688981": [ - { - "date": "2026-07-08", - "high": 156.98, - "low": 142.6, - "close": 152.1, - "volume": 100025303.0, - "amount": 1509149.0 - } - ], - "688411": [ - { - "date": "2026-07-08", - "high": 265.99, - "low": 243.85, - "close": 244.0, - "volume": 4302498.0, - "amount": 108210.0 - } - ], - "688639": [ - { - "date": "2026-07-08", - "high": 16.85, - "low": 16.23, - "close": 16.42, - "volume": 3484292.0, - "amount": 5760.0 - } - ], - "300308": [ - { - "date": "2026-07-08", - "high": 1179.3, - "low": 1114.56, - "close": 1128.35, - "volume": 317328.0, - "amount": 3632345.0 - } - ], - "000518": [ - { - "date": "2026-07-08", - "high": 3.85, - "low": 3.51, - "close": 3.82, - "volume": 1048040.0, - "amount": 38702.0 - } - ], - "000949": [ - { - "date": "2026-07-08", - "high": 5.64, - "low": 5.38, - "close": 5.61, - "volume": 631605.0, - "amount": 34797.0 - } - ], - "300035": [ - { - "date": "2026-07-08", - "high": 13.7, - "low": 13.27, - "close": 13.37, - "volume": 126925.0, - "amount": 17046.0 - } - ], - "300750": [ - { - "date": "2026-07-08", - "high": 376.68, - "low": 361.0, - "close": 361.0, - "volume": 270519.0, - "amount": 990274.0 - } - ], - "518880": [ - { - "date": "2026-07-08", - "high": 8.605, - "low": 8.53, - "close": 8.589, - "volume": 2410682.0, - "amount": 206807.0 - } - ], - "600563": [ - { - "date": "2026-07-08", - "high": 151.37, - "low": 140.36, - "close": 140.84, - "volume": 91508.0, - "amount": 132883.0 + "date": "2026-07-09", + "high": 45.98, + "low": 42.43, + "close": 42.75, + "volume": 687127.0, + "amount": 302373.0 } ], "601101": [ { - "date": "2026-07-08", - "high": 12.87, - "low": 11.83, - "close": 12.23, - "volume": 448232.0, - "amount": 55232.0 + "date": "2026-07-09", + "high": 11.96, + "low": 11.22, + "close": 11.38, + "volume": 224925.0, + "amount": 25945.0 } ], - "601899": [ + "688041": [ { - "date": "2026-07-08", - "high": 28.03, - "low": 26.8, - "close": 27.36, - "volume": 1969818.0, - "amount": 541986.0 + "date": "2026-07-09", + "high": 352.0, + "low": 335.5, + "close": 351.22, + "volume": 14810250.0, + "amount": 509677.0 + } + ], + "688630": [ + { + "date": "2026-07-09", + "high": 496.88, + "low": 468.88, + "close": 473.99, + "volume": 2250136.0, + "amount": 108827.0 + } + ], + "000700": [ + { + "date": "2026-07-09", + "high": 15.75, + "low": 14.89, + "close": 15.15, + "volume": 320319.0, + "amount": 49035.0 + } + ], + "002371": [ + { + "date": "2026-07-09", + "high": 838.0, + "low": 815.0, + "close": 829.96, + "volume": 59320.0, + "amount": 490300.0 + } + ], + "00981": [ + { + "date": "2026-07-09", + "high": 80.3, + "low": 76.65, + "close": 80.25, + "volume": 44619590.0, + "amount": 3504189620.8 } ] } \ No newline at end of file diff --git a/data/stocks/00700.json b/data/stocks/00700.json index 11bf7c91..3d4eb018 100644 --- a/data/stocks/00700.json +++ b/data/stocks/00700.json @@ -151,6 +151,11 @@ "content": "博创科技(300548) 214.13 在买入区✅ | 模塑科技(000700) 16.75 在买入区✅ | 贵州茅台(600519) 1206.91 在买入区✅ | 比亚迪A(002594) 87.", "report_id": "cron_99c06255590a_2026-07-07_08-43-59" }, + { + "time": "2026-07-09T08:55:03.395979", + "content": "**腾讯(00700)** 现价¥478.80 | 仓位未计 | 持有盈利+8.0%", + "report_id": "cron_99c06255590a_2026-07-09_08-38-59" + }, { "time": "2026-06-02T11:55:44.093905", "content": "❌ 反例:腾讯00700,底仓100股(3.59%),浮盈+4.79%。看到\"距止盈470仅0.77%\"就建议触及减仓清仓 —— 机械执行,未考虑底仓属性+浮盈幅度。", diff --git a/data/stocks/01088.json b/data/stocks/01088.json index 2e8ab08b..3bb3fc9f 100644 --- a/data/stocks/01088.json +++ b/data/stocks/01088.json @@ -46,6 +46,11 @@ "content": "长芯博创(300548) @281.99 +21.83% 放量走强持有,止损261.71;辽宁成大(600739) @10.09 -17.88% 弱撑10.0待企稳;海博思创(688411) @281", "report_id": "cron_99c06255590a_2026-06-19_08-32-54" }, + { + "time": "2026-07-09T08:55:03.395979", + "content": "- **中国神华(01088)** ¥41.42 — 入区¥40.59-41.81,+2.17%反弹,持有", + "report_id": "cron_99c06255590a_2026-07-09_08-38-59" + }, { "time": "2026-06-01T13:55:12.662353", "content": "**🟢中国神华(01088) | 47.200 +4.70%⚠️** → 煤炭护盘走强,关注45~47低吸区间,建议仓位5%", diff --git a/data/stocks/01211.json b/data/stocks/01211.json index 843aa702..2455bc30 100644 --- a/data/stocks/01211.json +++ b/data/stocks/01211.json @@ -56,6 +56,11 @@ "content": "长飞光纤光缆(06869) 255.40+6.68%放量大涨,持有等站上成本263.72;腾讯(00700) 429.80+2.28%,买入区435-440依然可加;中芯H(00981) 89.40+", "report_id": "cron_99c06255590a_2026-07-01_08-39-42" }, + { + "time": "2026-07-09T08:55:03.395979", + "content": "- **比亚迪(01211)** ¥85.85 — 入区¥83.79-87.21内,+2.88%回暖,持有", + "report_id": "cron_99c06255590a_2026-07-09_08-38-59" + }, { "time": "2026-06-12T08:55:34.669098", "content": "港股:比亚迪H 01211(6.05%)-2.13%成本95.9浮亏-12.1%策略区间内;万科02202(6.02%)+1.15%策略区间内;中银香港02388(5.46%)+1.12%浮盈+6.9", diff --git a/data/stocks/01478.json b/data/stocks/01478.json index 4f5807a7..7e1d023a 100644 --- a/data/stocks/01478.json +++ b/data/stocks/01478.json @@ -71,6 +71,11 @@ "content": "**丘钛科技(01478)** — 现价6.86 | 成本13.47深度套牢-49%,止损6.18仅10%空间。手机链受韩国科技股崩盘情绪拖累,破6.5必须执行止损。", "report_id": "cron_99c06255590a_2026-07-02_08-32-48" }, + { + "time": "2026-07-09T08:55:03.395979", + "content": "- **丘钛科技(01478)** ¥6.92 — 已触及T/P¥7.34附近,+6.13%强势,考虑止盈半仓", + "report_id": "cron_99c06255590a_2026-07-09_08-38-59" + }, { "time": "2026-06-02T12:55:54.834592", "content": "| 丘钛科技(01478) | 10.12 | -1.17% | 9.19% | 深套持有,止损9.0 |", diff --git a/data/stocks/02202.json b/data/stocks/02202.json index 7a32cf32..ef806a0f 100644 --- a/data/stocks/02202.json +++ b/data/stocks/02202.json @@ -66,6 +66,11 @@ "content": "**① 万科企业(02202) ⚠️ 触及止损边缘**", "report_id": "cron_99c06255590a_2026-07-08_08-39-49" }, + { + "time": "2026-07-09T08:55:03.395979", + "content": "- **万科企业(02202)** ¥2.27 — 触及入区上沿,+2.25%反弹,地产无强催化,持有不动", + "report_id": "cron_99c06255590a_2026-07-09_08-38-59" + }, { "time": "2026-06-02T12:55:54.834592", "content": "| 万科企业(02202) | 2.76 | -0.72% | 3.39% | 深套持有,止损2.5 |", diff --git a/data/stocks/300035.json b/data/stocks/300035.json index 8795f527..c843aeea 100644 --- a/data/stocks/300035.json +++ b/data/stocks/300035.json @@ -61,6 +61,11 @@ "content": "**② 中科电气(300035) ⚠️ 触及止损边缘**", "report_id": "cron_99c06255590a_2026-07-08_08-39-49" }, + { + "time": "2026-07-09T08:55:03.395979", + "content": "- **中科电气(300035)** ¥13.37 — 入区¥12.03-14.04内,-2.34%稳定,持有", + "report_id": "cron_99c06255590a_2026-07-09_08-38-59" + }, { "time": "2026-06-02T12:55:54.834592", "content": "| 中科电气(300035) | 16.44 | -2.66% | 1.77% | 深套持有,止损15.0 |", diff --git a/data/stocks/518880.json b/data/stocks/518880.json index 171b853a..e4026377 100644 --- a/data/stocks/518880.json +++ b/data/stocks/518880.json @@ -61,6 +61,11 @@ "content": "长飞光纤光缆(06869) 255.40+6.68%放量大涨,持有等站上成本263.72;腾讯(00700) 429.80+2.28%,买入区435-440依然可加;中芯H(00981) 89.40+", "report_id": "cron_99c06255590a_2026-07-01_08-39-42" }, + { + "time": "2026-07-09T08:55:03.395979", + "content": "- **黄金ETF(518880)** ¥8.59 — 接近T/P¥8.64,中东冲突利好金价,持有待冲高", + "report_id": "cron_99c06255590a_2026-07-09_08-38-59" + }, { "time": "2026-06-02T12:55:54.834592", "content": "| 黄金ETF(518880) | 9.323 | -0.22% | 2.14% | 深套持有,止损9.0 |", diff --git a/data/stocks/600563.json b/data/stocks/600563.json index 0fd38426..00b2fc2a 100644 --- a/data/stocks/600563.json +++ b/data/stocks/600563.json @@ -91,6 +91,11 @@ "content": "长飞光纤光缆(06869) 255.40+6.68%放量大涨,持有等站上成本263.72;腾讯(00700) 429.80+2.28%,买入区435-440依然可加;中芯H(00981) 89.40+", "report_id": "cron_99c06255590a_2026-07-01_08-39-42" }, + { + "time": "2026-07-09T08:55:03.395979", + "content": "- **法拉电子(600563)** ¥140.84 — 入区¥137.01-143.86,-6.40%偏弱,接近止损¥135.42", + "report_id": "cron_99c06255590a_2026-07-09_08-38-59" + }, { "time": "2026-06-02T12:55:54.834592", "content": "| 法拉电子(600563) | 159.76 | +3.47% | 3.0% | 持有,止损153止盈170 |", diff --git a/data/stocks/688981.json b/data/stocks/688981.json index 53d82840..2a3234a5 100644 --- a/data/stocks/688981.json +++ b/data/stocks/688981.json @@ -51,6 +51,11 @@ "content": "③ **中芯国际(688981/00981)** 现价144.1/80.4 | 仓位合计9.64% | 双市场止损均破", "report_id": "cron_99c06255590a_2026-07-03_08-33-17" }, + { + "time": "2026-07-09T08:55:03.395979", + "content": "**中芯国际A(688981)** 现价¥152.10 | 仓位5.44% | 持有盈利+20.7%", + "report_id": "cron_99c06255590a_2026-07-09_08-38-59" + }, { "time": "2026-06-01T11:55:35.956320", "content": "• **688981|中芯国际|134.87|-3.60%|建议观望等企稳【短线】|前几日大涨后获利回吐,关注134支撑**", diff --git a/data/strategy_staleness_report.json b/data/strategy_staleness_report.json index 28958b1f..516d28ef 100644 --- a/data/strategy_staleness_report.json +++ b/data/strategy_staleness_report.json @@ -1,14 +1,381 @@ { - "checked_at": "2026-07-08T09:00:59", - "total_active": 0, - "flagged_count": 0, - "flagged": [], + "checked_at": "2026-07-09T09:00:42", + "total_active": 37, + "flagged_count": 24, + "flagged": [ + { + "code": "000657", + "name": "中钨高新", + "price": 73.95, + "flags": [ + "现价73.95在买入区72~75(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-09 08:55:21", + "entry_zone": "72~75", + "current": "盈利持有 | 缩量 | 目标84.52 | 止损71.69 | 买入区72.47~75.43", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "000850", + "name": "华茂股份", + "price": 3.81, + "flags": [ + "现价3.81在买入区4~4(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-09 08:55:21", + "entry_zone": "4~4", + "current": "盈利持有 | 量价齐升(建仓特征) | 近5日增量涨价=建仓型 | 目标4.04 | 止损3.7 | 买入区3.73~3.84", + "updated_by": "manual_analysis_v4", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "000949", + "name": "新乡化纤", + "price": 5.61, + "flags": [ + "[STRATEGY_STALE] 信号不良(timing_signal含['弱势持有'])", + "现价5.61在买入区6~6(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-08 21:17:08", + "entry_zone": "6~6", + "current": "盈利持有 | 放量下跌⚠️ | 近5日增量跌价=⚠️出货型 | 目标5.99 | 止损5.44 | 买入区5.5~5.66 | 信号:弱势持有", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "001309", + "name": "德明利", + "price": 825.0, + "flags": [ + "现价825.00在买入区808~842(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-09 08:55:21", + "entry_zone": "808~842", + "current": "盈利持有 | 正常 | 目标936.1 | 止损786.59 | 买入区808.5~841.5", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "002371", + "name": "北方华创", + "price": 802.32, + "flags": [ + "现价802.32在买入区786~807(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-09 08:55:21", + "entry_zone": "786~807", + "current": "盈利持有 | ⚠️盈亏比偏低(1:1.9),谨慎买入 | 正常 | 目标862.13 | 止损770.21 | 买入区786.27~806.98 | 信号:买入", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "002594", + "name": "比亚迪", + "price": 87.8, + "flags": [ + "现价87.80在买入区86~89(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-09 08:55:21", + "entry_zone": "86~89", + "current": "盈利持有 | 正常 | 目标94.19 | 止损85.17 | 买入区86.04~88.78 | 信号:买入", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "00700", + "name": "腾讯控股", + "price": 474.8, + "flags": [ + "现价474.80在买入区465~484(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-09 08:55:21", + "entry_zone": "465~484", + "current": "盈利持有 | 正常 | 目标519.27 | 止损460.56 | 买入区465.3~484.04", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "01088", + "name": "中国神华", + "price": 41.42, + "flags": [ + "[STRATEGY_STALE] 信号不良(timing_signal含['弱势持有'])", + "现价41.42在买入区41~42(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-09 08:55:21", + "entry_zone": "41~42", + "current": "盈利持有 | 正常 | 目标44.49 | 止损40.03 | 买入区40.59~41.81 | 信号:弱势持有", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "01211", + "name": "比亚迪股份", + "price": 85.5, + "flags": [ + "现价85.50在买入区84~87(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-09 08:55:21", + "entry_zone": "84~87", + "current": "盈利持有 | 量价齐升(建仓特征) | 近5日增量涨价=建仓型 | 目标96.43 | 止损81.1 | 买入区83.79~87.21 | 信号:买入", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "02202", + "name": "万科企业", + "price": 2.27, + "flags": [ + "[STRATEGY_STALE] 信号不良(timing_signal含['弱势持有'])", + "现价2.27在买入区2~2(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-09 08:55:21", + "entry_zone": "2~2", + "current": "盈利持有 | ⚠️盈亏比偏低(1:1.6),谨慎买入 | 量价背离 | 近5日减量涨价=⬆量价背离 | 目标2.43 | 止损2.17 | 买入区2.22~2.27 | 信号:弱势持有", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "300124", + "name": "汇川技术", + "price": 63.2, + "flags": [ + "现价63.20在买入区62~64(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-09 08:55:21", + "entry_zone": "62~64", + "current": "盈利持有 | 放量下跌⚠️ | 近5日增量跌价=⚠️出货型 | 目标75.61 | 止损61.3 | 买入区61.94~64.46 | 信号:关注", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "300308", + "name": "中际旭创", + "price": 1128.35, + "flags": [ + "现价1128.35在买入区1106~1139(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-09 08:55:21", + "entry_zone": "1106~1139", + "current": "盈利持有 | 正常 | 目标1205.48 | 止损1094.5 | 买入区1105.78~1138.89", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "301308", + "name": "江波龙", + "price": 592.71, + "flags": [ + "现价592.71在买入区581~605(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-08 15:02:12", + "entry_zone": "581~605", + "current": "盈利持有 | 正常 | 目标741.03 | 止损572.25 | 买入区580.86~604.56", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "600519", + "name": "贵州茅台", + "price": 1199.3, + "flags": [ + "[STRATEGY_STALE] 信号不良(timing_signal含['弱势持有'])", + "现价1199.30在买入区1175~1204(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-09 08:55:21", + "entry_zone": "1175~1204", + "current": "盈利持有 | ⚠️盈亏比偏低(1:1.8),谨慎买入 | 正常 | 目标1265.1 | 止损1163.32 | 买入区1175.31~1204.03 | 信号:弱势持有", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "601101", + "name": "昊华能源", + "price": 12.23, + "flags": [ + "现价12.23在买入区12~12(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-08 15:02:12", + "entry_zone": "12~12", + "current": "盈利持有 | 目标13.35 | 止损11.75 | 买入区11.99~12.39", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "601318", + "name": "中国平安", + "price": 49.54, + "flags": [ + "现价49.54远低于买入区95~99,买入区需下移" + ], + "age_days": 0, + "last_update": "2026-07-09 08:55:21", + "entry_zone": "95~99", + "current": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 量价背离 | 近5日减量涨价=⬆量价背离 | 目标51.96 | 止损参考0.0 | 买入区0.0~0.0 | 信号:弱势持有", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "603501", + "name": "豪威集团", + "price": 100.95, + "flags": [ + "现价100.95在买入区99~101(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-08 15:02:12", + "entry_zone": "99~101", + "current": "盈利持有 | ⚠️盈亏比偏低(1:1.7),谨慎买入 | 正常 | 目标106.95 | 止损97.48 | 买入区98.93~101.27 | 信号:买入", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "688041", + "name": "海光信息", + "price": 343.0, + "flags": [ + "现价343.00在买入区336~350(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-08 15:32:16", + "entry_zone": "336~350", + "current": "盈利持有 | 正常 | 目标375.46 | 止损332.71 | 买入区336.14~349.81 | 信号:关注", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "688411", + "name": "海博思创", + "price": 244.0, + "flags": [ + "现价244.00在买入区239~249(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-09 08:55:21", + "entry_zone": "239~249", + "current": "盈利持有 | 正常 | 目标273.42 | 止损236.57 | 买入区239.12~248.88", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "688630", + "name": "芯碁微装", + "price": 473.26, + "flags": [ + "现价473.26在买入区464~483(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-09 08:55:21", + "entry_zone": "464~483", + "current": "盈利持有 | 正常 | 目标530.49 | 止损451.28 | 买入区463.79~482.73", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "688639", + "name": "华恒生物", + "price": 16.42, + "flags": [ + "现价16.42在买入区16~16(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-09 08:55:21", + "entry_zone": "16~16", + "current": "盈利持有 | ⚠️盈亏比偏低(1:1.8),谨慎买入 | 缩量 | 目标17.32 | 止损15.93 | 买入区16.09~16.49 | 信号:关注", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "688795", + "name": "摩尔线程-U", + "price": 666.0, + "flags": [ + "现价666.00在买入区653~679(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-09 08:55:21", + "entry_zone": "653~679", + "current": "盈利持有 | 正常 | 目标748.0 | 止损646.0 | 买入区652.68~679.32", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "688802", + "name": "沐曦股份-U", + "price": 840.08, + "flags": [ + "现价840.08在买入区830~851(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-09 08:55:21", + "entry_zone": "830~851", + "current": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 正常 | 目标1000.79 | 止损参考0.0 | 买入区0.0~0.0 | 信号:关注", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + }, + { + "code": "688981", + "name": "中芯国际", + "price": 152.1, + "flags": [ + "现价152.10在买入区149~152(是否可买需结合timing_signal判断)" + ], + "age_days": 0, + "last_update": "2026-07-09 08:55:21", + "entry_zone": "149~152", + "current": "盈利持有 | ⚠️盈亏比偏低(1:1.6),谨慎买入 | 正常 | 目标164.94 | 止损144.14 | 买入区149.06~152.46 | 信号:买入", + "updated_by": "auto", + "updated_reason": "自动生成", + "is_watchlist": true + } + ], "portfolio": { - "position_pct": 65.65, + "position_pct": 65.77, "cash": 321271.0, - "weak_position_pct": 0, - "all_weak_pct": 0, - "signals": [] + "weak_position_pct": 81.8, + "all_weak_pct": 45.9, + "signals": [ + "[PORTFOLIO_WEAK] 组合中弱势+深套分类持仓占比81.8%>40%,建议系统性减仓" + ] }, - "summary": "扫描0个策略,0个需关注" + "summary": "扫描37个策略,24个需关注" } \ No newline at end of file diff --git a/scripts/intraday_health_check.py b/scripts/intraday_health_check.py index 95ab56af..cb2ce521 100644 --- a/scripts/intraday_health_check.py +++ b/scripts/intraday_health_check.py @@ -167,7 +167,8 @@ def check_signal_pipeline(): unproc = 0 try: conn = sqlite3.connect(str(DB_PATH)) - r = conn.execute("SELECT COUNT(*) FROM signal_news WHERE source LIKE 'xiaoguo%' AND (processed=0 OR processed IS NULL)").fetchone() + # 只检查时效内的信号堆积(4小时以内),过期信号不被消费者处理但仍会计入堆积 + r = conn.execute("SELECT COUNT(*) FROM signal_news WHERE source LIKE 'xiaoguo%' AND (processed=0 OR processed IS NULL) AND created_at > datetime('now', '-4 hours')").fetchone() unproc = r[0] conn.close() except: diff --git a/scripts/stale_detector.py b/scripts/stale_detector.py index ffa70feb..41f18147 100644 --- a/scripts/stale_detector.py +++ b/scripts/stale_detector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 """stale_detector.py — 检查所有策略,标记价格偏离/过期的策略 -读取 decisions.json 的扁平列表。自选策略和持仓策略分开判断。 +读取 holding_strategies + watchlist_stocks 的DB双源数据。 可被 cron no_agent 模式调用:stdout 注入到后续 LLM 分析。 输出格式: @@ -162,6 +162,49 @@ def main(): except Exception as e: print(f"[AUTO_REASSESS FAIL] {e}") # ----- 结束 自选股重评 ----- + # 🔁 重评后重新从DB读取策略数据,刷新to_check + try: + decisions_list = read_decisions() + if not isinstance(decisions_list, list): + decisions_list = decisions_list.get("decisions", []) if isinstance(decisions_list, dict) else [] + to_check = [d for d in decisions_list if (d.get("entry_low") is not None or d.get("entry_high") is not None) and d.get("status") not in EXCLUDED_STATUSES] + # 重新合并watchlist_stocks + db2 = sqlite3.connect('/home/hmo/MoFin/data/mofin.db') + db2.row_factory = sqlite3.Row + wl_rows2 = db2.execute( + "SELECT code, name, price, entry_low, entry_high, stop_loss, analysis_json " + "FROM watchlist_stocks WHERE is_active=1 AND entry_low IS NOT NULL AND entry_high IS NOT NULL" + ).fetchall() + db2.close() + existing_codes2 = {d["code"] for d in to_check} + for row in wl_rows2: + code = str(row["code"]) + if code in existing_codes2: + continue + entry_low = row["entry_low"] + entry_high = row["entry_high"] + if not entry_low or not entry_high or entry_low <= 0: + continue + analysis = {} + try: + analysis = json.loads(row["analysis_json"]) if row["analysis_json"] and row["analysis_json"] != "null" else {} + except (json.JSONDecodeError, TypeError): + pass + action = analysis.get("action", "") if isinstance(analysis, dict) else "" + timing_signal = analysis.get("timing_signal", "买入") if isinstance(analysis, dict) else "买入" + wl_entry = { + "code": code, + "name": row["name"] or code, + "entry_low": entry_low, + "entry_high": entry_high, + "stop_loss": row["stop_loss"], + "type": "自选策略", + "action": action, + "timing_signal": timing_signal, + } + to_check.append(wl_entry) + except Exception as e: + print(f"[RELOAD FAIL] {e}", file=sys.stderr) # ----- 组合级监测:读取总仓位 + 弱势比例 ----- position_pct = 0 diff --git a/scripts/stale_push_wlin.py b/scripts/stale_push_wlin.py index d64f22cd..8a21b48b 100644 --- a/scripts/stale_push_wlin.py +++ b/scripts/stale_push_wlin.py @@ -806,7 +806,8 @@ def main(): return text, gap # 标准格式:每个可操作标的 — 大盘/行业/个股三面 + 仓位 - lines.append(f"【💡 操作建议】(当前{n}只自选可操作 | 总资产{total_assets:,.0f}元 现金{available_cash:,.0f}元)") + if actionable: + lines.append(f"【💡 操作建议】(当前{len(actionable)}只自选可操作 | 总资产{total_assets:,.0f}元 现金{available_cash:,.0f}元)") for s in actionable: name, code, price, buy_low, buy_high, lot, ratio = s d = code_data.get(code, {}) @@ -935,16 +936,26 @@ def main(): save_cooldown(cooldown) # 修正可操作数量(剔除冷却跳过后的实际数量) - actual_n = len(lines) - (1 if macro_line else 0) - 1 # 减去市场背景 + 操作建议标题 - if actual_n != n: - # 更新操作建议行 - for i, ln in enumerate(lines): - if "【💡 操作建议】" in ln: - lines[i] = f"【💡 操作建议】(当前{actual_n}只自选可操作 | 总资产{total_assets:,.0f}元 现金{available_cash:,.0f}元)" - break + if actionable: + actual_n = sum( + 1 for ln in lines + if ln.startswith(" 🛒") or ln.startswith(" ⚠️") + ) + if actual_n != len(actionable): + for i, ln in enumerate(lines): + if "【💡 操作建议】" in ln: + if actual_n > 0: + lines[i] = f"【💡 操作建议】(当前{actual_n}只自选可操作 | 总资产{total_assets:,.0f}元 现金{available_cash:,.0f}元)" + else: + lines.pop(i) # 全部冷却,移除空标题 + break - if actual_n <= 0: - return 0 # 全部冷却中 → 静默,不推 + # 检查最终是否还有内容要推 + has_actionable = any( + ln.startswith(" 🛒") or ln.startswith(" ⚠️") for ln in lines + ) + if not has_actionable and not zone_notes: + return 0 # 全部冷却+无区间说明 → 静默 # ── T+2前瞻:扫描近期可能入买区的A股,提前准备现金 ── t2_lines = [] @@ -1004,10 +1015,14 @@ def main(): for name, code, price, buy_low, buy_high, reason, sig in zone_notes: lines.append( f" {name}({code}) 价{price:.2f} 区间{buy_low}~{buy_high} " - f"→ 重评结果: {reason}" + f"→ 进入操作区间,但重评结果: {reason}" ) - lines.insert(0, f"【知微】自选买入提醒 {now} | 总资产{total_assets:,.0f}元") + # 标题:有推荐操作→"自选买入提醒",仅有区间说明→"操作区间提醒" + if has_actionable: + lines.insert(0, f"【知微】自选买入提醒 {now} | 总资产{total_assets:,.0f}元") + else: + lines.insert(0, f"【知微】操作区间提醒 {now} | 总资产{total_assets:,.0f}元") out = "\n".join(lines) print(out) push_to_xmpp(out) diff --git a/scripts/system_audit.py b/scripts/system_audit.py index cae99f4b..ddb40a59 100644 --- a/scripts/system_audit.py +++ b/scripts/system_audit.py @@ -41,7 +41,7 @@ def log_ok(area, desc): def audit_signals(conn): try: total = conn.execute("SELECT COUNT(*) FROM signal_news").fetchone()[0] - unproc = conn.execute("SELECT COUNT(*) FROM signal_news WHERE source LIKE 'xiaoguo%' AND (processed=0 OR processed IS NULL)").fetchone()[0] + unproc = conn.execute("SELECT COUNT(*) FROM signal_news WHERE source LIKE 'xiaoguo%' AND (processed=0 OR processed IS NULL) AND created_at > datetime('now', '-4 hours')").fetchone()[0] today = conn.execute("SELECT COUNT(*) FROM signal_news WHERE created_at > datetime('now','-1 day')").fetchone()[0] log_ok("信号管道", f"信号库{total}条,今日{today}条,未处理{unproc}条") if unproc > 30: diff --git a/scripts/xiaoguo_signal_consumer.py b/scripts/xiaoguo_signal_consumer.py index d3a90890..e4961625 100644 --- a/scripts/xiaoguo_signal_consumer.py +++ b/scripts/xiaoguo_signal_consumer.py @@ -17,7 +17,7 @@ from datetime import datetime # 确保 MoFin 根目录在模块搜索路径中(兼容 cron 环境) sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -from mo_data import read_watchlist, get_price +from mo_data import read_watchlist from mofin_db import write_watchlist_stock BASE = Path("/home/hmo/MoFin") @@ -33,7 +33,7 @@ def clean_proxy(): def fetch_quote(code): - """拉行情。DB 优先,腾讯 fallback""" + """拉行情。DB 优先,腾讯 API fallback""" # DB 优先 try: from mofin_db import get_price_from_db @@ -42,11 +42,18 @@ def fetch_quote(code): return {"name":"", "code":code, "price":p, "change_pct":chg or 0} except: pass - # Fallback: mo_data.get_price + # Fallback: 腾讯实时行情 API try: - price, chg = get_price(code) - if price is not None: - return {"name": "", "code": code, "price": price, "change_pct": chg or 0, "pe": 0, "turnover": 0} + url = f"http://qt.gtimg.cn/q={code}" + import urllib.request + resp = urllib.request.urlopen(url, timeout=10).read().decode("gbk") + parts = resp.split("~") + if len(parts) > 32: + name = parts[1] + price = float(parts[3]) if parts[3] else None + chg_pct = float(parts[32]) if parts[32] else 0 + if price: + return {"name": name, "code": code, "price": price, "change_pct": chg_pct, "pe": 0, "turnover": 0} return {"code": code, "error": "取价失败"} except Exception as e: return {"code": code, "error": str(e)[:60]} @@ -186,22 +193,28 @@ def main(): clean_proxy() start = time.time() today = datetime.now().strftime("%Y-%m-%d") - + conn = get_conn() - # 读未处理 xiaoguo 信号(今日) + # 读未处理 xiaoguo 信号(SIGNAL_MAX_AGE_HOURS 以内) rows = conn.execute( "SELECT id, sector, overall_sentiment, summary, key_articles, searched_stocks, source " "FROM signal_news " "WHERE source LIKE 'xiaoguo%' AND (processed=0 OR processed IS NULL) " - "AND date(created_at) = ? " - "ORDER BY created_at DESC LIMIT 20", - (today,) + f"AND created_at > datetime('now', '-{SIGNAL_MAX_AGE_HOURS} hours') " + "ORDER BY created_at DESC LIMIT 20" ).fetchall() if not rows: + # 标记过期信号为已处理(超出时效边界) + old = conn.execute(f"SELECT COUNT(*) FROM signal_news WHERE source LIKE 'xiaoguo%' AND (processed=0 OR processed IS NULL) AND created_at <= datetime('now', '-{SIGNAL_MAX_AGE_HOURS} hours')").fetchone()[0] + if old: + conn.execute(f"UPDATE signal_news SET processed=1 WHERE source LIKE 'xiaoguo%' AND (processed=0 OR processed IS NULL) AND created_at <= datetime('now', '-{SIGNAL_MAX_AGE_HOURS} hours')") + conn.commit() + print(f"[SILENT] 清理 {old} 条过期信号(>{SIGNAL_MAX_AGE_HOURS}h)") + else: + print("[SILENT] 今日无未处理小果信号") conn.close() - print("[SILENT] 今日无未处理小果信号") return # 尝试从 searched_stocks 提取股票代码 diff --git a/static/mofin_health.json b/static/mofin_health.json index 8e416ca9..94513cdc 100644 --- a/static/mofin_health.json +++ b/static/mofin_health.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-07-09 08:46:53", + "generated_at": "2026-07-09 10:30:40", "feature_tree": { "label": "MoFin 系统", "status": "ok", @@ -18,7 +18,7 @@ "script": "market_watch.py", "schedule": "*/10 9-11,13-15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:50", + "last_run": "2026-07-09T10:21", "type": "no_agent", "profile": "position-analyst" } @@ -27,27 +27,7 @@ { "label": "宏观新闻", "status": "ok", - "desc": "采集宏观新闻和财经资讯", - "pipes": [ - { - "name": "宏观采集-早盘", - "script": "macro_context_collector.py", - "schedule": "35 9 * * 1-5", - "status": "ok", - "last_run": "2026-07-08T09:35", - "type": "no_agent", - "profile": "position-analyst" - }, - { - "name": "宏观采集-午间", - "script": "macro_context_collector.py", - "schedule": "0 12 * * 1-5", - "status": "ok", - "last_run": "2026-07-08T12:01", - "type": "no_agent", - "profile": "position-analyst" - } - ] + "desc": "采集宏观新闻和财经资讯" }, { "label": "价格监控", @@ -58,19 +38,10 @@ "name": "价格监控-高频", "script": "price_monitor.py", "schedule": "*/2 9-16 * * 1-5", - "status": "ok", - "last_run": "2026-07-08T22:56", + "status": "error", + "last_run": "2026-07-09T10:29", "type": "no_agent", "profile": "position-analyst" - }, - { - "name": "芯碁微装-价格监控", - "script": "price_monitor.py", - "schedule": "0 10,14 * * 1-5", - "status": "ok", - "last_run": "2026-07-08T14:34", - "type": "LLM", - "profile": "position-analyst" } ] }, @@ -84,7 +55,7 @@ "script": "xiaoguo_scanner.py", "schedule": "*/5 9-15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:56", + "last_run": "2026-07-09T10:27", "type": "no_agent", "profile": "position-analyst" } @@ -100,7 +71,7 @@ "script": "capital_flow_collector.py", "schedule": "1,31 9-15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:31", + "last_run": "2026-07-09T10:01", "type": "no_agent", "profile": "position-analyst" } @@ -116,7 +87,7 @@ "script": "refresh_macro_context.py", "schedule": "*/30 9-15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:30", + "last_run": "2026-07-09T10:01", "type": "no_agent", "profile": "position-analyst" } @@ -130,25 +101,9 @@ { "name": "宏观新闻采集", "script": "macro_context_collector.py", - "schedule": "*/30 8-15 * * 1-5", + "schedule": "*/30 8-16 * * *", "status": "ok", - "last_run": "2026-07-09T08:30", - "type": "no_agent", - "profile": "position-analyst" - } - ] - }, - { - "label": "宏观新闻采集-周末 (macro_context_collector.py)", - "desc": "周末宏观新闻采集", - "status": "ok", - "pipes": [ - { - "name": "宏观新闻采集-周末", - "script": "macro_context_collector.py", - "schedule": "0 8-16/2 * * 0,6", - "status": "ok", - "last_run": "2026-07-05T16:00", + "last_run": "2026-07-09T10:01", "type": "no_agent", "profile": "position-analyst" } @@ -176,7 +131,7 @@ "script": "strategy-staleness-check.py", "schedule": "0 9 * * 1-5", "status": "ok", - "last_run": "2026-07-08T09:10", + "last_run": "2026-07-09T09:10", "type": "LLM", "profile": "position-analyst" } @@ -192,7 +147,7 @@ "script": "per_stock_reassess.py", "schedule": "0 9,12,15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:02", + "last_run": "2026-07-09T10:25", "type": "no_agent", "profile": "position-analyst" }, @@ -201,7 +156,7 @@ "script": "stale_push_wlin.py", "schedule": "1,31 9-15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:33", + "last_run": "2026-07-09T10:01", "type": "no_agent", "profile": "position-analyst" } @@ -251,7 +206,7 @@ "script": "branch_scanner.py", "schedule": "15,30,45,00 9-15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:45", + "last_run": "2026-07-09T10:30", "type": "no_agent", "profile": "position-analyst" } @@ -322,7 +277,7 @@ "script": "generate_report.py intraday_monitor", "schedule": "25,40,55,10 9-11 * * 1-5", "status": "ok", - "last_run": "2026-07-08T12:20", + "last_run": "2026-07-09T10:21", "type": "LLM", "profile": "position-analyst" } @@ -354,7 +309,7 @@ "script": "cron_to_xmpp.py", "schedule": "*/5 9-16 * * 1-5", "status": "ok", - "last_run": "2026-07-08T16:55", + "last_run": "2026-07-09T10:26", "type": "no_agent", "profile": "position-analyst" } @@ -370,7 +325,7 @@ "script": "generate_report.py opening_brief", "schedule": "35 9 * * 1-5", "status": "ok", - "last_run": "2026-07-08T09:43", + "last_run": "2026-07-09T09:50", "type": "LLM", "profile": "position-analyst" } @@ -418,28 +373,12 @@ "script": "system_health_check.py", "schedule": "0 9 * * 1-5", "status": "ok", - "last_run": "2026-07-08T09:32", + "last_run": "2026-07-09T09:46", "type": "LLM", "profile": "position-analyst" } ] }, - { - "label": "多周期缓存刷新-开盘前 (refresh_mtf_cache.py)", - "desc": "开盘前刷新技术指标缓存", - "status": "ok", - "pipes": [ - { - "name": "多周期缓存刷新-开盘前", - "script": "refresh_mtf_cache.py", - "schedule": "0 9 * * 1-5", - "status": "ok", - "last_run": "2026-07-08T09:01", - "type": "no_agent", - "profile": "position-analyst" - } - ] - }, { "label": "MoFin 系统常规体检-开盘前 (morning_health_check.py)", "desc": "开盘前8:00全面系统体检", @@ -459,14 +398,14 @@ { "label": "开盘前钉对钉验证 (preflight_verify.py)", "desc": "开盘前15项验证(脚本同步/DB完整性/资产公式)", - "status": "error", + "status": "ok", "pipes": [ { "name": "开盘前钉对钉验证", "script": "preflight_verify.py", "schedule": "30 8 * * 1-5", - "status": "error", - "last_run": "2026-07-09T08:30", + "status": "ok", + "last_run": "2026-07-09T10:25", "type": "no_agent", "profile": "position-analyst" } @@ -482,7 +421,7 @@ "script": "cron_to_xmpp.py", "schedule": "* 9-16 * * 1-5", "status": "ok", - "last_run": "2026-07-08T16:59", + "last_run": "2026-07-09T10:29", "type": "no_agent", "profile": "default" } @@ -539,7 +478,7 @@ "script": "macro_signal_consumer.py", "schedule": "5,20,35,50 9-15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:50", + "last_run": "2026-07-09T10:20", "type": "no_agent", "profile": "position-analyst" } @@ -553,9 +492,9 @@ { "name": "跨市场背离检测", "script": "divergence_detector.py", - "schedule": "*/30 8-15 * * 1-5", + "schedule": "*/30 8-15 * * *", "status": "ok", - "last_run": "2026-07-09T08:30", + "last_run": "2026-07-09T10:00", "type": "no_agent", "profile": "position-analyst" }, @@ -580,7 +519,7 @@ "script": "xiaoguo_signal_consumer.py", "schedule": "0,15,30,45 9-15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:46", + "last_run": "2026-07-09T10:17", "type": "no_agent", "profile": "position-analyst" } @@ -619,7 +558,7 @@ "script": "cron_health_monitor.py", "schedule": "*/10 9-16 * * 1-5", "status": "ok", - "last_run": "2026-07-08T16:50", + "last_run": "2026-07-09T10:21", "type": "no_agent", "profile": "position-analyst" } @@ -635,7 +574,7 @@ "script": "verify_reassess_pipeline.py", "schedule": "*/30 9-16 * * 1-5", "status": "ok", - "last_run": "2026-07-08T16:30", + "last_run": "2026-07-09T10:30", "type": "no_agent", "profile": "position-analyst" } @@ -651,7 +590,7 @@ "script": "mofin_health.py", "schedule": "*/15 9-16,20-22 * * 1-5", "status": "ok", - "last_run": "2026-07-08T16:45", + "last_run": "2026-07-09T10:16", "type": "no_agent", "profile": "position-analyst" } @@ -683,7 +622,7 @@ "script": "intraday_health_check.py", "schedule": "*/15 9-15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:45", + "last_run": "2026-07-09T10:15", "type": "no_agent", "profile": "position-analyst" } @@ -738,7 +677,7 @@ "script": "self_todo_executor.py", "schedule": "*/10 8-22 * * 1-5", "status": "ok", - "last_run": "2026-07-09T08:40", + "last_run": "2026-07-09T10:30", "type": "no_agent", "profile": "position-analyst" } @@ -754,7 +693,7 @@ "script": "review_needed_watchdog.py", "schedule": "0,30 9-15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:30", + "last_run": "2026-07-09T10:30", "type": "no_agent", "profile": "position-analyst" } @@ -770,7 +709,7 @@ "script": "clean_watchlist.py", "schedule": "5 9 * * 1-5", "status": "ok", - "last_run": "2026-07-08T09:05", + "last_run": "2026-07-09T09:05", "type": "no_agent", "profile": "position-analyst" } @@ -906,7 +845,7 @@ { "name": "多周期缓存刷新-盘中", "script": "refresh_mtf_cache.py", - "schedule": "0 11,14 * * 1-5", + "schedule": "0 9,11,14 * * 1-5", "status": "ok", "last_run": "2026-07-08T14:01", "type": "no_agent", @@ -920,38 +859,6 @@ "label": "未分类", "status": "ok", "children": [ - { - "label": "知识萃取-盘后 (None)", - "desc": "盘后从分析报告中萃取可复用知识", - "status": "ok", - "pipes": [ - { - "name": "知识萃取-盘后", - "script": null, - "schedule": "30 16 * * 1-5", - "status": "ok", - "last_run": "2026-07-01T16:59", - "type": "LLM", - "profile": "position-analyst" - } - ] - }, - { - "label": "区间维护 (None)", - "desc": "每30分钟维护买入区", - "status": "unknown", - "pipes": [ - { - "name": "区间维护", - "script": null, - "schedule": "every 30m", - "status": "unknown", - "last_run": "", - "type": "LLM", - "profile": "position-analyst" - } - ] - }, { "label": "知微洞察生成 (market_insight.py)", "desc": "生成每日市场洞察(15:35)", @@ -994,7 +901,7 @@ "script": "sync_dashboard.py", "schedule": "55 8 * * *", "status": "ok", - "last_run": "2026-07-08T08:55", + "last_run": "2026-07-09T08:55", "type": "no_agent", "profile": "default" } @@ -1057,8 +964,8 @@ "desc": "建议执行时间线", "rows": 12735, "readers": [ - "advice_reconciliation", - "mofin_db" + "mofin_db", + "advice_reconciliation" ], "writers": [ "advice_reconciliation" @@ -1165,8 +1072,8 @@ "mofin_db" ], "writers": [ - "mofin_db", - "mo_data" + "mo_data", + "mofin_db" ], "has_input": true, "has_output": true, @@ -1213,23 +1120,23 @@ { "name": "holding_strategies", "desc": "每只股票的完整策略参数", - "rows": 37, + "rows": 65, "readers": [ - "data_governance", - "mofin_db", - "mo_data", - "strategy_lifecycle", - "mofin_collect", - "run_all_tests", + "sync_decisions_to_db", "verify_reassess_pipeline", - "stale_push_wlin", + "strategy_lifecycle", + "mofin_db", + "run_all_tests", + "mofin_collect", "system_audit", - "system_health_check" + "mo_data", + "per_stock_reassess", + "pre-flight-check" ], "writers": [ - "data_governance", "sync_decisions_to_db", - "mofin_db" + "mofin_db", + "data_governance" ], "has_input": true, "has_output": true, @@ -1257,16 +1164,16 @@ "desc": "当前持仓(权威源)", "rows": 19, "readers": [ - "price_monitor", - "strategy_lifecycle", - "trend_detector", - "prepare_recommendation", - "per_stock_reassess", - "import_holding_xls", - "xiaoguo_scanner", - "mo_data", "mofin_collect", - "run_all_tests" + "mo_data", + "price_monitor", + "xiaoguo_signal_consumer", + "import_holding_xls", + "run_all_tests", + "refresh_mtf_cache", + "system_audit", + "prepare_recommendation", + "stale_push_wlin" ], "writers": [ "import_holding_xls", @@ -1296,17 +1203,17 @@ { "name": "live_prices", "desc": "所有持仓+自选最新实时价", - "rows": 20, + "rows": 34, "readers": [ - "cron_health_monitor", - "mo_data", "verify_reassess_pipeline", + "mofin_db", + "cron_health_monitor", "system_audit", - "mofin_db" + "mo_data" ], "writers": [ - "mofin_db", - "mo_data" + "mo_data", + "mofin_db" ], "has_input": true, "has_output": true, @@ -1330,15 +1237,15 @@ { "name": "macro_context_log", "desc": "宏观上下文(大盘偏向/指数)", - "rows": 12, + "rows": 15, "readers": [ + "stock_profile", "strategy_lifecycle", - "strategy_tree", - "divergence_detector", "system_audit", + "divergence_detector", "xiaoguo_signal_consumer", - "stale_push_wlin", - "stock_profile" + "strategy_tree", + "stale_push_wlin" ], "writers": [ "refresh_macro_context" @@ -1364,7 +1271,7 @@ { "name": "macro_raw_news", "desc": "宏观新闻原始数据", - "rows": 8484, + "rows": 8657, "readers": [ "macro_context_collector", "system_audit" @@ -1391,14 +1298,14 @@ { "name": "market_snapshots", "desc": "大盘指数快照(每10分)", - "rows": 548, + "rows": 555, "readers": [ - "mofin_db", - "prepare_report_data", "trend_detector", - "system_audit", + "mofin_db", "market_screener", - "mofin_query" + "system_audit", + "mofin_query", + "prepare_report_data" ], "writers": [ "mofin_db" @@ -1424,15 +1331,15 @@ { "name": "mtf_cache", "desc": "多周期均线缓存", - "rows": 37, + "rows": 39, "readers": [ "technical_analysis", - "mofin_db", - "multi_timeframe" + "multi_timeframe", + "mofin_db" ], "writers": [ - "mofin_db", - "multi_timeframe" + "multi_timeframe", + "mofin_db" ], "has_input": true, "has_output": true, @@ -1457,12 +1364,12 @@ "desc": "总资产/现金/仓位汇总", "rows": 1, "readers": [ + "import_holding_xls", "mofin_db", "mo_data", - "prepare_report_data", - "price_monitor", "preflight_verify", - "import_holding_xls" + "price_monitor", + "prepare_report_data" ], "writers": [ "import_holding_xls", @@ -1519,14 +1426,14 @@ "rows": 653, "readers": [ "xiaoguo_news_processor", - "mofin_news", "trend_detector", - "server" + "server", + "mofin_news" ], "writers": [ "xiaoguo_news_processor", - "mofin_news", - "trend_detector" + "trend_detector", + "mofin_news" ], "has_input": true, "has_output": true, @@ -1551,12 +1458,12 @@ { "name": "sector_snapshots", "desc": "行业板块数据", - "rows": 44230, + "rows": 44770, "readers": [ - "trend_detector", - "mofin_db", "strategy_lifecycle", - "market_screener" + "market_screener", + "trend_detector", + "mofin_db" ], "writers": [ "mofin_db" @@ -1582,20 +1489,20 @@ { "name": "signal_news", "desc": "信号相关新闻", - "rows": 1028, + "rows": 1075, "readers": [ - "system_audit", "macro_signal_consumer", + "system_audit", "xiaoguo_signal_consumer", - "server", - "intraday_health_check" + "intraday_health_check", + "server" ], "writers": [ "mofin_news", - "divergence_detector", "macro_signal_consumer", - "xiaoguo_signal_consumer", "macro_context_collector", + "divergence_detector", + "xiaoguo_signal_consumer", "xiaoguo_news_processor", "xiaoguo_scanner" ], @@ -1649,6 +1556,21 @@ } } }, + { + "name": "stock_daily", + "desc": "日线行情", + "rows": 6502, + "readers": [ + "mofin_db" + ], + "writers": [], + "has_input": false, + "has_output": true, + "orphan": true, + "flow_status": "read_only", + "warn": true, + "flow_detail": {} + }, { "name": "stock_fundamentals", "desc": "基本面数据(PE/PB)", @@ -1674,16 +1596,29 @@ } } }, + { + "name": "stock_monthly", + "desc": "月线行情", + "rows": 640, + "readers": [], + "writers": [], + "has_input": false, + "has_output": false, + "orphan": true, + "flow_status": "orphan", + "warn": true, + "flow_detail": {} + }, { "name": "stock_sectors", "desc": "股票行业映射", "rows": 62, "readers": [ - "mofin_news", "strategy_lifecycle", "trend_detector", - "xiaoguo_news_processor", - "mofin_db" + "mofin_news", + "mofin_db", + "xiaoguo_news_processor" ], "writers": [ "mofin_db" @@ -1706,15 +1641,28 @@ } } }, + { + "name": "stock_weekly", + "desc": "周线行情", + "rows": 1296, + "readers": [], + "writers": [], + "has_input": false, + "has_output": false, + "orphan": true, + "flow_status": "orphan", + "warn": true, + "flow_detail": {} + }, { "name": "stocks", "desc": "全量股票代码", - "rows": 87, + "rows": 90, "readers": [ - "mofin_news", - "mofin_db", + "xiaoguo_news_processor", "trend_detector", - "xiaoguo_news_processor" + "mofin_news", + "mofin_db" ], "writers": [ "mofin_db" @@ -1742,9 +1690,9 @@ "desc": "策略重评历史记录", "rows": 217, "readers": [ - "mofin_db", + "system_audit", "verify_reassess_pipeline", - "system_audit" + "mofin_db" ], "writers": [ "mofin_collect" @@ -1796,20 +1744,20 @@ { "name": "todos", "desc": "自愈任务队列", - "rows": 62, + "rows": 67, "readers": [ - "intraday_health_check", "self_todo_executor", - "strategy-staleness-check", - "morning_health_check" + "intraday_health_check", + "morning_health_check", + "strategy-staleness-check" ], "writers": [ - "preflight_verify", + "strategy-staleness-check", "mofin_collect", - "morning_health_check", - "intraday_health_check", + "preflight_verify", "self_todo_executor", - "strategy-staleness-check" + "intraday_health_check", + "morning_health_check" ], "has_input": true, "has_output": true, @@ -1838,20 +1786,20 @@ "desc": "自选股列表", "rows": 43, "readers": [ - "mo_alphasift_bridge", - "xiaoguo_scanner", - "mofin_db", - "mo_data", - "price_monitor", "trend_detector", - "mofin_collect", + "mofin_db", "run_all_tests", "refresh_mtf_cache", - "stale_detector" + "mofin_collect", + "mo_alphasift_bridge", + "mo_data", + "per_stock_reassess", + "price_monitor", + "stock_quote" ], "writers": [ - "mofin_db", - "per_stock_reassess" + "per_stock_reassess", + "mofin_db" ], "has_input": true, "has_output": true, @@ -1875,10 +1823,10 @@ { "name": "xiaoguo_scan_tracker", "desc": "小果扫描跟踪", - "rows": 488, + "rows": 519, "readers": [ - "xiaoguo_scanner", - "server" + "server", + "xiaoguo_scanner" ], "writers": [ "xiaoguo_scanner" @@ -1922,10 +1870,10 @@ { "name": "candidate_pool.json", "desc": "潜力股候选池完整数据", - "size_kb": 46.5, + "size_kb": 47.5, "readers": [], "writers": [], - "last_modified": "07-08 15:41", + "last_modified": "07-09 10:10", "warn": true }, { @@ -2048,19 +1996,19 @@ { "name": "macro_risk_state.json", "desc": "宏观风险状态(采集器写入)", - "size_kb": 2.8, + "size_kb": 1.6, "readers": [], "writers": [], - "last_modified": "07-09 08:00", + "last_modified": "07-09 10:06", "warn": true }, { "name": "mofin_health.json", "desc": "健康监控数据", - "size_kb": 70.9, + "size_kb": 82.9, "readers": [], "writers": [], - "last_modified": "07-09 08:32", + "last_modified": "07-09 10:16", "warn": true }, { @@ -2093,28 +2041,28 @@ { "name": "preflight_result.json", "desc": "", - "size_kb": 2.1, + "size_kb": 2.2, "readers": [], "writers": [], - "last_modified": "07-09 08:30", + "last_modified": "07-09 10:26", "warn": true }, { "name": "price_events.json", "desc": "", - "size_kb": 0.8, + "size_kb": 66.1, "readers": [], "writers": [], - "last_modified": "07-08 18:54", + "last_modified": "07-09 10:30", "warn": true }, { "name": "price_history.json", "desc": "", - "size_kb": 16.0, + "size_kb": 1.9, "readers": [], "writers": [], - "last_modified": "07-08 23:45", + "last_modified": "07-09 10:30", "warn": true }, { @@ -2132,7 +2080,7 @@ "size_kb": 0.1, "readers": [], "writers": [], - "last_modified": "07-08 15:45", + "last_modified": "07-09 10:30", "warn": true }, { @@ -2183,10 +2131,10 @@ { "name": "strategy_staleness_report.json", "desc": "策略过期报告", - "size_kb": 0.3, + "size_kb": 13.0, "readers": [], "writers": [], - "last_modified": "07-08 09:00", + "last_modified": "07-09 09:01", "warn": true }, { @@ -2269,7 +2217,7 @@ "script": "cron_watchdog.py", "schedule": "*/15 9-16 * * 1-5", "status": "error", - "last_run": "2026-07-08T16:45:35", + "last_run": "2026-07-09T10:15:52", "profile": "default" }, { @@ -2287,7 +2235,7 @@ "script": "generate_report.py intraday_monitor", "schedule": "25,40,55,10 9-11 * * 1-5", "status": "ok", - "last_run": "2026-07-08T12:20:23", + "last_run": "2026-07-09T10:21:54", "profile": "position-analyst" }, { @@ -2305,7 +2253,7 @@ "script": "bot_monitor.sh", "schedule": "every 60m", "status": "ok", - "last_run": "2026-07-09T07:50:40", + "last_run": "2026-07-09T09:51:43", "profile": "default" }, { @@ -2314,7 +2262,7 @@ "script": "cron_to_xmpp.py", "schedule": "* 9-16 * * 1-5", "status": "ok", - "last_run": "2026-07-08T16:59:02", + "last_run": "2026-07-09T10:29:30", "profile": "default" }, { @@ -2323,7 +2271,7 @@ "script": "cron_to_xmpp.py", "schedule": "*/5 9-16 * * 1-5", "status": "ok", - "last_run": "2026-07-08T16:55:18", + "last_run": "2026-07-09T10:26:07", "profile": "position-analyst" }, { @@ -2332,7 +2280,7 @@ "script": null, "schedule": "0 * * * *", "status": "ok", - "last_run": "2026-07-09T08:20:50", + "last_run": "2026-07-09T10:10:50", "profile": "default" }, { @@ -2359,7 +2307,7 @@ "script": "xiaoguo_quick_scan.py", "schedule": "*/15 * * * *", "status": "ok", - "last_run": "2026-07-09T08:45:58", + "last_run": "2026-07-09T10:15:55", "profile": "default" }, { @@ -2367,8 +2315,8 @@ "type": "no_agent", "script": "xiaoguo_tunnel_watchdog.sh", "schedule": "*/5 * * * *", - "status": "error", - "last_run": "2026-07-09T08:42:57", + "status": "ok", + "last_run": "2026-07-09T10:25:21", "profile": "default" }, { @@ -2376,8 +2324,8 @@ "type": "no_agent", "script": "price_monitor.py", "schedule": "*/2 9-16 * * 1-5", - "status": "ok", - "last_run": "2026-07-08T22:56:00", + "status": "error", + "last_run": "2026-07-09T10:29:07", "profile": "position-analyst" }, { @@ -2386,7 +2334,7 @@ "script": "mofin_health.py", "schedule": "*/15 9-16,20-22 * * 1-5", "status": "ok", - "last_run": "2026-07-08T16:45:19", + "last_run": "2026-07-09T10:16:13", "profile": "position-analyst" }, { @@ -2404,7 +2352,7 @@ "script": "cron_health_monitor.py", "schedule": "*/10 9-16 * * 1-5", "status": "ok", - "last_run": "2026-07-08T16:50:44", + "last_run": "2026-07-09T10:21:22", "profile": "position-analyst" }, { @@ -2422,7 +2370,7 @@ "script": "branch_scanner.py", "schedule": "15,30,45,00 9-15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:45:59", + "last_run": "2026-07-09T10:30:31", "profile": "position-analyst" }, { @@ -2434,20 +2382,11 @@ "last_run": "2026-07-02T20:12:33", "profile": "position-analyst" }, - { - "name": "多周期缓存刷新-开盘前", - "type": "no_agent", - "script": "refresh_mtf_cache.py", - "schedule": "0 9 * * 1-5", - "status": "ok", - "last_run": "2026-07-08T09:01:47", - "profile": "position-analyst" - }, { "name": "多周期缓存刷新-盘中", "type": "no_agent", "script": "refresh_mtf_cache.py", - "schedule": "0 11,14 * * 1-5", + "schedule": "0 9,11,14 * * 1-5", "status": "ok", "last_run": "2026-07-08T14:01:26", "profile": "position-analyst" @@ -2458,7 +2397,7 @@ "script": "", "schedule": "{'kind': 'cron', 'expr': '*/10 * * * *'}", "status": "ok", - "last_run": "2026-07-09T08:41:43", + "last_run": "2026-07-09T10:21:54", "profile": "default" }, { @@ -2467,43 +2406,16 @@ "script": "refresh_macro_context.py", "schedule": "*/30 9-15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:30:36", + "last_run": "2026-07-09T10:01:04", "profile": "position-analyst" }, { "name": "宏观新闻采集", "type": "no_agent", "script": "macro_context_collector.py", - "schedule": "*/30 8-15 * * 1-5", + "schedule": "*/30 8-16 * * *", "status": "ok", - "last_run": "2026-07-09T08:30:24", - "profile": "position-analyst" - }, - { - "name": "宏观新闻采集-周末", - "type": "no_agent", - "script": "macro_context_collector.py", - "schedule": "0 8-16/2 * * 0,6", - "status": "ok", - "last_run": "2026-07-05T16:00:46", - "profile": "position-analyst" - }, - { - "name": "宏观采集-午间", - "type": "no_agent", - "script": "macro_context_collector.py", - "schedule": "0 12 * * 1-5", - "status": "ok", - "last_run": "2026-07-08T12:01:43", - "profile": "position-analyst" - }, - { - "name": "宏观采集-早盘", - "type": "no_agent", - "script": "macro_context_collector.py", - "schedule": "35 9 * * 1-5", - "status": "ok", - "last_run": "2026-07-08T09:35:52", + "last_run": "2026-07-09T10:01:09", "profile": "position-analyst" }, { @@ -2512,7 +2424,7 @@ "script": "macro_signal_consumer.py", "schedule": "5,20,35,50 9-15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:50:10", + "last_run": "2026-07-09T10:20:53", "profile": "position-analyst" }, { @@ -2548,7 +2460,7 @@ "script": "xiaoguo_signal_consumer.py", "schedule": "0,15,30,45 9-15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:46:02", + "last_run": "2026-07-09T10:17:05", "profile": "position-analyst" }, { @@ -2575,7 +2487,7 @@ "script": "xiaoguo_scanner.py", "schedule": "*/5 9-15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:56:00", + "last_run": "2026-07-09T10:27:08", "profile": "position-analyst" }, { @@ -2584,7 +2496,7 @@ "script": "market_watch.py", "schedule": "*/10 9-11,13-15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:50:21", + "last_run": "2026-07-09T10:21:00", "profile": "position-analyst" }, { @@ -2593,7 +2505,7 @@ "script": "market_watch.py", "schedule": "0,30 9-16 * * 1-5", "status": "ok", - "last_run": "2026-07-08T16:30:31", + "last_run": "2026-07-09T10:00:41", "profile": "default" }, { @@ -2619,8 +2531,8 @@ "type": "no_agent", "script": "preflight_verify.py", "schedule": "30 8 * * 1-5", - "status": "error", - "last_run": "2026-07-09T08:30:32", + "status": "ok", + "last_run": "2026-07-09T10:25:00", "profile": "position-analyst" }, { @@ -2629,7 +2541,7 @@ "script": "generate_report.py opening_brief", "schedule": "35 9 * * 1-5", "status": "ok", - "last_run": "2026-07-08T09:43:31", + "last_run": "2026-07-09T09:50:00", "profile": "position-analyst" }, { @@ -2656,7 +2568,7 @@ "script": "sync_dashboard.py", "schedule": "55 8 * * *", "status": "ok", - "last_run": "2026-07-08T08:55:56", + "last_run": "2026-07-09T08:55:22", "profile": "default" }, { @@ -2692,7 +2604,7 @@ "script": "intraday_health_check.py", "schedule": "*/15 9-15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:45:58", + "last_run": "2026-07-09T10:15:46", "profile": "position-analyst" }, { @@ -2755,7 +2667,7 @@ "script": "strategy-staleness-check.py", "schedule": "0 9 * * 1-5", "status": "ok", - "last_run": "2026-07-08T09:10:49", + "last_run": "2026-07-09T09:10:25", "profile": "position-analyst" }, { @@ -2782,7 +2694,7 @@ "script": "review_needed_watchdog.py", "schedule": "0,30 9-15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:30:34", + "last_run": "2026-07-09T10:30:34", "profile": "position-analyst" }, { @@ -2791,7 +2703,7 @@ "script": "system_health_check.py", "schedule": "0 9 * * 1-5", "status": "ok", - "last_run": "2026-07-08T09:32:03", + "last_run": "2026-07-09T09:46:10", "profile": "position-analyst" }, { @@ -2809,7 +2721,7 @@ "script": "self_todo_executor.py", "schedule": "*/10 8-22 * * 1-5", "status": "ok", - "last_run": "2026-07-09T08:40:23", + "last_run": "2026-07-09T10:30:36", "profile": "position-analyst" }, { @@ -2827,7 +2739,7 @@ "script": "stale_push_wlin.py", "schedule": "1,31 9-15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:33:01", + "last_run": "2026-07-09T10:01:58", "profile": "position-analyst" }, { @@ -2836,7 +2748,7 @@ "script": "per_stock_reassess.py", "schedule": "0 9,12,15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:02:25", + "last_run": "2026-07-09T10:25:00", "profile": "position-analyst" }, { @@ -2863,16 +2775,7 @@ "script": "clean_watchlist.py", "schedule": "5 9 * * 1-5", "status": "ok", - "last_run": "2026-07-08T09:05:08", - "profile": "position-analyst" - }, - { - "name": "芯碁微装-价格监控", - "type": "LLM", - "script": "price_monitor.py", - "schedule": "0 10,14 * * 1-5", - "status": "ok", - "last_run": "2026-07-08T14:34:58", + "last_run": "2026-07-09T09:05:56", "profile": "position-analyst" }, { @@ -2899,16 +2802,16 @@ "script": "capital_flow_collector.py", "schedule": "1,31 9-15 * * 1-5", "status": "ok", - "last_run": "2026-07-08T15:31:37", + "last_run": "2026-07-09T10:01:57", "profile": "position-analyst" }, { "name": "跨市场背离检测", "type": "no_agent", "script": "divergence_detector.py", - "schedule": "*/30 8-15 * * 1-5", + "schedule": "*/30 8-15 * * *", "status": "ok", - "last_run": "2026-07-09T08:30:22", + "last_run": "2026-07-09T10:00:55", "profile": "position-analyst" }, { @@ -2926,7 +2829,7 @@ "script": "verify_reassess_pipeline.py", "schedule": "*/30 9-16 * * 1-5", "status": "ok", - "last_run": "2026-07-08T16:30:53", + "last_run": "2026-07-09T10:30:37", "profile": "position-analyst" }, { @@ -2935,7 +2838,7 @@ "script": null, "schedule": "28 9 * * 1-5", "status": "ok", - "last_run": "2026-07-08T09:46:38", + "last_run": "2026-07-09T09:59:11", "profile": "default" } ] diff --git a/system_audit.py b/system_audit.py index c0c60127..f3221336 100644 --- a/system_audit.py +++ b/system_audit.py @@ -41,7 +41,7 @@ def log_ok(area, desc): def audit_signals(conn): try: total = conn.execute("SELECT COUNT(*) FROM signal_news").fetchone()[0] - unproc = conn.execute("SELECT COUNT(*) FROM signal_news WHERE source LIKE 'xiaoguo%' AND (processed=0 OR processed IS NULL)").fetchone()[0] + unproc = conn.execute("SELECT COUNT(*) FROM signal_news WHERE source LIKE 'xiaoguo%' AND (processed=0 OR processed IS NULL) AND created_at > datetime('now', '-4 hours')").fetchone()[0] today = conn.execute("SELECT COUNT(*) FROM signal_news WHERE created_at > datetime('now','-1 day')").fetchone()[0] log_ok("信号管道", f"信号库{total}条,今日{today}条,未处理{unproc}条") if unproc > 30: