数据新鲜度防御体系(致命错误防御)
根因:今下午报告用周五多周期缓存(multi_tf_cache)作周一操作建议, 中芯国际H浮盈+10%被错报破止损。 修改: 1. price_monitor 新增 live_prices.json 写入(每2分钟刷新所有实时价) 2. 新增 data_freshness.py — data_freshness check function 3. intraday_health_check price_monitor检测从10min收紧到5min 4. 新增 midday MTF cache refresh (11:00+14:00) 5. cron-report-format pre-flight checklist 新增数据新鲜度检查项 所有报告产出前必须先跑 data_freshness,过期则禁止出操作建议
This commit is contained in:
+8142
-519
File diff suppressed because it is too large
Load Diff
+38
-38
@@ -1254,7 +1254,7 @@
|
||||
"volume": 1763719144.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706051.5965953
|
||||
"updated_at": 1782717139.88627
|
||||
},
|
||||
"00700": {
|
||||
"daily": [
|
||||
@@ -2511,7 +2511,7 @@
|
||||
"volume": 667412728.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782705995.3402534
|
||||
"updated_at": 1782717060.7531412
|
||||
},
|
||||
"000657": {
|
||||
"daily": [
|
||||
@@ -3768,7 +3768,7 @@
|
||||
"volume": 20396773.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782705987.0867403
|
||||
"updated_at": 1782717054.5245514
|
||||
},
|
||||
"000700": {
|
||||
"daily": [
|
||||
@@ -5025,7 +5025,7 @@
|
||||
"volume": 17181401.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782705988.33133
|
||||
"updated_at": 1782717055.5022836
|
||||
},
|
||||
"000711": {
|
||||
"daily": [
|
||||
@@ -6282,7 +6282,7 @@
|
||||
"volume": 15999462.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782705991.5414426
|
||||
"updated_at": 1782717057.8530786
|
||||
},
|
||||
"001309": {
|
||||
"daily": [
|
||||
@@ -7539,7 +7539,7 @@
|
||||
"volume": 2760837.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782705994.8228173
|
||||
"updated_at": 1782717058.0894217
|
||||
},
|
||||
"002594": {
|
||||
"daily": [
|
||||
@@ -8796,7 +8796,7 @@
|
||||
"volume": 7929446.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782705995.101498
|
||||
"updated_at": 1782717060.0304492
|
||||
},
|
||||
"00968": {
|
||||
"daily": [
|
||||
@@ -10053,7 +10053,7 @@
|
||||
"volume": 1303595711.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782705995.787828
|
||||
"updated_at": 1782717062.846691
|
||||
},
|
||||
"00981": {
|
||||
"daily": [
|
||||
@@ -11310,7 +11310,7 @@
|
||||
"volume": 2495083345.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782705996.525525
|
||||
"updated_at": 1782717064.7212029
|
||||
},
|
||||
"01070": {
|
||||
"daily": [
|
||||
@@ -12567,7 +12567,7 @@
|
||||
"volume": 148906925.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782705996.9653752
|
||||
"updated_at": 1782717066.7172375
|
||||
},
|
||||
"01088": {
|
||||
"daily": [
|
||||
@@ -13824,7 +13824,7 @@
|
||||
"volume": 289696739.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706001.677639
|
||||
"updated_at": 1782717069.9709167
|
||||
},
|
||||
"01211": {
|
||||
"daily": [
|
||||
@@ -15081,7 +15081,7 @@
|
||||
"volume": 520224640.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706002.8164096
|
||||
"updated_at": 1782717075.4028337
|
||||
},
|
||||
"01478": {
|
||||
"daily": [
|
||||
@@ -16338,7 +16338,7 @@
|
||||
"volume": 157832102.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706003.6388638
|
||||
"updated_at": 1782717081.5936816
|
||||
},
|
||||
"01888": {
|
||||
"daily": [
|
||||
@@ -17595,7 +17595,7 @@
|
||||
"volume": 1684251408.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706004.5710166
|
||||
"updated_at": 1782717084.0933223
|
||||
},
|
||||
"02202": {
|
||||
"daily": [
|
||||
@@ -18852,7 +18852,7 @@
|
||||
"volume": 424242411.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706006.3132045
|
||||
"updated_at": 1782717089.0535672
|
||||
},
|
||||
"02318": {
|
||||
"daily": [
|
||||
@@ -20109,7 +20109,7 @@
|
||||
"volume": 828520533.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706011.0799863
|
||||
"updated_at": 1782717092.8216407
|
||||
},
|
||||
"02359": {
|
||||
"daily": [
|
||||
@@ -21366,7 +21366,7 @@
|
||||
"volume": 133091756.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706012.8625598
|
||||
"updated_at": 1782717096.36564
|
||||
},
|
||||
"02388": {
|
||||
"daily": [
|
||||
@@ -22623,7 +22623,7 @@
|
||||
"volume": 279136126.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706013.6215148
|
||||
"updated_at": 1782717099.0185645
|
||||
},
|
||||
"02628": {
|
||||
"daily": [
|
||||
@@ -23880,7 +23880,7 @@
|
||||
"volume": 906095931.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706014.0054975
|
||||
"updated_at": 1782717102.295698
|
||||
},
|
||||
"06160": {
|
||||
"daily": [
|
||||
@@ -25137,7 +25137,7 @@
|
||||
"volume": 109763254.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706015.3040774
|
||||
"updated_at": 1782717102.5999513
|
||||
},
|
||||
"06869": {
|
||||
"daily": [
|
||||
@@ -26394,7 +26394,7 @@
|
||||
"volume": 447131411.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706020.1379104
|
||||
"updated_at": 1782717102.9797394
|
||||
},
|
||||
"09868": {
|
||||
"daily": [
|
||||
@@ -27651,7 +27651,7 @@
|
||||
"volume": 343118048.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706020.7164657
|
||||
"updated_at": 1782717103.3929343
|
||||
},
|
||||
"09988": {
|
||||
"daily": [
|
||||
@@ -28908,7 +28908,7 @@
|
||||
"volume": 1922973839.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706021.5092528
|
||||
"updated_at": 1782717106.0313873
|
||||
},
|
||||
"300035": {
|
||||
"daily": [
|
||||
@@ -30165,7 +30165,7 @@
|
||||
"volume": 4400429.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706022.742583
|
||||
"updated_at": 1782717108.1478984
|
||||
},
|
||||
"300124": {
|
||||
"daily": [
|
||||
@@ -31422,7 +31422,7 @@
|
||||
"volume": 8009597.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706026.0259018
|
||||
"updated_at": 1782717110.0109851
|
||||
},
|
||||
"300308": {
|
||||
"daily": [
|
||||
@@ -32679,7 +32679,7 @@
|
||||
"volume": 5855170.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706027.8375022
|
||||
"updated_at": 1782717113.6646516
|
||||
},
|
||||
"300548": {
|
||||
"daily": [
|
||||
@@ -33936,7 +33936,7 @@
|
||||
"volume": 4122818.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706028.1449785
|
||||
"updated_at": 1782717117.1192489
|
||||
},
|
||||
"300750": {
|
||||
"daily": [
|
||||
@@ -35193,7 +35193,7 @@
|
||||
"volume": 6795828.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706028.7154987
|
||||
"updated_at": 1782717117.5389514
|
||||
},
|
||||
"518880": {
|
||||
"daily": [
|
||||
@@ -36450,7 +36450,7 @@
|
||||
"volume": 74216427.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706030.0068972
|
||||
"updated_at": 1782717118.8917606
|
||||
},
|
||||
"600519": {
|
||||
"daily": [
|
||||
@@ -37707,7 +37707,7 @@
|
||||
"volume": 810206.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706030.337012
|
||||
"updated_at": 1782717119.3404405
|
||||
},
|
||||
"600563": {
|
||||
"daily": [
|
||||
@@ -38964,7 +38964,7 @@
|
||||
"volume": 2390925.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706033.4242928
|
||||
"updated_at": 1782717123.2639246
|
||||
},
|
||||
"601318": {
|
||||
"daily": [
|
||||
@@ -40221,7 +40221,7 @@
|
||||
"volume": 19118626.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706037.6416202
|
||||
"updated_at": 1782717128.5631177
|
||||
},
|
||||
"601899": {
|
||||
"daily": [
|
||||
@@ -41478,7 +41478,7 @@
|
||||
"volume": 65544402.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706041.6034863
|
||||
"updated_at": 1782717130.624442
|
||||
},
|
||||
"688411": {
|
||||
"daily": [
|
||||
@@ -42735,7 +42735,7 @@
|
||||
"volume": 122696229.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706043.6559353
|
||||
"updated_at": 1782717133.9323957
|
||||
},
|
||||
"688630": {
|
||||
"daily": [
|
||||
@@ -43992,7 +43992,7 @@
|
||||
"volume": 132048197.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706045.396502
|
||||
"updated_at": 1782717134.9173846
|
||||
},
|
||||
"688639": {
|
||||
"daily": [
|
||||
@@ -45249,7 +45249,7 @@
|
||||
"volume": 124114989.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706045.6856456
|
||||
"updated_at": 1782717135.2589629
|
||||
},
|
||||
"688795": {
|
||||
"daily": [
|
||||
@@ -46466,7 +46466,7 @@
|
||||
"volume": 57135746.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706046.0276382
|
||||
"updated_at": 1782717136.4705422
|
||||
},
|
||||
"688802": {
|
||||
"daily": [
|
||||
@@ -47683,6 +47683,6 @@
|
||||
"volume": 44794504.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1782706051.2910626
|
||||
"updated_at": 1782717136.905508
|
||||
}
|
||||
}
|
||||
+324
-307
@@ -7,34 +7,33 @@
|
||||
"cost": 1316.53,
|
||||
"position_pct": 15.27,
|
||||
"is_active": 1,
|
||||
"stop_loss": 1141.07,
|
||||
"take_profit": 1278.12,
|
||||
"entry_low": 1143.66,
|
||||
"entry_high": 1203.93,
|
||||
"stop_loss": 1155.88,
|
||||
"take_profit": 1291.54,
|
||||
"entry_low": 1171.59,
|
||||
"entry_high": 1217.9,
|
||||
"action": null,
|
||||
"strategy_updated": null,
|
||||
"analysis": {
|
||||
"stop_loss": 1141.07,
|
||||
"take_profit": 1278.12,
|
||||
"entry_low": 1143.66,
|
||||
"entry_high": 1203.93,
|
||||
"action": "持有观察 | 止损1141.07 | 目标1278.12 | 买入区1143.66~1203.93 | 信号:持有",
|
||||
"tech_snapshot": "形态:光头光脚阴线/bearish 量价:主动买盘占优 强撑:1076.48 弱撑:1143.66 弱压:1253.89 强压:1331.38 | MA5=1316.36 MA10=1286.79 MA20=1234.59 MA60=991.33",
|
||||
"stop_loss": 1155.88,
|
||||
"take_profit": 1291.54,
|
||||
"entry_low": 1171.59,
|
||||
"entry_high": 1217.9,
|
||||
"action": "持有观察 | ⚠️盈亏比偏低(1:1.0),不建议加仓 | 止损1155.88 | 目标1291.54 | 买入区1171.59~1217.9 | 信号:持有",
|
||||
"tech_snapshot": "形态:锤子线/T字线/bullish 量价:主动买盘占优 强撑:1090.45 弱撑:1171.59 弱压:1266.31 强压:1345.35 | MA5=1316.36 MA10=1286.79 MA20=1234.59 MA60=991.33",
|
||||
"multi_tf_context": "多周期看多 | MA20=1234.59 | MA60=991.33 | 长撑:日弱支撑=1113.9 | 长压:日强阻=1416.88",
|
||||
"reassessed_at": "2026-06-29 12:07",
|
||||
"reassessed_at": "2026-06-29 15:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 1.51,
|
||||
"action_note": "",
|
||||
"rr_ratio": 0.97,
|
||||
"action_note": "⚠️盈亏比偏低(1:1.0),不建议加仓",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 1141.07,
|
||||
"entry_zone": "1143.66~1203.93",
|
||||
"take_profit_zone": "0~1278.12"
|
||||
"stop_loss": 1155.88,
|
||||
"entry_zone": "1171.59~1217.9",
|
||||
"take_profit_zone": "0~1291.54"
|
||||
},
|
||||
"price": 1178.1,
|
||||
"change_pct": -6.04,
|
||||
"market_value": 131653.0
|
||||
"price": 1220.0,
|
||||
"change_pct": -2.7
|
||||
},
|
||||
{
|
||||
"code": "06869",
|
||||
@@ -43,34 +42,33 @@
|
||||
"cost": 263.72,
|
||||
"position_pct": 13.47,
|
||||
"is_active": 1,
|
||||
"stop_loss": 168.38,
|
||||
"take_profit": 256.78,
|
||||
"entry_low": 218.6,
|
||||
"entry_high": 237.6,
|
||||
"stop_loss": 175.78,
|
||||
"take_profit": 260.3,
|
||||
"entry_low": 226.73,
|
||||
"entry_high": 241.67,
|
||||
"action": null,
|
||||
"strategy_updated": null,
|
||||
"analysis": {
|
||||
"stop_loss": 168.38,
|
||||
"take_profit": 256.78,
|
||||
"entry_low": 218.6,
|
||||
"entry_high": 237.6,
|
||||
"action": "持有观察 | ⚠️盈亏比偏低(1:1.3),不建议加仓 | 止损168.38 | 目标256.78 | 买入区218.6~237.6 | 信号:持有",
|
||||
"tech_snapshot": "形态:光头光脚阴线/neutral 量价:数据不足 强撑:178.0 弱撑:218.6 弱压:250.6 强压:297.2 | MA5=270.0 MA10=249.88 MA20=243.41 MA60=229.24",
|
||||
"stop_loss": 175.78,
|
||||
"take_profit": 260.3,
|
||||
"entry_low": 226.73,
|
||||
"entry_high": 241.67,
|
||||
"action": "持有观察 | ⚠️盈亏比偏低(1:1.0),不建议加仓 | 止损175.78 | 目标260.3 | 买入区226.73~241.67 | 信号:持有",
|
||||
"tech_snapshot": "形态:带下影阴线/neutral 量价:数据不足 强撑:182.07 弱撑:226.73 弱压:256.13 强压:301.27 | MA5=270.0 MA10=249.88 MA20=243.41 MA60=229.24",
|
||||
"multi_tf_context": "多周期看多 | MA20=243.41 | MA60=229.24 | 长撑:MA20=243.41 | 长压:日强阻=305.0",
|
||||
"reassessed_at": "2026-06-29 12:07",
|
||||
"reassessed_at": "2026-06-29 15:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 1.33,
|
||||
"action_note": "⚠️盈亏比偏低(1:1.3),不建议加仓",
|
||||
"rr_ratio": 1.02,
|
||||
"action_note": "⚠️盈亏比偏低(1:1.0),不建议加仓",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 168.38,
|
||||
"entry_zone": "218.6~237.6",
|
||||
"take_profit_zone": "0~256.78"
|
||||
"stop_loss": 175.78,
|
||||
"entry_zone": "226.73~241.67",
|
||||
"take_profit_zone": "0~260.3"
|
||||
},
|
||||
"price": 199.64,
|
||||
"change_pct": -8.22,
|
||||
"market_value": 131860.0
|
||||
"price": 208.32,
|
||||
"change_pct": -4.23
|
||||
},
|
||||
{
|
||||
"code": "01478",
|
||||
@@ -79,34 +77,33 @@
|
||||
"cost": 13.47,
|
||||
"position_pct": 7.97,
|
||||
"is_active": 1,
|
||||
"stop_loss": 5.98,
|
||||
"take_profit": 7.12,
|
||||
"entry_low": 6.17,
|
||||
"entry_high": 7.19,
|
||||
"stop_loss": 6.17,
|
||||
"take_profit": 7.14,
|
||||
"entry_low": 6.23,
|
||||
"entry_high": 7.27,
|
||||
"action": "深套持有 | 深套持有 | 止损7.33 | 目标10.39 | 买入区7.88~9.19 | 信号:持有",
|
||||
"strategy_updated": "2026-06-19 16:01",
|
||||
"analysis": {
|
||||
"stop_loss": 5.98,
|
||||
"take_profit": 7.12,
|
||||
"entry_low": 6.17,
|
||||
"entry_high": 7.19,
|
||||
"action": "深套持有 | 深套持有 | 止损5.98 | 目标7.12 | 买入区6.17~7.19 | 信号:持有",
|
||||
"tech_snapshot": "形态:带下影阴线/neutral 量价:数据不足 强撑:6.28 弱撑:6.74 弱压:6.95 强压:7.42 | MA5=8.6 MA10=8.92 MA20=9.28 MA60=8.9",
|
||||
"stop_loss": 6.17,
|
||||
"take_profit": 7.14,
|
||||
"entry_low": 6.23,
|
||||
"entry_high": 7.27,
|
||||
"action": "深套持有 | 深套持有 | 止损6.17 | 目标7.14 | 买入区6.23~7.27 | 信号:持有",
|
||||
"tech_snapshot": "形态:锤子线/T字线/bullish 量价:数据不足 强撑:6.3 弱撑:6.79 弱压:7.0 强压:7.44 | MA5=8.6 MA10=8.92 MA20=9.28 MA60=8.9",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=9.28 | MA60=8.9 | 长撑:日强支撑=6.6 | 长压:日强阻=10.5",
|
||||
"reassessed_at": "2026-06-29 12:06",
|
||||
"reassessed_at": "2026-06-29 15:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.55,
|
||||
"rr_ratio": 0.5,
|
||||
"action_note": "深套持有",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 5.98,
|
||||
"entry_zone": "6.17~7.19",
|
||||
"take_profit_zone": "0~7.12"
|
||||
"stop_loss": 6.17,
|
||||
"entry_zone": "6.23~7.27",
|
||||
"take_profit_zone": "0~7.14"
|
||||
},
|
||||
"price": 5.97,
|
||||
"change_pct": 0.29,
|
||||
"market_value": 148170.0
|
||||
"price": 6.01,
|
||||
"change_pct": 0.87
|
||||
},
|
||||
{
|
||||
"code": "601899",
|
||||
@@ -115,34 +112,33 @@
|
||||
"cost": 39.89,
|
||||
"position_pct": 7.34,
|
||||
"is_active": 1,
|
||||
"stop_loss": 22.34,
|
||||
"take_profit": 25.65,
|
||||
"entry_low": 23.0,
|
||||
"entry_high": 26.84,
|
||||
"stop_loss": 23.01,
|
||||
"take_profit": 26.51,
|
||||
"entry_low": 23.21,
|
||||
"entry_high": 27.08,
|
||||
"action": "深套持有 | 深套持有 | 止损24.48 | 目标34.47 | 买入区26.72~31.17 | 信号:持有",
|
||||
"strategy_updated": "2026-06-19 16:01",
|
||||
"analysis": {
|
||||
"stop_loss": 22.34,
|
||||
"take_profit": 25.65,
|
||||
"entry_low": 23.0,
|
||||
"entry_high": 26.84,
|
||||
"action": "深套持有 | 深套持有 | 止损22.34 | 目标25.65 | 买入区23.0~26.84 | 信号:持有",
|
||||
"tech_snapshot": "形态:锤子线/T字线/bullish 量价:主动买盘占优 强撑:24.17 弱撑:25.09 弱压:25.91 强压:26.72 | MA5=32.41 MA10=34.06 MA20=35.71 MA60=36.48",
|
||||
"stop_loss": 23.01,
|
||||
"take_profit": 26.51,
|
||||
"entry_low": 23.21,
|
||||
"entry_high": 27.08,
|
||||
"action": "深套持有 | 深套持有 | 止损23.01 | 目标26.51 | 买入区23.21~27.08 | 信号:持有",
|
||||
"tech_snapshot": "形态:带下影阳线/bullish 量价:主动买盘占优 强撑:23.51 弱撑:25.1 弱压:26.17 强压:27.61 | MA5=32.41 MA10=34.06 MA20=35.71 MA60=36.48",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=35.71 | MA60=36.48 | 长撑:日强支撑=24.86 | 长压:日强阻=31.44",
|
||||
"reassessed_at": "2026-06-29 12:07",
|
||||
"reassessed_at": "2026-06-29 15:12",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.3,
|
||||
"rr_ratio": 0.47,
|
||||
"action_note": "深套持有",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 22.34,
|
||||
"entry_zone": "23.0~26.84",
|
||||
"take_profit_zone": "0~25.65"
|
||||
"stop_loss": 23.01,
|
||||
"entry_zone": "23.21~27.08",
|
||||
"take_profit_zone": "0~26.51"
|
||||
},
|
||||
"price": 25.56,
|
||||
"change_pct": 1.83,
|
||||
"market_value": 95736.0
|
||||
"price": 25.79,
|
||||
"change_pct": 2.75
|
||||
},
|
||||
{
|
||||
"code": "688411",
|
||||
@@ -151,34 +147,33 @@
|
||||
"cost": 266.95,
|
||||
"position_pct": 6.31,
|
||||
"is_active": 1,
|
||||
"stop_loss": 245.49,
|
||||
"take_profit": 268.41,
|
||||
"stop_loss": 263.66,
|
||||
"take_profit": 283.32,
|
||||
"entry_low": 258.88,
|
||||
"entry_high": 271.82,
|
||||
"action": "盈利良好 | 止损253.82 | 目标316.5 | 买入区273.21~286.87 | 信号:持有",
|
||||
"strategy_updated": "2026-06-19 16:01",
|
||||
"analysis": {
|
||||
"stop_loss": 245.49,
|
||||
"take_profit": 268.41,
|
||||
"stop_loss": 263.66,
|
||||
"take_profit": 283.32,
|
||||
"entry_low": 258.88,
|
||||
"entry_high": 271.82,
|
||||
"action": "盈利良好 | 止损245.49 | 目标268.41 | 买入区258.88~271.82 | 信号:持有",
|
||||
"tech_snapshot": "形态:光头光脚阳线/bullish 量价:买卖均衡 强撑:244.1 弱撑:258.88 弱压:294.69 强压:310.66 | MA5=263.81 MA10=256.47 MA20=250.21 MA60=243.32",
|
||||
"action": "盈利良好 | 止损263.66 | 目标283.32 | 买入区258.88~271.82 | 信号:持有",
|
||||
"tech_snapshot": "形态:光头光脚阳线/bullish 量价:买卖均衡 强撑:244.9 弱撑:258.88 弱压:296.29 强压:310.66 | MA5=263.81 MA10=256.47 MA20=250.21 MA60=243.32",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=250.21 | MA60=243.32 | 长撑:MA20=250.21 | 长压:日强阻=307.58",
|
||||
"reassessed_at": "2026-06-29 12:07",
|
||||
"reassessed_at": "2026-06-29 15:12",
|
||||
"status": "updated",
|
||||
"rr_ratio": 1.91,
|
||||
"rr_ratio": 1.72,
|
||||
"action_note": "",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 245.49,
|
||||
"stop_loss": 263.66,
|
||||
"entry_zone": "258.88~271.82",
|
||||
"take_profit_zone": "0~268.41"
|
||||
"take_profit_zone": "0~283.32"
|
||||
},
|
||||
"price": 283.6,
|
||||
"change_pct": 9.55,
|
||||
"market_value": 53390.0
|
||||
"price": 286.0,
|
||||
"change_pct": 10.48
|
||||
},
|
||||
{
|
||||
"code": "688981",
|
||||
@@ -187,34 +182,33 @@
|
||||
"cost": 126.07,
|
||||
"position_pct": 5.44,
|
||||
"is_active": 1,
|
||||
"stop_loss": 136.53,
|
||||
"take_profit": 155.12,
|
||||
"entry_low": 139.74,
|
||||
"entry_high": 146.73,
|
||||
"stop_loss": 145.01,
|
||||
"take_profit": 157.01,
|
||||
"entry_low": 143.67,
|
||||
"entry_high": 150.85,
|
||||
"action": "盈利良好 | 止损132.76 | 目标164.45 | 买入区134.18~140.89 | 信号:持有",
|
||||
"strategy_updated": "2026-06-19 16:01",
|
||||
"analysis": {
|
||||
"stop_loss": 136.53,
|
||||
"take_profit": 155.12,
|
||||
"entry_low": 139.74,
|
||||
"entry_high": 146.73,
|
||||
"action": "盈利良好 | 止损136.53 | 目标155.12 | 买入区139.74~146.73 | 信号:持有",
|
||||
"tech_snapshot": "形态:倒T线/射击之星/bearish 量价:买卖均衡 强撑:131.14 弱撑:139.74 弱压:151.73 强压:161.58 | MA5=148.89 MA10=140.54 MA20=135.42 MA60=121.68",
|
||||
"stop_loss": 145.01,
|
||||
"take_profit": 157.01,
|
||||
"entry_low": 143.67,
|
||||
"entry_high": 150.85,
|
||||
"action": "盈利良好 | 止损145.01 | 目标157.01 | 买入区143.67~150.85 | 信号:持有",
|
||||
"tech_snapshot": "形态:锤子线/T字线/bullish 量价:买卖均衡 强撑:133.11 弱撑:143.67 弱压:155.66 强压:163.55 | MA5=148.89 MA10=140.54 MA20=135.42 MA60=121.68",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=135.42 | MA60=121.68 | 长撑:MA20=135.42 | 长压:周强阻=159.05",
|
||||
"reassessed_at": "2026-06-29 12:07",
|
||||
"reassessed_at": "2026-06-29 15:12",
|
||||
"status": "updated",
|
||||
"rr_ratio": 3.07,
|
||||
"rr_ratio": 1.71,
|
||||
"action_note": "",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 136.53,
|
||||
"entry_zone": "139.74~146.73",
|
||||
"take_profit_zone": "0~155.12"
|
||||
"stop_loss": 145.01,
|
||||
"entry_zone": "143.67~150.85",
|
||||
"take_profit_zone": "0~157.01"
|
||||
},
|
||||
"price": 145.1,
|
||||
"change_pct": -2.46,
|
||||
"market_value": 37821.0
|
||||
"price": 151.0,
|
||||
"change_pct": 1.51
|
||||
},
|
||||
{
|
||||
"code": "01888",
|
||||
@@ -223,34 +217,33 @@
|
||||
"cost": 88.23,
|
||||
"position_pct": 5.28,
|
||||
"is_active": 1,
|
||||
"stop_loss": 74.92,
|
||||
"take_profit": 93.4,
|
||||
"entry_low": 84.9,
|
||||
"entry_high": 89.15,
|
||||
"stop_loss": 85.43,
|
||||
"take_profit": 95.43,
|
||||
"entry_low": 89.6,
|
||||
"entry_high": 94.08,
|
||||
"action": "盈利持有 | 短炒强趋势持 | 止损86.34 | 目标141.9 | 买入区85.82~90.11 | 信号:强趋势持",
|
||||
"strategy_updated": "2026-06-19 16:01",
|
||||
"analysis": {
|
||||
"stop_loss": 74.92,
|
||||
"take_profit": 93.4,
|
||||
"entry_low": 84.9,
|
||||
"entry_high": 89.15,
|
||||
"action": "盈利持有 | 止损74.92 | 目标93.4 | 买入区84.9~89.15 | 信号:持有",
|
||||
"tech_snapshot": "形态:光头光脚阴线/neutral 量价:数据不足 强撑:79.2 弱撑:84.9 弱压:98.55 强压:108.1 | MA5=95.1 MA10=88.76 MA20=72.25 MA60=47.53",
|
||||
"stop_loss": 85.43,
|
||||
"take_profit": 95.43,
|
||||
"entry_low": 89.6,
|
||||
"entry_high": 94.08,
|
||||
"action": "盈利良好 | 止损85.43 | 目标95.43 | 买入区89.6~94.08 | 信号:持有",
|
||||
"tech_snapshot": "形态:锤子线/T字线/neutral 量价:数据不足 强撑:81.55 弱撑:89.6 弱压:102.95 强压:110.45 | MA5=95.1 MA10=88.76 MA20=72.25 MA60=47.53",
|
||||
"multi_tf_context": "多周期看多 | MA20=72.25 | MA60=47.53 | 长撑:MA20=72.25 | 长压:日强阻=107.2",
|
||||
"reassessed_at": "2026-06-29 12:06",
|
||||
"reassessed_at": "2026-06-29 15:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 1.77,
|
||||
"rr_ratio": 2.84,
|
||||
"action_note": "",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 74.92,
|
||||
"entry_zone": "84.9~89.15",
|
||||
"take_profit_zone": "0~93.4"
|
||||
"stop_loss": 85.43,
|
||||
"entry_zone": "89.6~94.08",
|
||||
"take_profit_zone": "0~95.43"
|
||||
},
|
||||
"price": 78.55,
|
||||
"change_pct": -8.17,
|
||||
"market_value": 44115.0
|
||||
"price": 83.2,
|
||||
"change_pct": -2.74
|
||||
},
|
||||
{
|
||||
"code": "688639",
|
||||
@@ -259,34 +252,33 @@
|
||||
"cost": 21.51,
|
||||
"position_pct": 5.25,
|
||||
"is_active": 1,
|
||||
"stop_loss": 13.24,
|
||||
"stop_loss": 13.5,
|
||||
"take_profit": 15.97,
|
||||
"entry_low": 14.82,
|
||||
"entry_high": 17.29,
|
||||
"entry_low": 14.97,
|
||||
"entry_high": 17.46,
|
||||
"action": null,
|
||||
"strategy_updated": null,
|
||||
"analysis": {
|
||||
"stop_loss": 13.24,
|
||||
"stop_loss": 13.5,
|
||||
"take_profit": 15.97,
|
||||
"entry_low": 14.82,
|
||||
"entry_high": 17.29,
|
||||
"action": "深套持有 | 深套持有 | 止损13.24 | 目标15.97 | 买入区14.82~17.29 | 信号:持有",
|
||||
"tech_snapshot": "形态:光头光脚阳线/bullish 量价:主动买盘占优 强撑:14.06 弱撑:15.4 弱压:16.93 强压:18.48 | MA5=33.22 MA10=33.72 MA20=35.78 MA60=34.59",
|
||||
"entry_low": 14.97,
|
||||
"entry_high": 17.46,
|
||||
"action": "深套持有 | 深套持有 | 止损13.5 | 目标15.97 | 买入区14.97~17.46 | 信号:持有",
|
||||
"tech_snapshot": "形态:光头光脚阳线/bullish 量价:主动买盘占优 强撑:13.98 弱撑:15.4 弱压:17.17 强压:18.48 | MA5=33.22 MA10=33.72 MA20=35.78 MA60=34.59",
|
||||
"multi_tf_context": "多周期看多 | MA20=35.78 | MA60=34.59 | 长撑:日强支撑=14.52 | 长压:月强阻=43.44",
|
||||
"reassessed_at": "2026-06-29 12:07",
|
||||
"reassessed_at": "2026-06-29 15:12",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.81,
|
||||
"rr_ratio": 0.7,
|
||||
"action_note": "深套持有",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 13.24,
|
||||
"entry_zone": "14.82~17.29",
|
||||
"stop_loss": 13.5,
|
||||
"entry_zone": "14.97~17.46",
|
||||
"take_profit_zone": "0~15.97"
|
||||
},
|
||||
"price": 16.47,
|
||||
"change_pct": 6.95,
|
||||
"market_value": 60228.0
|
||||
"price": 16.63,
|
||||
"change_pct": 7.99
|
||||
},
|
||||
{
|
||||
"code": "300750",
|
||||
@@ -295,34 +287,33 @@
|
||||
"cost": 401.78,
|
||||
"position_pct": 4.64,
|
||||
"is_active": 1,
|
||||
"stop_loss": 367.23,
|
||||
"take_profit": 403.56,
|
||||
"stop_loss": 374.88,
|
||||
"take_profit": 403.64,
|
||||
"entry_low": 381.0,
|
||||
"entry_high": 388.77,
|
||||
"entry_high": 388.85,
|
||||
"action": "持有观察 | 止损345.04 | 目标414.6 | 买入区384.35~397.12 | 信号:弱势持有",
|
||||
"strategy_updated": "2026-06-19 16:01",
|
||||
"analysis": {
|
||||
"stop_loss": 367.23,
|
||||
"take_profit": 403.56,
|
||||
"stop_loss": 374.88,
|
||||
"take_profit": 403.64,
|
||||
"entry_low": 381.0,
|
||||
"entry_high": 388.77,
|
||||
"action": "持有观察 | ⚠️盈亏比偏低(1:0.8),不建议加仓 | 止损367.23 | 目标403.56 | 买入区381.0~388.77 | 信号:持有",
|
||||
"tech_snapshot": "形态:锤子线/T字线/bullish 量价:买卖均衡 强撑:357.16 弱撑:381.0 弱压:399.33 强压:420.38 | MA5=395.95 MA10=396.68 MA20=402.28 MA60=414.59",
|
||||
"entry_high": 388.85,
|
||||
"action": "持有观察 | ⚠️盈亏比偏低(1:0.8),不建议加仓 | 止损374.88 | 目标403.64 | 买入区381.0~388.85 | 信号:持有",
|
||||
"tech_snapshot": "形态:带下影阳线/bullish 量价:买卖均衡 强撑:357.24 弱撑:381.0 弱压:399.51 强压:420.46 | MA5=395.95 MA10=396.68 MA20=402.28 MA60=414.59",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=402.28 | MA60=414.59 | 长撑:日强支撑=380.03 | 长压:周强阻=468.75",
|
||||
"reassessed_at": "2026-06-29 12:07",
|
||||
"reassessed_at": "2026-06-29 15:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.81,
|
||||
"rr_ratio": 0.8,
|
||||
"action_note": "⚠️盈亏比偏低(1:0.8),不建议加仓",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 367.23,
|
||||
"entry_zone": "381.0~388.77",
|
||||
"take_profit_zone": "0~403.56"
|
||||
"stop_loss": 374.88,
|
||||
"entry_zone": "381.0~388.85",
|
||||
"take_profit_zone": "0~403.64"
|
||||
},
|
||||
"price": 392.1,
|
||||
"change_pct": 2.91,
|
||||
"market_value": 40178.0
|
||||
"price": 392.36,
|
||||
"change_pct": 2.98
|
||||
},
|
||||
{
|
||||
"code": "01211",
|
||||
@@ -331,34 +322,33 @@
|
||||
"cost": 104.87,
|
||||
"position_pct": 4.62,
|
||||
"is_active": 1,
|
||||
"stop_loss": 64.81,
|
||||
"take_profit": 77.11,
|
||||
"entry_low": 66.74,
|
||||
"entry_high": 77.86,
|
||||
"stop_loss": 65.47,
|
||||
"take_profit": 76.78,
|
||||
"entry_low": 66.06,
|
||||
"entry_high": 77.07,
|
||||
"action": "深套持有 | 深套持有 | 止损63.99 | 目标87.07 | 买入区72.77~84.89 | 信号:持有",
|
||||
"strategy_updated": "2026-06-19 16:01",
|
||||
"analysis": {
|
||||
"stop_loss": 64.81,
|
||||
"take_profit": 77.11,
|
||||
"entry_low": 66.74,
|
||||
"entry_high": 77.86,
|
||||
"action": "深套持有 | 深套持有 | 止损64.81 | 目标77.11 | 买入区66.74~77.86 | 信号:持有",
|
||||
"tech_snapshot": "形态:光头光脚阳线/bullish 量价:数据不足 强撑:67.15 弱撑:72.65 弱压:75.02 强压:80.32 | MA5=96.92 MA10=96.4 MA20=97.59 MA60=97.92",
|
||||
"stop_loss": 65.47,
|
||||
"take_profit": 76.78,
|
||||
"entry_low": 66.06,
|
||||
"entry_high": 77.07,
|
||||
"action": "深套持有 | 深套持有 | 止损65.47 | 目标76.78 | 买入区66.06~77.07 | 信号:持有",
|
||||
"tech_snapshot": "形态:倒T线/射击之星/bearish 量价:数据不足 强撑:66.95 弱撑:72.33 弱压:74.48 强压:79.98 | MA5=96.92 MA10=96.4 MA20=97.59 MA60=97.92",
|
||||
"multi_tf_context": "多周期看多 | MA20=97.59 | MA60=97.92 | 长撑:日强支撑=72.2 | 长压:日强阻=97.15",
|
||||
"reassessed_at": "2026-06-29 12:06",
|
||||
"reassessed_at": "2026-06-29 15:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.55,
|
||||
"rr_ratio": 0.6,
|
||||
"action_note": "深套持有",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 64.81,
|
||||
"entry_zone": "66.74~77.86",
|
||||
"take_profit_zone": "0~77.11"
|
||||
"stop_loss": 65.47,
|
||||
"entry_zone": "66.06~77.07",
|
||||
"take_profit_zone": "0~76.78"
|
||||
},
|
||||
"price": 64.19,
|
||||
"change_pct": 1.79,
|
||||
"market_value": 62922.0
|
||||
"price": 63.71,
|
||||
"change_pct": 1.03
|
||||
},
|
||||
{
|
||||
"code": "02202",
|
||||
@@ -367,34 +357,33 @@
|
||||
"cost": 4.67,
|
||||
"position_pct": 4.6,
|
||||
"is_active": 1,
|
||||
"stop_loss": 1.79,
|
||||
"take_profit": 2.1,
|
||||
"entry_low": 2.02,
|
||||
"entry_high": 2.35,
|
||||
"stop_loss": 1.82,
|
||||
"take_profit": 2.09,
|
||||
"entry_low": 2.0,
|
||||
"entry_high": 2.33,
|
||||
"action": "深套持有 | 深套持有 | 止损2.0 | 目标2.85 | 买入区2.18~2.54 | 信号:持有",
|
||||
"strategy_updated": "2026-06-19 16:01",
|
||||
"analysis": {
|
||||
"stop_loss": 1.79,
|
||||
"take_profit": 2.1,
|
||||
"entry_low": 2.02,
|
||||
"entry_high": 2.35,
|
||||
"action": "深套持有 | 深套持有 | 止损1.79 | 目标2.1 | 买入区2.02~2.35 | 信号:持有",
|
||||
"tech_snapshot": "形态:锤子线/T字线/bullish 量价:数据不足 强撑:2.03 弱撑:2.17 弱压:2.29 强压:2.43 | MA5=3.35 MA10=3.39 MA20=3.46 MA60=3.53",
|
||||
"stop_loss": 1.82,
|
||||
"take_profit": 2.09,
|
||||
"entry_low": 2.0,
|
||||
"entry_high": 2.33,
|
||||
"action": "深套持有 | 深套持有 | 止损1.82 | 目标2.09 | 买入区2.0~2.33 | 信号:持有",
|
||||
"tech_snapshot": "形态:长影星线/neutral 量价:数据不足 强撑:2.02 弱撑:2.16 弱压:2.28 强压:2.42 | MA5=3.35 MA10=3.39 MA20=3.46 MA60=3.53",
|
||||
"multi_tf_context": "多周期看多 | MA20=3.46 | MA60=3.53 | 长撑:日强支撑=2.17 | 长压:日强阻=2.94",
|
||||
"reassessed_at": "2026-06-29 12:06",
|
||||
"reassessed_at": "2026-06-29 15:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.56,
|
||||
"rr_ratio": 0.61,
|
||||
"action_note": "深套持有",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 1.79,
|
||||
"entry_zone": "2.02~2.35",
|
||||
"take_profit_zone": "0~2.1"
|
||||
"stop_loss": 1.82,
|
||||
"entry_zone": "2.0~2.33",
|
||||
"take_profit_zone": "0~2.09"
|
||||
},
|
||||
"price": 1.94,
|
||||
"change_pct": 1.82,
|
||||
"market_value": 91999.0
|
||||
"price": 1.93,
|
||||
"change_pct": 0.91
|
||||
},
|
||||
{
|
||||
"code": "00700",
|
||||
@@ -403,34 +392,33 @@
|
||||
"cost": 443.13,
|
||||
"position_pct": 4.41,
|
||||
"is_active": 1,
|
||||
"stop_loss": 369.87,
|
||||
"take_profit": 397.13,
|
||||
"stop_loss": 373.0,
|
||||
"take_profit": 383.77,
|
||||
"entry_low": 411.8,
|
||||
"entry_high": 425.33,
|
||||
"entry_high": 423.07,
|
||||
"action": "持有观察 | ⚠️盈亏比偏低(1:1.0),不建议加仓 | 止损387.49 | 目标496.33 | 买入区435.13~440.67 | 信号:持有",
|
||||
"strategy_updated": "2026-06-19 16:01",
|
||||
"analysis": {
|
||||
"stop_loss": 369.87,
|
||||
"take_profit": 397.13,
|
||||
"stop_loss": 373.0,
|
||||
"take_profit": 383.77,
|
||||
"entry_low": 411.8,
|
||||
"entry_high": 425.33,
|
||||
"action": "持有观察 | ⚠️盈亏比偏低(1:0.8),不建议加仓 | 止损369.87 | 目标397.13 | 买入区411.8~425.33 | 信号:持有",
|
||||
"tech_snapshot": "形态:光头光脚阳线/bullish 量价:数据不足 强撑:391.01 弱撑:411.8 弱压:435.67 强压:459.65 | MA5=608.6 MA10=615.0 MA20=612.77 MA60=565.12",
|
||||
"entry_high": 423.07,
|
||||
"action": "持有观察 | ⚠️盈亏比偏低(1:1.1),不建议加仓 | 止损373.0 | 目标383.77 | 买入区411.8~423.07 | 信号:持有",
|
||||
"tech_snapshot": "形态:带上影阳线/neutral 量价:数据不足 强撑:401.96 弱撑:411.8 弱压:431.13 强压:444.18 | MA5=608.6 MA10=615.0 MA20=612.77 MA60=565.12",
|
||||
"multi_tf_context": "多周期看多 | MA20=612.77 | MA60=565.12 | 长撑:日强支撑=411.0 | 长压:周强阻=526.5",
|
||||
"reassessed_at": "2026-06-29 12:06",
|
||||
"reassessed_at": "2026-06-29 15:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.82,
|
||||
"action_note": "⚠️盈亏比偏低(1:0.8),不建议加仓",
|
||||
"rr_ratio": 1.09,
|
||||
"action_note": "⚠️盈亏比偏低(1:1.1),不建议加仓",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 369.87,
|
||||
"entry_zone": "411.8~425.33",
|
||||
"take_profit_zone": "0~397.13"
|
||||
"stop_loss": 373.0,
|
||||
"entry_zone": "411.8~423.07",
|
||||
"take_profit_zone": "0~383.77"
|
||||
},
|
||||
"price": 371.68,
|
||||
"change_pct": 3.98,
|
||||
"market_value": 44313.0
|
||||
"price": 366.82,
|
||||
"change_pct": 2.62
|
||||
},
|
||||
{
|
||||
"code": "00981",
|
||||
@@ -439,34 +427,33 @@
|
||||
"cost": 75.94,
|
||||
"position_pct": 4.2,
|
||||
"is_active": 1,
|
||||
"stop_loss": 77.11,
|
||||
"take_profit": 84.29,
|
||||
"entry_low": 79.7,
|
||||
"entry_high": 83.53,
|
||||
"stop_loss": 80.81,
|
||||
"take_profit": 85.82,
|
||||
"entry_low": 80.0,
|
||||
"entry_high": 84.0,
|
||||
"action": "盈利持有 | ⚠️盈亏比偏低(1:1.0),不建议加仓 | 止损67.69 | 目标87.26 | 买入区73.68~76.57 | 信号:持有",
|
||||
"strategy_updated": "2026-06-19 16:01",
|
||||
"analysis": {
|
||||
"stop_loss": 77.11,
|
||||
"take_profit": 84.29,
|
||||
"entry_low": 79.7,
|
||||
"entry_high": 83.53,
|
||||
"action": "盈利良好 | 止损77.11 | 目标84.29 | 买入区79.7~83.53 | 信号:持有",
|
||||
"tech_snapshot": "形态:带上影阳线/neutral 量价:数据不足 强撑:75.4 弱撑:79.7 弱压:83.85 强压:87.8 | MA5=81.51 MA10=78.21 MA20=77.92 MA60=70.26",
|
||||
"stop_loss": 80.81,
|
||||
"take_profit": 85.82,
|
||||
"entry_low": 80.0,
|
||||
"entry_high": 84.0,
|
||||
"action": "盈利良好 | ⚠️盈亏比偏低(1:1.3),不建议加仓 | 止损80.81 | 目标85.82 | 买入区80.0~84.0 | 信号:持有",
|
||||
"tech_snapshot": "形态:光头光脚阳线/bullish 量价:数据不足 强撑:75.93 弱撑:80.0 弱压:85.98 强压:89.4 | MA5=81.51 MA10=78.21 MA20=77.92 MA60=70.26",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=77.92 | MA60=70.26 | 长撑:MA20=77.92 | 长压:周强阻=93.0",
|
||||
"reassessed_at": "2026-06-29 12:06",
|
||||
"reassessed_at": "2026-06-29 15:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 2.17,
|
||||
"action_note": "",
|
||||
"rr_ratio": 1.27,
|
||||
"action_note": "⚠️盈亏比偏低(1:1.3),不建议加仓",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 77.11,
|
||||
"entry_zone": "79.7~83.53",
|
||||
"take_profit_zone": "0~84.29"
|
||||
"stop_loss": 80.81,
|
||||
"entry_zone": "80.0~84.0",
|
||||
"take_profit_zone": "0~85.82"
|
||||
},
|
||||
"price": 70.74,
|
||||
"change_pct": 1.88,
|
||||
"market_value": 37970.0
|
||||
"price": 73.26,
|
||||
"change_pct": 5.5
|
||||
},
|
||||
{
|
||||
"code": "300548",
|
||||
@@ -475,34 +462,33 @@
|
||||
"cost": 231.46,
|
||||
"position_pct": 3.2,
|
||||
"is_active": 1,
|
||||
"stop_loss": 214.83,
|
||||
"take_profit": 255.28,
|
||||
"entry_low": 239.2,
|
||||
"entry_high": 251.16,
|
||||
"stop_loss": 223.68,
|
||||
"take_profit": 257.59,
|
||||
"entry_low": 241.53,
|
||||
"entry_high": 253.61,
|
||||
"action": "盈利良好 | 短炒强趋势持 | 止损251.24 | 目标413.9 | 买入区269.8~283.29 | 信号:强趋势持",
|
||||
"strategy_updated": "2026-06-19 16:01",
|
||||
"analysis": {
|
||||
"stop_loss": 214.83,
|
||||
"take_profit": 255.28,
|
||||
"entry_low": 239.2,
|
||||
"entry_high": 251.16,
|
||||
"action": "盈利良好 | 止损214.83 | 目标255.28 | 买入区239.2~251.16 | 信号:持有",
|
||||
"tech_snapshot": "形态:光头光脚阴线/bearish 量价:主动买盘占优 强撑:212.7 弱撑:239.2 弱压:263.06 强压:295.46 | MA5=282.18 MA10=273.89 MA20=252.1 MA60=241.84",
|
||||
"stop_loss": 223.68,
|
||||
"take_profit": 257.59,
|
||||
"entry_low": 241.53,
|
||||
"entry_high": 253.61,
|
||||
"action": "盈利良好 | 止损223.68 | 目标257.59 | 买入区241.53~253.61 | 信号:持有",
|
||||
"tech_snapshot": "形态:带下影阴线/neutral 量价:主动买盘占优 强撑:212.34 弱撑:241.53 弱压:266.91 强压:298.14 | MA5=282.18 MA10=273.89 MA20=252.1 MA60=241.84",
|
||||
"multi_tf_context": "多周期看多 | MA20=252.1 | MA60=241.84 | 长撑:MA20=252.1 | 长压:日强阻=309.98",
|
||||
"reassessed_at": "2026-06-29 12:07",
|
||||
"reassessed_at": "2026-06-29 15:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 5.27,
|
||||
"rr_ratio": 3.86,
|
||||
"action_note": "",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 214.83,
|
||||
"entry_zone": "239.2~251.16",
|
||||
"take_profit_zone": "0~255.28"
|
||||
"stop_loss": 223.68,
|
||||
"entry_zone": "241.53~253.61",
|
||||
"take_profit_zone": "0~257.59"
|
||||
},
|
||||
"price": 248.18,
|
||||
"change_pct": -5.51,
|
||||
"market_value": 23146.0
|
||||
"price": 253.19,
|
||||
"change_pct": -3.6
|
||||
},
|
||||
{
|
||||
"code": "518880",
|
||||
@@ -511,34 +497,33 @@
|
||||
"cost": 12.19,
|
||||
"position_pct": 2.45,
|
||||
"is_active": 1,
|
||||
"stop_loss": 7.77,
|
||||
"take_profit": 9.03,
|
||||
"entry_low": 7.63,
|
||||
"entry_high": 8.9,
|
||||
"stop_loss": 7.91,
|
||||
"take_profit": 9.02,
|
||||
"entry_low": 7.6,
|
||||
"entry_high": 8.87,
|
||||
"action": "深套持有 | 深套持有 | 止损7.05 | 目标9.17 | 买入区8.02~9.35 | 信号:持有",
|
||||
"strategy_updated": "2026-06-19 16:01",
|
||||
"analysis": {
|
||||
"stop_loss": 7.77,
|
||||
"take_profit": 9.03,
|
||||
"entry_low": 7.63,
|
||||
"entry_high": 8.9,
|
||||
"action": "深套持有 | 深套持有 | 止损7.77 | 目标9.03 | 买入区7.63~8.9 | 信号:持有",
|
||||
"tech_snapshot": "形态:光头光脚阳线/bullish 量价:数据不足 强撑:7.79 弱撑:8.39 弱压:8.49 强压:9.14 | MA5=9.56 MA10=9.52 MA20=9.74 MA60=10.33",
|
||||
"stop_loss": 7.91,
|
||||
"take_profit": 9.02,
|
||||
"entry_low": 7.6,
|
||||
"entry_high": 8.87,
|
||||
"action": "深套持有 | 深套持有 | 止损7.91 | 目标9.02 | 买入区7.6~8.87 | 信号:持有",
|
||||
"tech_snapshot": "形态:锤子线/T字线/bullish 量价:数据不足 强撑:7.77 弱撑:8.39 弱压:8.48 强压:9.12 | MA5=9.56 MA10=9.52 MA20=9.74 MA60=10.33",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=9.74 | MA60=10.33 | 长撑:日弱支撑=8.29 | 长压:周强阻=10.15",
|
||||
"reassessed_at": "2026-06-29 12:07",
|
||||
"reassessed_at": "2026-06-29 15:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.52,
|
||||
"rr_ratio": 0.53,
|
||||
"action_note": "深套持有",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 7.77,
|
||||
"entry_zone": "7.63~8.9",
|
||||
"take_profit_zone": "0~9.03"
|
||||
"stop_loss": 7.91,
|
||||
"entry_zone": "7.6~8.87",
|
||||
"take_profit_zone": "0~9.02"
|
||||
},
|
||||
"price": 8.47,
|
||||
"change_pct": 1.01,
|
||||
"market_value": 29256.0
|
||||
"price": 8.45,
|
||||
"change_pct": 0.67
|
||||
},
|
||||
{
|
||||
"code": "300035",
|
||||
@@ -547,34 +532,33 @@
|
||||
"cost": 22.29,
|
||||
"position_pct": 2.42,
|
||||
"is_active": 1,
|
||||
"stop_loss": 12.96,
|
||||
"take_profit": 15.26,
|
||||
"entry_low": 12.71,
|
||||
"entry_high": 14.83,
|
||||
"stop_loss": 13.28,
|
||||
"take_profit": 15.29,
|
||||
"entry_low": 12.77,
|
||||
"entry_high": 14.9,
|
||||
"action": "深套持有 | 深套持有 | 止损13.74 | 目标19.0 | 买入区15.63~18.24 | 信号:持有",
|
||||
"strategy_updated": "2026-06-19 16:01",
|
||||
"analysis": {
|
||||
"stop_loss": 12.96,
|
||||
"take_profit": 15.26,
|
||||
"entry_low": 12.71,
|
||||
"entry_high": 14.83,
|
||||
"action": "深套持有 | 深套持有 | 止损12.96 | 目标15.26 | 买入区12.71~14.83 | 信号:持有",
|
||||
"tech_snapshot": "形态:锤子线/T字线/bullish 量价:主动卖盘占优 强撑:12.68 弱撑:13.8 弱压:14.37 强压:15.44 | MA5=21.64 MA10=21.74 MA20=22.02 MA60=21.43",
|
||||
"stop_loss": 13.28,
|
||||
"take_profit": 15.29,
|
||||
"entry_low": 12.77,
|
||||
"entry_high": 14.9,
|
||||
"action": "深套持有 | 深套持有 | 止损13.28 | 目标15.29 | 买入区12.77~14.9 | 信号:持有",
|
||||
"tech_snapshot": "形态:锤子线/T字线/bullish 量价:主动卖盘占优 强撑:12.7 弱撑:13.85 弱压:14.42 强压:15.46 | MA5=21.64 MA10=21.74 MA20=22.02 MA60=21.43",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=22.02 | MA60=21.43 | 长压:日强阻=18.23",
|
||||
"reassessed_at": "2026-06-29 12:07",
|
||||
"reassessed_at": "2026-06-29 15:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.62,
|
||||
"rr_ratio": 0.6,
|
||||
"action_note": "深套持有",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 12.96,
|
||||
"entry_zone": "12.71~14.83",
|
||||
"take_profit_zone": "0~15.26"
|
||||
"stop_loss": 13.28,
|
||||
"entry_zone": "12.77~14.9",
|
||||
"take_profit_zone": "0~15.29"
|
||||
},
|
||||
"price": 14.12,
|
||||
"change_pct": -0.49,
|
||||
"market_value": 31206.0
|
||||
"price": 14.19,
|
||||
"change_pct": 0.0
|
||||
},
|
||||
{
|
||||
"code": "000700",
|
||||
@@ -594,13 +578,13 @@
|
||||
"take_profit": 15.54,
|
||||
"entry_low": 13.33,
|
||||
"entry_high": 14.09,
|
||||
"action": "持有观察 | 止损13.91 | 目标15.54 | 买入区13.33~14.09 | 信号:持有",
|
||||
"tech_snapshot": "形态:带上影阴线/bearish 量价:主动买盘占优 强撑:12.72 弱撑:13.2 弱压:14.25 强压:15.54 | MA5=14.54 MA10=15.05 MA20=15.38 MA60=13.59",
|
||||
"action": "持有观察 | ⚠️盈亏比偏低(1:1.5),不建议加仓 | 止损13.91 | 目标15.54 | 买入区13.33~14.09 | 信号:持有",
|
||||
"tech_snapshot": "形态:小阴线/bearish 量价:主动买盘占优 强撑:12.72 弱撑:13.32 弱压:14.49 强压:15.54 | MA5=14.54 MA10=15.05 MA20=15.38 MA60=13.59",
|
||||
"multi_tf_context": "多周期看多 | MA20=15.38 | MA60=13.59 | 长撑:日弱支撑=13.78 | 长压:日强阻=18.66",
|
||||
"reassessed_at": "2026-06-29 12:06",
|
||||
"reassessed_at": "2026-06-29 15:10",
|
||||
"status": "manual",
|
||||
"rr_ratio": 14.52,
|
||||
"action_note": "",
|
||||
"rr_ratio": 12.12,
|
||||
"action_note": "⚠️盈亏比偏低(1:1.5),不建议加仓",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
@@ -608,9 +592,43 @@
|
||||
"entry_zone": "13.33~14.09",
|
||||
"take_profit_zone": "0~15.54"
|
||||
},
|
||||
"price": 13.57,
|
||||
"change_pct": -3.96,
|
||||
"market_value": 20762.0
|
||||
"price": 13.86,
|
||||
"change_pct": -1.91
|
||||
},
|
||||
{
|
||||
"code": "600563",
|
||||
"name": "法拉电子",
|
||||
"shares": 100,
|
||||
"cost": 147.18,
|
||||
"position_pct": 2.3,
|
||||
"is_active": 1,
|
||||
"stop_loss": 167.33,
|
||||
"take_profit": 179.4,
|
||||
"entry_low": 183.73,
|
||||
"entry_high": 192.92,
|
||||
"action": "盈利良好 | 止损161.41 | 目标192.67 | 买入区165.51~173.79 | 信号:持有",
|
||||
"strategy_updated": "2026-06-19 16:01",
|
||||
"analysis": {
|
||||
"stop_loss": 167.33,
|
||||
"take_profit": 179.4,
|
||||
"entry_low": 183.73,
|
||||
"entry_high": 192.92,
|
||||
"action": "盈利良好 | 止损167.33 | 目标179.4 | 买入区183.73~192.92 | 信号:持有",
|
||||
"tech_snapshot": "形态:倒T线/射击之星/neutral 量价:买卖均衡 强撑:170.17 弱撑:183.73 弱压:196.93 强压:207.64 | MA5=178.6 MA10=169.98 MA20=164.66 MA60=141.48",
|
||||
"multi_tf_context": "多周期看多 | MA20=164.66 | MA60=141.48 | 长撑:MA20=164.66 | 长压:日强阻=195.5",
|
||||
"reassessed_at": "2026-06-29 15:12",
|
||||
"status": "updated",
|
||||
"rr_ratio": 3.22,
|
||||
"action_note": "",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 167.33,
|
||||
"entry_zone": "183.73~192.92",
|
||||
"take_profit_zone": "0~179.4"
|
||||
},
|
||||
"price": 189.4,
|
||||
"change_pct": 0.34
|
||||
},
|
||||
{
|
||||
"code": "01088",
|
||||
@@ -619,34 +637,33 @@
|
||||
"cost": 45.89,
|
||||
"position_pct": 2.14,
|
||||
"is_active": 1,
|
||||
"stop_loss": 39.98,
|
||||
"take_profit": 43.67,
|
||||
"entry_low": 40.53,
|
||||
"entry_high": 40.88,
|
||||
"stop_loss": 40.06,
|
||||
"take_profit": 43.8,
|
||||
"entry_low": 40.49,
|
||||
"entry_high": 40.98,
|
||||
"action": "持有观察 | ⚠️盈亏比偏低(1:1.3),不建议加仓 | 止损35.09 | 目标42.9 | 买入区41.66~42.8 | 信号:持有",
|
||||
"strategy_updated": "2026-06-19 16:01",
|
||||
"analysis": {
|
||||
"stop_loss": 39.98,
|
||||
"take_profit": 43.67,
|
||||
"entry_low": 40.53,
|
||||
"entry_high": 40.88,
|
||||
"action": "持有观察 | ⚠️盈亏比偏低(1:0.8),不建议加仓 | 止损39.98 | 目标43.67 | 买入区40.53~40.88 | 信号:持有",
|
||||
"tech_snapshot": "形态:光头光脚阳线/bullish 量价:数据不足 强撑:37.58 弱撑:40.53 弱压:41.57 强压:44.17 | MA5=41.55 MA10=42.48 MA20=44.3 MA60=45.37",
|
||||
"stop_loss": 40.06,
|
||||
"take_profit": 43.8,
|
||||
"entry_low": 40.49,
|
||||
"entry_high": 40.98,
|
||||
"action": "持有观察 | ⚠️盈亏比偏低(1:0.8),不建议加仓 | 止损40.06 | 目标43.8 | 买入区40.49~40.98 | 信号:持有",
|
||||
"tech_snapshot": "形态:光头光脚阳线/bullish 量价:数据不足 强撑:37.68 弱撑:40.49 弱压:41.79 强压:44.29 | MA5=41.55 MA10=42.48 MA20=44.3 MA60=45.37",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=44.3 | MA60=45.37 | 长撑:日弱支撑=40.44 | 长压:月强阻=49.62",
|
||||
"reassessed_at": "2026-06-29 12:06",
|
||||
"reassessed_at": "2026-06-29 15:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.81,
|
||||
"rr_ratio": 0.83,
|
||||
"action_note": "⚠️盈亏比偏低(1:0.8),不建议加仓",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 39.98,
|
||||
"entry_zone": "40.53~40.88",
|
||||
"take_profit_zone": "0~43.67"
|
||||
"stop_loss": 40.06,
|
||||
"entry_zone": "40.49~40.98",
|
||||
"take_profit_zone": "0~43.8"
|
||||
},
|
||||
"price": 35.76,
|
||||
"change_pct": 1.43,
|
||||
"market_value": 22945.0
|
||||
"price": 35.78,
|
||||
"change_pct": 1.48
|
||||
}
|
||||
],
|
||||
"cash": 92664.2,
|
||||
@@ -654,7 +671,7 @@
|
||||
"total_assets": 1239815.6,
|
||||
"total_pl": 0,
|
||||
"position_pct": 88.25,
|
||||
"updated_at": "2026-06-29 12:38",
|
||||
"updated_at": "2026-06-29 15:23",
|
||||
"source": "/home/hmo/stocks/holding.xls",
|
||||
"frozen_cash": 39481.4,
|
||||
"available_cash": 73758.85,
|
||||
|
||||
@@ -5299,6 +5299,386 @@
|
||||
"event_label": "止盈区间",
|
||||
"timestamp": "2026-06-29T12:04:20.775936",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "601318",
|
||||
"name": "中国平安",
|
||||
"event_type": "entry_zone",
|
||||
"price": 48.55,
|
||||
"trigger_value": "47.58~48.56",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T13:12:24.695868",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "002594",
|
||||
"name": "比亚迪",
|
||||
"event_type": "entry_zone",
|
||||
"price": 79.75,
|
||||
"trigger_value": "78.13~79.85",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T13:16:25.226305",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "688795",
|
||||
"name": "摩尔线程-U",
|
||||
"event_type": "entry_zone",
|
||||
"price": 691.84,
|
||||
"trigger_value": "677.19~693.59",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T13:16:27.532958",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "02628",
|
||||
"name": "中国人寿",
|
||||
"event_type": "entry_zone",
|
||||
"price": 27.84,
|
||||
"trigger_value": "27.34~27.98",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T13:28:33.502709",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "688795",
|
||||
"name": "摩尔线程-U",
|
||||
"event_type": "entry_zone",
|
||||
"price": 700.31,
|
||||
"trigger_value": "681.68~702.49",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T13:28:35.273498",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "02628",
|
||||
"name": "中国人寿",
|
||||
"event_type": "entry_zone",
|
||||
"price": 27.88,
|
||||
"trigger_value": "27.28~27.94",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T13:32:46.206445",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "688795",
|
||||
"name": "摩尔线程-U",
|
||||
"event_type": "entry_zone",
|
||||
"price": 700.4,
|
||||
"trigger_value": "686.48~702.49",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T13:32:49.738883",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "518880",
|
||||
"name": "黄金ETF华安",
|
||||
"event_type": "entry_zone",
|
||||
"price": 8.42,
|
||||
"trigger_value": "0~8.76",
|
||||
"event_label": "止盈区间",
|
||||
"timestamp": "2026-06-29T13:34:49.340891",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "00700",
|
||||
"name": "腾讯控股",
|
||||
"event_type": "entry_zone",
|
||||
"price": 423.2,
|
||||
"trigger_value": "411.8~423.8",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T13:40:53.424720",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "300124",
|
||||
"name": "汇川技术",
|
||||
"event_type": "entry_zone",
|
||||
"price": 64.01,
|
||||
"trigger_value": "62.89~64.65",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T13:40:56.379356",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "002594",
|
||||
"name": "比亚迪",
|
||||
"event_type": "entry_zone",
|
||||
"price": 79.67,
|
||||
"trigger_value": "77.98~79.74",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T13:48:05.635207",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "300124",
|
||||
"name": "汇川技术",
|
||||
"event_type": "entry_zone",
|
||||
"price": 65.09,
|
||||
"trigger_value": "63.45~65.13",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T13:48:06.996123",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "600519",
|
||||
"name": "贵州茅台",
|
||||
"event_type": "entry_zone",
|
||||
"price": 1194.88,
|
||||
"trigger_value": "1170.48~1195.44",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T13:48:07.169069",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "601318",
|
||||
"name": "中国平安",
|
||||
"event_type": "entry_zone",
|
||||
"price": 48.45,
|
||||
"trigger_value": "47.51~48.48",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T13:50:06.230543",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "688981",
|
||||
"name": "中芯国际",
|
||||
"event_type": "entry_zone",
|
||||
"price": 150.59,
|
||||
"trigger_value": "143.55~150.73",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T13:50:08.175321",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "00700",
|
||||
"name": "腾讯控股",
|
||||
"event_type": "entry_zone",
|
||||
"price": 423.4,
|
||||
"trigger_value": "411.8~423.73",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T13:52:08.200375",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "688795",
|
||||
"name": "摩尔线程-U",
|
||||
"event_type": "entry_zone",
|
||||
"price": 701.76,
|
||||
"trigger_value": "686.0~702.63",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T13:52:08.376855",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "300548",
|
||||
"name": "长芯博创",
|
||||
"event_type": "entry_zone",
|
||||
"price": 252.46,
|
||||
"trigger_value": "240.65~252.68",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T13:54:08.586170",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "688981",
|
||||
"name": "中芯国际",
|
||||
"event_type": "entry_zone",
|
||||
"price": 150.12,
|
||||
"trigger_value": "143.34~150.51",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T13:56:10.582829",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "300124",
|
||||
"name": "汇川技术",
|
||||
"event_type": "entry_zone",
|
||||
"price": 65.81,
|
||||
"trigger_value": "64.47~65.91",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T13:58:15.649330",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "688795",
|
||||
"name": "摩尔线程-U",
|
||||
"event_type": "entry_zone",
|
||||
"price": 702.8,
|
||||
"trigger_value": "687.96~702.97",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T13:58:17.796797",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "300308",
|
||||
"name": "中际旭创",
|
||||
"event_type": "entry_zone",
|
||||
"price": 1212.85,
|
||||
"trigger_value": "1167.99~1216.1",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T14:00:28.977972",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "688981",
|
||||
"name": "中芯国际",
|
||||
"event_type": "entry_zone",
|
||||
"price": 150.63,
|
||||
"trigger_value": "144.0~151.2",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T14:04:36.667548",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "688795",
|
||||
"name": "摩尔线程-U",
|
||||
"event_type": "entry_zone",
|
||||
"price": 700.42,
|
||||
"trigger_value": "688.8~702.93",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T14:06:41.553640",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "300124",
|
||||
"name": "汇川技术",
|
||||
"event_type": "entry_zone",
|
||||
"price": 65.42,
|
||||
"trigger_value": "64.1~65.46",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T14:14:51.556374",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "300548",
|
||||
"name": "长芯博创",
|
||||
"event_type": "entry_zone",
|
||||
"price": 251.25,
|
||||
"trigger_value": "240.87~252.91",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T14:14:53.153846",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "601318",
|
||||
"name": "中国平安",
|
||||
"event_type": "entry_zone",
|
||||
"price": 48.49,
|
||||
"trigger_value": "47.52~48.49",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T14:18:56.358778",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "300308",
|
||||
"name": "中际旭创",
|
||||
"event_type": "entry_zone",
|
||||
"price": 1214.1,
|
||||
"trigger_value": "1168.95~1216.58",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T14:34:13.493124",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "688981",
|
||||
"name": "中芯国际",
|
||||
"event_type": "entry_zone",
|
||||
"price": 148.88,
|
||||
"trigger_value": "142.77~149.91",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T14:34:18.543871",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "688630",
|
||||
"name": "芯碁微装",
|
||||
"event_type": "entry_zone",
|
||||
"price": 542.1,
|
||||
"trigger_value": "531.16~542.22",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T14:36:14.967114",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "688981",
|
||||
"name": "中芯国际",
|
||||
"event_type": "entry_zone",
|
||||
"price": 149.65,
|
||||
"trigger_value": "142.94~150.09",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T14:40:20.036549",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "300308",
|
||||
"name": "中际旭创",
|
||||
"event_type": "entry_zone",
|
||||
"price": 1215.58,
|
||||
"trigger_value": "1170.92~1217.57",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T14:42:20.627552",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "601318",
|
||||
"name": "中国平安",
|
||||
"event_type": "entry_zone",
|
||||
"price": 48.47,
|
||||
"trigger_value": "47.51~48.49",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T14:44:22.882398",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "601318",
|
||||
"name": "中国平安",
|
||||
"event_type": "entry_zone",
|
||||
"price": 48.46,
|
||||
"trigger_value": "47.51~48.49",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T14:48:26.528220",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "688981",
|
||||
"name": "中芯国际",
|
||||
"event_type": "entry_zone",
|
||||
"price": 149.98,
|
||||
"trigger_value": "142.92~150.07",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T14:48:28.172626",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "601318",
|
||||
"name": "中国平安",
|
||||
"event_type": "entry_zone",
|
||||
"price": 48.49,
|
||||
"trigger_value": "47.53~48.5",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T14:56:35.987585",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "00700",
|
||||
"name": "腾讯控股",
|
||||
"event_type": "entry_zone",
|
||||
"price": 422.2,
|
||||
"trigger_value": "411.8~423.53",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T15:10:50.407974",
|
||||
"date": "2026-06-29"
|
||||
},
|
||||
{
|
||||
"code": "06869",
|
||||
"name": "长飞光纤光缆",
|
||||
"event_type": "entry_zone",
|
||||
"price": 241.2,
|
||||
"trigger_value": "227.27~241.93",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-06-29T15:10:52.129972",
|
||||
"date": "2026-06-29"
|
||||
}
|
||||
]
|
||||
}
|
||||
+41
-41
@@ -10,7 +10,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 798.98,
|
||||
"low": 720.0,
|
||||
"close": 786.05
|
||||
"close": 793.55
|
||||
}
|
||||
],
|
||||
"000657": [
|
||||
@@ -24,7 +24,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 109.68,
|
||||
"low": 91.68,
|
||||
"close": 93.04
|
||||
"close": 95.57
|
||||
}
|
||||
],
|
||||
"000700": [
|
||||
@@ -37,8 +37,8 @@
|
||||
{
|
||||
"date": "2026-06-29",
|
||||
"high": 15.28,
|
||||
"low": 13.52,
|
||||
"close": 13.57
|
||||
"low": 13.4,
|
||||
"close": 13.86
|
||||
}
|
||||
],
|
||||
"000711": [
|
||||
@@ -66,7 +66,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 980.0,
|
||||
"low": 872.31,
|
||||
"close": 924.0
|
||||
"close": 970.0
|
||||
}
|
||||
],
|
||||
"002594": [
|
||||
@@ -80,7 +80,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 81.8,
|
||||
"low": 77.6,
|
||||
"close": 80.26
|
||||
"close": 79.64
|
||||
}
|
||||
],
|
||||
"00700": [
|
||||
@@ -94,7 +94,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 432.0,
|
||||
"low": 411.0,
|
||||
"close": 429.0
|
||||
"close": 422.2
|
||||
}
|
||||
],
|
||||
"00968": [
|
||||
@@ -122,7 +122,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 85.25,
|
||||
"low": 79.05,
|
||||
"close": 81.95
|
||||
"close": 84.15
|
||||
}
|
||||
],
|
||||
"01070": [
|
||||
@@ -136,7 +136,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 13.0,
|
||||
"low": 12.4,
|
||||
"close": 12.85
|
||||
"close": 12.9
|
||||
}
|
||||
],
|
||||
"01088": [
|
||||
@@ -148,9 +148,9 @@
|
||||
},
|
||||
{
|
||||
"date": "2026-06-29",
|
||||
"high": 41.22,
|
||||
"high": 41.48,
|
||||
"low": 40.0,
|
||||
"close": 41.22
|
||||
"close": 41.3
|
||||
}
|
||||
],
|
||||
"01211": [
|
||||
@@ -164,7 +164,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 75.55,
|
||||
"low": 72.2,
|
||||
"close": 74.15
|
||||
"close": 73.35
|
||||
}
|
||||
],
|
||||
"01478": [
|
||||
@@ -178,7 +178,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 7.17,
|
||||
"low": 6.6,
|
||||
"close": 6.85
|
||||
"close": 6.92
|
||||
}
|
||||
],
|
||||
"01888": [
|
||||
@@ -192,7 +192,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 103.5,
|
||||
"low": 89.05,
|
||||
"close": 89.5
|
||||
"close": 96.55
|
||||
}
|
||||
],
|
||||
"02202": [
|
||||
@@ -206,7 +206,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 2.36,
|
||||
"low": 2.16,
|
||||
"close": 2.24
|
||||
"close": 2.22
|
||||
}
|
||||
],
|
||||
"02318": [
|
||||
@@ -220,7 +220,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 52.45,
|
||||
"low": 50.0,
|
||||
"close": 52.4
|
||||
"close": 52.05
|
||||
}
|
||||
],
|
||||
"02359": [
|
||||
@@ -234,7 +234,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 154.6,
|
||||
"low": 143.4,
|
||||
"close": 153.3
|
||||
"close": 153.8
|
||||
}
|
||||
],
|
||||
"02388": [
|
||||
@@ -248,7 +248,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 46.3,
|
||||
"low": 43.42,
|
||||
"close": 43.5
|
||||
"close": 43.66
|
||||
}
|
||||
],
|
||||
"02628": [
|
||||
@@ -262,7 +262,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 28.56,
|
||||
"low": 26.7,
|
||||
"close": 28.28
|
||||
"close": 27.76
|
||||
}
|
||||
],
|
||||
"06160": [
|
||||
@@ -276,7 +276,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 177.0,
|
||||
"low": 164.7,
|
||||
"close": 175.3
|
||||
"close": 175.8
|
||||
}
|
||||
],
|
||||
"06869": [
|
||||
@@ -290,7 +290,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 286.8,
|
||||
"low": 227.2,
|
||||
"close": 229.0
|
||||
"close": 241.2
|
||||
}
|
||||
],
|
||||
"09868": [
|
||||
@@ -304,7 +304,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 49.14,
|
||||
"low": 45.32,
|
||||
"close": 48.28
|
||||
"close": 47.5
|
||||
}
|
||||
],
|
||||
"09988": [
|
||||
@@ -318,7 +318,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 95.45,
|
||||
"low": 88.65,
|
||||
"close": 95.2
|
||||
"close": 93.4
|
||||
}
|
||||
],
|
||||
"300035": [
|
||||
@@ -332,7 +332,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 15.12,
|
||||
"low": 13.74,
|
||||
"close": 14.12
|
||||
"close": 14.19
|
||||
}
|
||||
],
|
||||
"300124": [
|
||||
@@ -346,7 +346,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 66.75,
|
||||
"low": 62.01,
|
||||
"close": 62.4
|
||||
"close": 65.23
|
||||
}
|
||||
],
|
||||
"300308": [
|
||||
@@ -360,7 +360,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 1296.94,
|
||||
"low": 1169.49,
|
||||
"close": 1178.1
|
||||
"close": 1220.0
|
||||
}
|
||||
],
|
||||
"300548": [
|
||||
@@ -373,8 +373,8 @@
|
||||
{
|
||||
"date": "2026-06-29",
|
||||
"high": 286.48,
|
||||
"low": 245.1,
|
||||
"close": 248.18
|
||||
"low": 243.58,
|
||||
"close": 253.19
|
||||
}
|
||||
],
|
||||
"300750": [
|
||||
@@ -388,7 +388,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 409.81,
|
||||
"low": 378.2,
|
||||
"close": 392.1
|
||||
"close": 392.36
|
||||
}
|
||||
],
|
||||
"518880": [
|
||||
@@ -402,7 +402,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 8.479,
|
||||
"low": 8.293,
|
||||
"close": 8.475
|
||||
"close": 8.449
|
||||
}
|
||||
],
|
||||
"600519": [
|
||||
@@ -416,7 +416,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 1215.0,
|
||||
"low": 1151.01,
|
||||
"close": 1206.29
|
||||
"close": 1194.96
|
||||
}
|
||||
],
|
||||
"600563": [
|
||||
@@ -430,7 +430,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 198.8,
|
||||
"low": 177.7,
|
||||
"close": 188.61
|
||||
"close": 189.4
|
||||
}
|
||||
],
|
||||
"601318": [
|
||||
@@ -444,7 +444,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 49.49,
|
||||
"low": 46.9,
|
||||
"close": 48.53
|
||||
"close": 48.6
|
||||
}
|
||||
],
|
||||
"601899": [
|
||||
@@ -456,9 +456,9 @@
|
||||
},
|
||||
{
|
||||
"date": "2026-06-29",
|
||||
"high": 25.9,
|
||||
"high": 25.96,
|
||||
"low": 24.86,
|
||||
"close": 25.56
|
||||
"close": 25.79
|
||||
}
|
||||
],
|
||||
"688411": [
|
||||
@@ -472,7 +472,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 288.49,
|
||||
"low": 255.19,
|
||||
"close": 283.6
|
||||
"close": 286.0
|
||||
}
|
||||
],
|
||||
"688630": [
|
||||
@@ -486,7 +486,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 558.0,
|
||||
"low": 503.66,
|
||||
"close": 507.0
|
||||
"close": 548.07
|
||||
}
|
||||
],
|
||||
"688639": [
|
||||
@@ -498,9 +498,9 @@
|
||||
},
|
||||
{
|
||||
"date": "2026-06-29",
|
||||
"high": 16.75,
|
||||
"high": 16.95,
|
||||
"low": 14.52,
|
||||
"close": 16.47
|
||||
"close": 16.63
|
||||
}
|
||||
],
|
||||
"688795": [
|
||||
@@ -514,7 +514,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 708.2,
|
||||
"low": 663.8,
|
||||
"close": 696.24
|
||||
"close": 703.18
|
||||
}
|
||||
],
|
||||
"688981": [
|
||||
@@ -528,7 +528,7 @@
|
||||
"date": "2026-06-29",
|
||||
"high": 156.22,
|
||||
"low": 141.0,
|
||||
"close": 145.1
|
||||
"close": 151.0
|
||||
}
|
||||
],
|
||||
"002015": [
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
#!/usr/bin/env python3
|
||||
"""data_freshness.py — 数据新鲜度校验
|
||||
|
||||
所有报告管道在生成输出前必须调用 check_fresh()。
|
||||
返回 (pass: bool, details: str),如果数据过期则阻止生成操作建议。
|
||||
|
||||
用法:
|
||||
from data_freshness import check_fresh
|
||||
ok, msg = check_fresh()
|
||||
if not ok:
|
||||
print(f"⚠️ 数据过期: {msg}")
|
||||
sys.exit(0) # 不生成报告
|
||||
|
||||
校验规则:
|
||||
- 盘中 (9:30~15:00):price/live_prices.json 必须在 5 分钟内刷新
|
||||
- 盘后 (9:30以前/15:00以后):允许最长 120 分钟
|
||||
- 周末/节假日:跳过校验
|
||||
"""
|
||||
|
||||
import json, os
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
LIVE_PRICES_PATH = "/home/hmo/web-dashboard/data/live_prices.json"
|
||||
PORTFOLIO_PATH = "/home/hmo/web-dashboard/data/portfolio.json"
|
||||
|
||||
|
||||
def is_market_hours():
|
||||
now = datetime.now()
|
||||
if now.weekday() >= 5: # 周六日
|
||||
return False, "weekend"
|
||||
t = now.hour * 60 + now.minute
|
||||
if 9*60+30 <= t <= 15*60:
|
||||
return True, "trading"
|
||||
return False, "closed"
|
||||
|
||||
|
||||
def check_fresh():
|
||||
"""返回 (ok: bool, msg: str)"""
|
||||
now = datetime.now()
|
||||
|
||||
# 先看是不是交易日
|
||||
in_market, period = is_market_hours()
|
||||
|
||||
max_age_min = 5 if in_market else 120
|
||||
|
||||
# 主指标:live_prices.json
|
||||
if os.path.exists(LIVE_PRICES_PATH):
|
||||
try:
|
||||
lp = json.load(open(LIVE_PRICES_PATH))
|
||||
lp_time = lp.get("updated_at", "")
|
||||
if not lp_time:
|
||||
return False, "live_prices.json updated_at 为空"
|
||||
lp_dt = datetime.fromisoformat(lp_time)
|
||||
age = (now - lp_dt).total_seconds() / 60
|
||||
if age > max_age_min:
|
||||
return False, f"live_prices.json 已 {age:.0f} 分钟未更新(阈值 {max_age_min} 分钟)"
|
||||
return True, f"数据新鲜({age:.0f} 分钟前)"
|
||||
except Exception as e:
|
||||
return False, f"live_prices.json 读取失败: {e}"
|
||||
else:
|
||||
# fallback: portfolio.json
|
||||
if os.path.exists(PORTFOLIO_PATH):
|
||||
try:
|
||||
pf = json.load(open(PORTFOLIO_PATH))
|
||||
pf_time = pf.get("updated_at", "")
|
||||
if not pf_time:
|
||||
return False, "portfolio.json updated_at 为空"
|
||||
pf_dt = datetime.fromisoformat(pf_time)
|
||||
age = (now - pf_dt).total_seconds() / 60
|
||||
if age > max_age_min:
|
||||
return False, f"portfolio.json 已 {age:.0f} 分钟未更新(阈值 {max_age_min} 分钟)"
|
||||
return True, f"数据新鲜(portfolio.json {age:.0f} 分钟前)"
|
||||
except Exception as e:
|
||||
return False, f"portfolio.json 读取失败: {e}"
|
||||
return False, "live_prices.json 和 portfolio.json 均不存在"
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
ok, msg = check_fresh()
|
||||
print(f"{'✅' if ok else '❌'} {msg}")
|
||||
@@ -135,6 +135,17 @@ def refresh_data_prices():
|
||||
prices = fetch_all_prices(list(all_codes))
|
||||
updated = 0
|
||||
|
||||
# 保存全量实时价快照(供报告管道消费,确保分析用最新数据)
|
||||
try:
|
||||
live = {"updated_at": datetime.now().isoformat(), "prices": {}}
|
||||
for code in all_codes:
|
||||
if code in prices:
|
||||
p, c, chg = prices[code]
|
||||
live["prices"][code] = {"price": p, "change_pct": chg}
|
||||
json.dump(live, open("/home/hmo/web-dashboard/data/live_prices.json", "w"), indent=2)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
# 更新portfolio(只在价格变化时写入,避免触发文件变更通知)
|
||||
changed = False
|
||||
for s in pf.get('holdings', []):
|
||||
|
||||
Reference in New Issue
Block a user