data_snapshot统一数据入口+DB银行locked修复+建滔/现金修正
data_snapshot.py: 所有报告脚本的唯一数据入口(通过mo_data读DB) price_monitor.py: DB写入加了3次重试+PRAGMA busy_timeout=5000 quality gate: 新增GATE_PROFIT_EXISTS(止盈=0拦截)+GATE_9D_ANALYSIS 建滔(01888) DB已修正: price=84.9 HKD, cost=88.23 HKD, 浮亏-3.8% 现金已修正: 132,121.93 (frozen=0)
This commit is contained in:
+692
-1118
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
+39
-39
@@ -1254,7 +1254,7 @@
|
||||
"volume": 147766189.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044079.8071475
|
||||
"updated_at": 1783044576.9674063
|
||||
},
|
||||
"688795": {
|
||||
"daily": [
|
||||
@@ -2479,7 +2479,7 @@
|
||||
"volume": 4788252.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044075.0710294
|
||||
"updated_at": 1783044571.0953405
|
||||
},
|
||||
"000657": {
|
||||
"daily": [
|
||||
@@ -3736,7 +3736,7 @@
|
||||
"volume": 1051508.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783043801.3984435
|
||||
"updated_at": 1783044279.139402
|
||||
},
|
||||
"000700": {
|
||||
"daily": [
|
||||
@@ -4993,7 +4993,7 @@
|
||||
"volume": 1265397.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044082.483624
|
||||
"updated_at": 1783044579.2238038
|
||||
},
|
||||
"000711": {
|
||||
"daily": [
|
||||
@@ -6250,7 +6250,7 @@
|
||||
"volume": 496248.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783043809.399398
|
||||
"updated_at": 1783044280.294152
|
||||
},
|
||||
"001309": {
|
||||
"daily": [
|
||||
@@ -7507,7 +7507,7 @@
|
||||
"volume": 216663.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783043809.8826015
|
||||
"updated_at": 1783044280.6578274
|
||||
},
|
||||
"002594": {
|
||||
"daily": [
|
||||
@@ -8764,7 +8764,7 @@
|
||||
"volume": 934285.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783043810.5990129
|
||||
"updated_at": 1783044281.0604146
|
||||
},
|
||||
"00700": {
|
||||
"daily": [
|
||||
@@ -10029,7 +10029,7 @@
|
||||
"volume": 13032847.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044082.56566
|
||||
"updated_at": 1783044579.6525345
|
||||
},
|
||||
"00968": {
|
||||
"daily": [
|
||||
@@ -11294,7 +11294,7 @@
|
||||
"volume": 19422000.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783043816.8181129
|
||||
"updated_at": 1783044402.7002478
|
||||
},
|
||||
"00981": {
|
||||
"daily": [
|
||||
@@ -12559,7 +12559,7 @@
|
||||
"volume": 60114819.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044082.610872
|
||||
"updated_at": 1783044580.9424448
|
||||
},
|
||||
"01070": {
|
||||
"daily": [
|
||||
@@ -13824,7 +13824,7 @@
|
||||
"volume": 690000.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783043820.8069057
|
||||
"updated_at": 1783044403.9797754
|
||||
},
|
||||
"01088": {
|
||||
"daily": [
|
||||
@@ -15089,7 +15089,7 @@
|
||||
"volume": 2870057.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044082.658171
|
||||
"updated_at": 1783044582.7399487
|
||||
},
|
||||
"01211": {
|
||||
"daily": [
|
||||
@@ -16354,7 +16354,7 @@
|
||||
"volume": 13286402.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044082.704351
|
||||
"updated_at": 1783044583.044548
|
||||
},
|
||||
"01478": {
|
||||
"daily": [
|
||||
@@ -17619,7 +17619,7 @@
|
||||
"volume": 1618000.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044082.762224
|
||||
"updated_at": 1783044583.370647
|
||||
},
|
||||
"01888": {
|
||||
"daily": [
|
||||
@@ -18884,7 +18884,7 @@
|
||||
"volume": 29941901.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044082.8079357
|
||||
"updated_at": 1783044583.4335341
|
||||
},
|
||||
"02202": {
|
||||
"daily": [
|
||||
@@ -20149,7 +20149,7 @@
|
||||
"volume": 19786580.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044082.8632934
|
||||
"updated_at": 1783044583.4786484
|
||||
},
|
||||
"02318": {
|
||||
"daily": [
|
||||
@@ -21414,7 +21414,7 @@
|
||||
"volume": 11523457.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783043987.2388291
|
||||
"updated_at": 1783044418.3851635
|
||||
},
|
||||
"02359": {
|
||||
"daily": [
|
||||
@@ -22679,7 +22679,7 @@
|
||||
"volume": 1730975.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783043989.7541306
|
||||
"updated_at": 1783044544.4259086
|
||||
},
|
||||
"02388": {
|
||||
"daily": [
|
||||
@@ -23944,7 +23944,7 @@
|
||||
"volume": 3823095.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783043994.5000134
|
||||
"updated_at": 1783044545.07482
|
||||
},
|
||||
"02628": {
|
||||
"daily": [
|
||||
@@ -25209,7 +25209,7 @@
|
||||
"volume": 23110112.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783043995.2743292
|
||||
"updated_at": 1783044546.1469994
|
||||
},
|
||||
"06160": {
|
||||
"daily": [
|
||||
@@ -26474,7 +26474,7 @@
|
||||
"volume": 2575221.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783043997.9490442
|
||||
"updated_at": 1783044547.1597772
|
||||
},
|
||||
"06869": {
|
||||
"daily": [
|
||||
@@ -27739,7 +27739,7 @@
|
||||
"volume": 15066251.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044082.9308276
|
||||
"updated_at": 1783044583.5263205
|
||||
},
|
||||
"09868": {
|
||||
"daily": [
|
||||
@@ -29004,7 +29004,7 @@
|
||||
"volume": 10168056.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044008.095998
|
||||
"updated_at": 1783044551.0271091
|
||||
},
|
||||
"09988": {
|
||||
"daily": [
|
||||
@@ -30269,7 +30269,7 @@
|
||||
"volume": 35148396.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044018.1107671
|
||||
"updated_at": 1783044552.253174
|
||||
},
|
||||
"300035": {
|
||||
"daily": [
|
||||
@@ -31526,7 +31526,7 @@
|
||||
"volume": 230937.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044083.0047874
|
||||
"updated_at": 1783044583.6714017
|
||||
},
|
||||
"300124": {
|
||||
"daily": [
|
||||
@@ -32783,7 +32783,7 @@
|
||||
"volume": 722493.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044032.832553
|
||||
"updated_at": 1783044554.080632
|
||||
},
|
||||
"300308": {
|
||||
"daily": [
|
||||
@@ -34040,7 +34040,7 @@
|
||||
"volume": 389058.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044083.0894234
|
||||
"updated_at": 1783044559.1491275
|
||||
},
|
||||
"300548": {
|
||||
"daily": [
|
||||
@@ -35297,7 +35297,7 @@
|
||||
"volume": 242727.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044085.0312092
|
||||
"updated_at": 1783044560.622806
|
||||
},
|
||||
"300750": {
|
||||
"daily": [
|
||||
@@ -36554,7 +36554,7 @@
|
||||
"volume": 551212.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044087.5034237
|
||||
"updated_at": 1783044561.0713015
|
||||
},
|
||||
"301308": {
|
||||
"daily": [
|
||||
@@ -37811,7 +37811,7 @@
|
||||
"volume": 296230.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044089.021787
|
||||
"updated_at": 1783044561.5623102
|
||||
},
|
||||
"518880": {
|
||||
"daily": [
|
||||
@@ -39068,7 +39068,7 @@
|
||||
"volume": 3915247.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044089.3971868
|
||||
"updated_at": 1783044562.1008737
|
||||
},
|
||||
"600519": {
|
||||
"daily": [
|
||||
@@ -40325,7 +40325,7 @@
|
||||
"volume": 64803.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044052.95763
|
||||
"updated_at": 1783044562.6282325
|
||||
},
|
||||
"600563": {
|
||||
"daily": [
|
||||
@@ -41582,7 +41582,7 @@
|
||||
"volume": 180947.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044089.462641
|
||||
"updated_at": 1783044563.1808019
|
||||
},
|
||||
"601318": {
|
||||
"daily": [
|
||||
@@ -42839,7 +42839,7 @@
|
||||
"volume": 1746202.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044062.04543
|
||||
"updated_at": 1783044565.037566
|
||||
},
|
||||
"601899": {
|
||||
"daily": [
|
||||
@@ -44096,7 +44096,7 @@
|
||||
"volume": 4780454.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044071.2478073
|
||||
"updated_at": 1783044568.620155
|
||||
},
|
||||
"688411": {
|
||||
"daily": [
|
||||
@@ -45353,7 +45353,7 @@
|
||||
"volume": 13672788.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044073.4637604
|
||||
"updated_at": 1783044569.5621681
|
||||
},
|
||||
"688630": {
|
||||
"daily": [
|
||||
@@ -46610,7 +46610,7 @@
|
||||
"volume": 9660790.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044074.0534656
|
||||
"updated_at": 1783044570.0879724
|
||||
},
|
||||
"688639": {
|
||||
"daily": [
|
||||
@@ -47867,7 +47867,7 @@
|
||||
"volume": 13996588.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044074.5389183
|
||||
"updated_at": 1783044570.556268
|
||||
},
|
||||
"688802": {
|
||||
"daily": [
|
||||
@@ -49092,6 +49092,6 @@
|
||||
"volume": 3202146.0
|
||||
}
|
||||
],
|
||||
"updated_at": 1783044079.370447
|
||||
"updated_at": 1783044575.5610185
|
||||
}
|
||||
}
|
||||
+554
-101
@@ -5,236 +5,689 @@
|
||||
"name": "中际旭创",
|
||||
"shares": 100,
|
||||
"cost": 1316.53,
|
||||
"price": 1145.0,
|
||||
"market_value": 113401.0,
|
||||
"change_pct": 0.17,
|
||||
"currency": "CNY",
|
||||
"position_pct": 15.27,
|
||||
"_currency": "CNY"
|
||||
"is_active": 1,
|
||||
"price": 1158.8,
|
||||
"change_pct": 1.38,
|
||||
"currency": "CNY",
|
||||
"stop_loss": 1077.08,
|
||||
"take_profit": 0,
|
||||
"entry_low": 1039.2,
|
||||
"entry_high": 1212.4,
|
||||
"action": "持有观察 | ⚠️盈亏比偏低(1:1.4),不建议加仓 | 止损1169.0 | 目标1339.19 | 买入区1182.26~1248.91 | 信号:持有",
|
||||
"strategy_updated": "2026-07-01 15:01",
|
||||
"analysis": {
|
||||
"stop_loss": 1077.08,
|
||||
"take_profit": 0,
|
||||
"entry_low": 1039.2,
|
||||
"entry_high": 1212.4,
|
||||
"action": "持有观察 | ⚠️盈亏比极低,关注 | 止损1077.08 | 目标0 | 买入区1039.2~1212.4 | 信号:持有",
|
||||
"tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=1222.01 MA10=1280.59 MA20=1239.5 MA60=1033.3",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=1239.5 | MA60=1033.3 | 长撑:MA60=1033.3 | 长压:日强阻=1416.88",
|
||||
"reassessed_at": "2026-07-03 10:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.0,
|
||||
"action_note": "⚠️盈亏比极低,关注",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 1077.08,
|
||||
"entry_zone": "1039.2~1212.4"
|
||||
},
|
||||
"market_value": 115880.0
|
||||
},
|
||||
{
|
||||
"code": "06869",
|
||||
"name": "长飞光纤光缆",
|
||||
"shares": 500,
|
||||
"cost": 263.72,
|
||||
"price": 175.65,
|
||||
"market_value": 87135.0,
|
||||
"change_pct": 2.343,
|
||||
"currency": "CNY",
|
||||
"position_pct": 13.47,
|
||||
"_currency": "CNY"
|
||||
"is_active": 1,
|
||||
"price": 174.09,
|
||||
"change_pct": 1.434,
|
||||
"currency": "CNY",
|
||||
"stop_loss": 184.35,
|
||||
"take_profit": 0,
|
||||
"entry_low": 180.54,
|
||||
"entry_high": 210.63,
|
||||
"action": "持有观察 | ⚠️盈亏比偏低(1:0.9),不建议加仓 | 止损205.71 | 目标300.74 | 买入区239.4~251.37 | 信号:持有",
|
||||
"strategy_updated": "2026-07-01 15:01",
|
||||
"analysis": {
|
||||
"stop_loss": 184.35,
|
||||
"take_profit": 0,
|
||||
"entry_low": 180.54,
|
||||
"entry_high": 210.63,
|
||||
"action": "深套持有 | 深套持有 | 止损184.35 | 目标0 | 买入区180.54~210.63 | 信号:持有",
|
||||
"tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=246.26 MA10=248.81 MA20=244.56 MA60=231.58",
|
||||
"multi_tf_context": "多周期看多 | MA20=244.56 | MA60=231.58 | 长撑:日强支撑=198.0 | 长压:日强阻=305.0",
|
||||
"reassessed_at": "2026-07-03 10:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.0,
|
||||
"action_note": "深套持有",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 184.35,
|
||||
"entry_zone": "180.54~210.63"
|
||||
},
|
||||
"market_value": 87045.0
|
||||
},
|
||||
{
|
||||
"code": "01478",
|
||||
"name": "丘钛科技",
|
||||
"shares": 11000,
|
||||
"cost": 13.47,
|
||||
"price": 6.01,
|
||||
"market_value": 65560.0,
|
||||
"change_pct": 3.125,
|
||||
"currency": "CNY",
|
||||
"position_pct": 7.97,
|
||||
"_currency": "CNY"
|
||||
"is_active": 1,
|
||||
"price": 5.96,
|
||||
"change_pct": 2.232,
|
||||
"currency": "CNY",
|
||||
"stop_loss": 6.39,
|
||||
"take_profit": 0,
|
||||
"entry_low": 6.25,
|
||||
"entry_high": 7.3,
|
||||
"action": "深套持有 | 深套持有 | 止损6.18 | 目标7.2 | 买入区6.17~7.2 | 信号:持有",
|
||||
"strategy_updated": "2026-07-01 15:01",
|
||||
"analysis": {
|
||||
"stop_loss": 6.39,
|
||||
"take_profit": 0,
|
||||
"entry_low": 6.25,
|
||||
"entry_high": 7.3,
|
||||
"action": "深套持有 | 深套持有 | 止损6.39 | 目标0 | 买入区6.25~7.3 | 信号:持有",
|
||||
"tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=9.11 MA10=9.29 MA20=9.5 MA60=8.86",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=9.5 | MA60=8.86 | 长撑:日强支撑=6.6 | 长压:周强阻=10.5",
|
||||
"reassessed_at": "2026-07-03 10:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.0,
|
||||
"action_note": "深套持有",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 6.39,
|
||||
"entry_zone": "6.25~7.3"
|
||||
},
|
||||
"market_value": 65560.0
|
||||
},
|
||||
{
|
||||
"code": "601899",
|
||||
"name": "紫金矿业",
|
||||
"shares": 2400,
|
||||
"cost": 39.89,
|
||||
"price": 27.98,
|
||||
"market_value": 67320.0,
|
||||
"change_pct": 6.39,
|
||||
"currency": "CNY",
|
||||
"position_pct": 7.34,
|
||||
"_currency": "CNY"
|
||||
"is_active": 1,
|
||||
"price": 27.7,
|
||||
"change_pct": 5.32,
|
||||
"currency": "CNY",
|
||||
"stop_loss": 25.45,
|
||||
"take_profit": 0,
|
||||
"entry_low": 24.92,
|
||||
"entry_high": 29.07,
|
||||
"action": "深套持有 | 深套持有 | 止损23.07 | 目标25.51 | 买入区22.6~26.37 | 信号:持有",
|
||||
"strategy_updated": "2026-07-01 15:02",
|
||||
"analysis": {
|
||||
"stop_loss": 25.45,
|
||||
"take_profit": 0,
|
||||
"entry_low": 24.92,
|
||||
"entry_high": 29.07,
|
||||
"action": "深套持有 | 深套持有 | 止损25.45 | 目标0 | 买入区24.92~29.07 | 信号:持有",
|
||||
"tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=35.14 MA10=36.13 MA20=37.18 MA60=36.52",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=37.18 | MA60=36.52 | 长撑:日弱支撑=24.7 | 长压:周强阻=35.62",
|
||||
"reassessed_at": "2026-07-03 10:12",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.0,
|
||||
"action_note": "深套持有",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 25.45,
|
||||
"entry_zone": "24.92~29.07"
|
||||
},
|
||||
"market_value": 66480.0
|
||||
},
|
||||
{
|
||||
"code": "688411",
|
||||
"name": "海博思创",
|
||||
"shares": 200,
|
||||
"cost": 266.95,
|
||||
"price": 257.19,
|
||||
"market_value": 50760.0,
|
||||
"change_pct": 0.58,
|
||||
"currency": "CNY",
|
||||
"position_pct": 6.31,
|
||||
"_currency": "CNY"
|
||||
"is_active": 1,
|
||||
"price": 258.18,
|
||||
"change_pct": 0.97,
|
||||
"currency": "CNY",
|
||||
"stop_loss": 240.2,
|
||||
"take_profit": 0,
|
||||
"entry_low": 231.75,
|
||||
"entry_high": 270.38,
|
||||
"action": "持有观察 | 止损246.94 | 目标309.13 | 买入区244.27~256.48 | 信号:持有",
|
||||
"strategy_updated": "2026-07-01 15:02",
|
||||
"analysis": {
|
||||
"stop_loss": 240.2,
|
||||
"take_profit": 0,
|
||||
"entry_low": 231.75,
|
||||
"entry_high": 270.38,
|
||||
"action": "持有观察 | ⚠️盈亏比极低,关注 | 止损240.2 | 目标0 | 买入区231.75~270.38 | 信号:持有",
|
||||
"tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=270.94 MA10=273.7 MA20=265.98 MA60=254.7",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=265.98 | MA60=254.7 | 长撑:日弱支撑=236.93 | 长压:周强阻=307.58",
|
||||
"reassessed_at": "2026-07-03 10:12",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.0,
|
||||
"action_note": "⚠️盈亏比极低,关注",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 240.2,
|
||||
"entry_zone": "231.75~270.38"
|
||||
},
|
||||
"market_value": 51636.0
|
||||
},
|
||||
{
|
||||
"code": "688981",
|
||||
"name": "中芯国际",
|
||||
"shares": 300,
|
||||
"cost": 126.07,
|
||||
"price": 142.58,
|
||||
"market_value": 42555.0,
|
||||
"change_pct": -1.05,
|
||||
"currency": "CNY",
|
||||
"position_pct": 5.44,
|
||||
"_currency": "CNY"
|
||||
"is_active": 1,
|
||||
"price": 143.1,
|
||||
"change_pct": -0.69,
|
||||
"currency": "CNY",
|
||||
"stop_loss": 138.23,
|
||||
"take_profit": 0,
|
||||
"entry_low": 128.26,
|
||||
"entry_high": 149.64,
|
||||
"action": "盈利良好 | 止损149.85 | 目标176.42 | 买入区148.9~156.34 | 信号:持有",
|
||||
"strategy_updated": "2026-07-01 15:02",
|
||||
"analysis": {
|
||||
"stop_loss": 138.23,
|
||||
"take_profit": 0,
|
||||
"entry_low": 128.26,
|
||||
"entry_high": 149.64,
|
||||
"action": "盈利良好 | ⚠️盈亏比极低,关注 | 止损138.23 | 目标0 | 买入区128.26~149.64 | 信号:持有",
|
||||
"tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=151.43 MA10=149.35 MA20=138.9 MA60=125.49",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=138.9 | MA60=125.49 | 长撑:MA20=138.9 | 长压:日强阻=166.88",
|
||||
"reassessed_at": "2026-07-03 10:12",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.0,
|
||||
"action_note": "⚠️盈亏比极低,关注",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 138.23,
|
||||
"entry_zone": "128.26~149.64"
|
||||
},
|
||||
"market_value": 42930.0
|
||||
},
|
||||
{
|
||||
"code": "01888",
|
||||
"name": "建滔积层板",
|
||||
"shares": 500,
|
||||
"cost": 88.23,
|
||||
"price": 73.83,
|
||||
"market_value": 36870.0,
|
||||
"change_pct": 1.611,
|
||||
"currency": "CNY",
|
||||
"position_pct": 5.28,
|
||||
"_currency": "CNY"
|
||||
"is_active": 1,
|
||||
"price": 72.48,
|
||||
"change_pct": -0.239,
|
||||
"currency": "CNY",
|
||||
"stop_loss": 79.15,
|
||||
"take_profit": 0,
|
||||
"entry_low": 76.36,
|
||||
"entry_high": 89.09,
|
||||
"action": "盈利良好 | 止损92.33 | 目标103.21 | 买入区94.93~99.68 | 信号:持有",
|
||||
"strategy_updated": "2026-07-01 15:01",
|
||||
"analysis": {
|
||||
"stop_loss": 79.15,
|
||||
"take_profit": 0,
|
||||
"entry_low": 76.36,
|
||||
"entry_high": 89.09,
|
||||
"action": "持有观察 | ⚠️盈亏比极低,关注 | 止损79.15 | 目标0 | 买入区76.36~89.09 | 信号:持有",
|
||||
"tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=96.4 MA10=93.52 MA20=78.64 MA60=51.2",
|
||||
"multi_tf_context": "多周期看多 | MA20=78.64 | MA60=51.2 | 长撑:MA20=78.64 | 长压:日强阻=107.2",
|
||||
"reassessed_at": "2026-07-03 10:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.0,
|
||||
"action_note": "⚠️盈亏比极低,关注",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 79.15,
|
||||
"entry_zone": "76.36~89.09"
|
||||
},
|
||||
"market_value": 36240.0
|
||||
},
|
||||
{
|
||||
"code": "688639",
|
||||
"name": "华恒生物",
|
||||
"shares": 2800,
|
||||
"cost": 21.51,
|
||||
"price": 16.73,
|
||||
"market_value": 46676.0,
|
||||
"change_pct": -1.3,
|
||||
"currency": "CNY",
|
||||
"position_pct": 5.25,
|
||||
"_currency": "CNY"
|
||||
"is_active": 1,
|
||||
"price": 16.74,
|
||||
"change_pct": -1.24,
|
||||
"currency": "CNY",
|
||||
"stop_loss": 14.47,
|
||||
"take_profit": 0,
|
||||
"entry_low": 15.06,
|
||||
"entry_high": 17.57,
|
||||
"action": "深套持有 | 深套持有 | 止损14.96 | 目标18.7 | 买入区14.73~17.19 | 信号:持有",
|
||||
"strategy_updated": "2026-07-01 15:02",
|
||||
"analysis": {
|
||||
"stop_loss": 14.47,
|
||||
"take_profit": 0,
|
||||
"entry_low": 15.06,
|
||||
"entry_high": 17.57,
|
||||
"action": "深套持有 | 深套持有 | 止损14.47 | 目标0 | 买入区15.06~17.57 | 信号:持有",
|
||||
"tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=33.68 MA10=35.7 MA20=36.69 MA60=34.28",
|
||||
"multi_tf_context": "多周期看多 | MA20=36.69 | MA60=34.28 | 长撑:日弱支撑=15.65 | 长压:日强阻=22.54",
|
||||
"reassessed_at": "2026-07-03 10:12",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.0,
|
||||
"action_note": "深套持有",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 14.47,
|
||||
"entry_zone": "15.06~17.57"
|
||||
},
|
||||
"market_value": 46872.0
|
||||
},
|
||||
{
|
||||
"code": "300750",
|
||||
"name": "宁德时代",
|
||||
"shares": 100,
|
||||
"cost": 401.78,
|
||||
"price": 383.18,
|
||||
"market_value": 38506.0,
|
||||
"change_pct": 0.22,
|
||||
"currency": "CNY",
|
||||
"position_pct": 4.64,
|
||||
"_currency": "CNY"
|
||||
"is_active": 1,
|
||||
"price": 384.37,
|
||||
"change_pct": 0.53,
|
||||
"currency": "CNY",
|
||||
"stop_loss": 358.2,
|
||||
"take_profit": 0,
|
||||
"entry_low": 345.6,
|
||||
"entry_high": 403.2,
|
||||
"action": "持有观察 | ⚠️盈亏比偏低(1:0.9),不建议加仓 | 止损362.31 | 目标404.56 | 买入区372.23~381.61 | 信号:持有",
|
||||
"strategy_updated": "2026-07-01 15:02",
|
||||
"analysis": {
|
||||
"stop_loss": 358.2,
|
||||
"take_profit": 0,
|
||||
"entry_low": 345.6,
|
||||
"entry_high": 403.2,
|
||||
"action": "持有观察 | ⚠️盈亏比极低,关注 | 止损358.2 | 目标0 | 买入区345.6~403.2 | 信号:持有",
|
||||
"tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=386.51 MA10=392.29 MA20=394.64 MA60=413.88",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=394.64 | MA60=413.88 | 长撑:日强支撑=370.0 | 长压:周强阻=468.75",
|
||||
"reassessed_at": "2026-07-03 10:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.0,
|
||||
"action_note": "⚠️盈亏比极低,关注",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 358.2,
|
||||
"entry_zone": "345.6~403.2"
|
||||
},
|
||||
"market_value": 38437.0
|
||||
},
|
||||
{
|
||||
"code": "01211",
|
||||
"name": "比亚迪股份",
|
||||
"shares": 600,
|
||||
"cost": 104.87,
|
||||
"price": 71.35,
|
||||
"market_value": 42552.0,
|
||||
"change_pct": 5.109,
|
||||
"currency": "CNY",
|
||||
"position_pct": 4.62,
|
||||
"_currency": "CNY"
|
||||
"is_active": 1,
|
||||
"price": 71.57,
|
||||
"change_pct": 5.428,
|
||||
"currency": "CNY",
|
||||
"stop_loss": 75.87,
|
||||
"take_profit": 0,
|
||||
"entry_low": 74.3,
|
||||
"entry_high": 86.68,
|
||||
"action": "深套持有 | 深套持有 | 止损66.58 | 目标73.73 | 买入区65.2~76.07 | 信号:持有",
|
||||
"strategy_updated": "2026-07-01 15:01",
|
||||
"analysis": {
|
||||
"stop_loss": 75.87,
|
||||
"take_profit": 0,
|
||||
"entry_low": 74.3,
|
||||
"entry_high": 86.68,
|
||||
"action": "深套持有 | 深套持有 | 止损75.87 | 目标0 | 买入区74.3~86.68 | 信号:持有",
|
||||
"tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=96.74 MA10=96.79 MA20=98.23 MA60=98.39",
|
||||
"multi_tf_context": "多周期看多 | MA20=98.23 | MA60=98.39 | 长撑:日弱支撑=72.2 | 长压:日强阻=96.7",
|
||||
"reassessed_at": "2026-07-03 10:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.0,
|
||||
"action_note": "深套持有",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 75.87,
|
||||
"entry_zone": "74.3~86.68"
|
||||
},
|
||||
"market_value": 42942.0
|
||||
},
|
||||
{
|
||||
"code": "02202",
|
||||
"name": "万科企业",
|
||||
"shares": 19700,
|
||||
"cost": 4.67,
|
||||
"price": 1.99,
|
||||
"market_value": 39203.0,
|
||||
"change_pct": 3.139,
|
||||
"currency": "CNY",
|
||||
"position_pct": 4.6,
|
||||
"_currency": "CNY"
|
||||
"is_active": 1,
|
||||
"price": 2.0,
|
||||
"change_pct": 3.587,
|
||||
"currency": "CNY",
|
||||
"stop_loss": 2.13,
|
||||
"take_profit": 0,
|
||||
"entry_low": 2.09,
|
||||
"entry_high": 2.44,
|
||||
"action": "深套持有 | 深套持有 | 止损1.95 | 目标2.31 | 买入区1.91~2.23 | 信号:持有",
|
||||
"strategy_updated": "2026-07-01 15:01",
|
||||
"analysis": {
|
||||
"stop_loss": 2.13,
|
||||
"take_profit": 0,
|
||||
"entry_low": 2.09,
|
||||
"entry_high": 2.44,
|
||||
"action": "深套持有 | 深套持有 | 止损2.13 | 目标0 | 买入区2.09~2.44 | 信号:持有",
|
||||
"tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=3.41 MA10=3.42 MA20=3.53 MA60=3.51",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=3.53 | MA60=3.51 | 长撑:日弱支撑=2.16 | 长压:日强阻=2.78",
|
||||
"reassessed_at": "2026-07-03 10:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.0,
|
||||
"action_note": "深套持有",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 2.13,
|
||||
"entry_zone": "2.09~2.44"
|
||||
},
|
||||
"market_value": 39400.0
|
||||
},
|
||||
{
|
||||
"code": "00700",
|
||||
"name": "腾讯",
|
||||
"shares": 100,
|
||||
"cost": null,
|
||||
"price": 381.13,
|
||||
"market_value": 37975.0,
|
||||
"change_pct": 2.185,
|
||||
"currency": "CNY",
|
||||
"position_pct": null,
|
||||
"_currency": "CNY"
|
||||
"is_active": 1,
|
||||
"price": 382.35,
|
||||
"change_pct": 2.51,
|
||||
"currency": "CNY",
|
||||
"stop_loss": 431.26,
|
||||
"take_profit": 0,
|
||||
"entry_low": 435.71,
|
||||
"entry_high": 453.49,
|
||||
"action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 损414.51 | 盈452.53 | 买421.2~429.72",
|
||||
"strategy_updated": "2026-07-01 15:01",
|
||||
"analysis": {
|
||||
"stop_loss": 431.26,
|
||||
"take_profit": 0,
|
||||
"entry_low": 435.71,
|
||||
"entry_high": 453.49,
|
||||
"action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 损426.82 | 盈0 | 买435.71~453.49",
|
||||
"tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=624.1 MA10=623.7 MA20=615.5 MA60=559.52",
|
||||
"multi_tf_context": "多周期看多 | MA20=615.5 | MA60=559.52 | 长撑:日弱支撑=412.6 | 长压:周强阻=526.5",
|
||||
"reassessed_at": "2026-07-03 10:10",
|
||||
"status": "review",
|
||||
"rr_ratio": 0.0,
|
||||
"action_note": "⚠️盈亏比不足1:1.5,不建议买入",
|
||||
"timing_signal": "信号不充分"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 431.26,
|
||||
"entry_zone": "435.71~453.49"
|
||||
},
|
||||
"market_value": 38235.0
|
||||
},
|
||||
{
|
||||
"code": "00981",
|
||||
"name": "中芯国际",
|
||||
"shares": 500,
|
||||
"cost": 75.94,
|
||||
"price": 69.45,
|
||||
"market_value": 34485.0,
|
||||
"change_pct": -0.373,
|
||||
"currency": "CNY",
|
||||
"position_pct": 4.2,
|
||||
"_currency": "CNY"
|
||||
"is_active": 1,
|
||||
"price": 67.93,
|
||||
"change_pct": -2.55,
|
||||
"currency": "CNY",
|
||||
"stop_loss": 73.5,
|
||||
"take_profit": 0,
|
||||
"entry_low": 70.92,
|
||||
"entry_high": 82.74,
|
||||
"action": "盈利良好 | 止损86.72 | 目标96.86 | 买入区84.8~89.04 | 信号:持有",
|
||||
"strategy_updated": "2026-07-01 15:01",
|
||||
"analysis": {
|
||||
"stop_loss": 73.5,
|
||||
"take_profit": 0,
|
||||
"entry_low": 70.92,
|
||||
"entry_high": 82.74,
|
||||
"action": "盈利持有 | ⚠️盈亏比极低,关注 | 止损73.5 | 目标0 | 买入区70.92~82.74 | 信号:持有",
|
||||
"tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=84.12 MA10=81.44 MA20=78.5 MA60=71.93",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=78.5 | MA60=71.93 | 长撑:MA20=78.5 | 长压:周强阻=93.0",
|
||||
"reassessed_at": "2026-07-03 10:10",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.0,
|
||||
"action_note": "⚠️盈亏比极低,关注",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 73.5,
|
||||
"entry_zone": "70.92~82.74"
|
||||
},
|
||||
"market_value": 33965.0
|
||||
},
|
||||
{
|
||||
"code": "300548",
|
||||
"name": "长芯博创",
|
||||
"shares": 100,
|
||||
"cost": 231.46,
|
||||
"price": 224.77,
|
||||
"market_value": 22039.0,
|
||||
"change_pct": 1.25,
|
||||
"currency": "CNY",
|
||||
"position_pct": 3.2,
|
||||
"_currency": "CNY"
|
||||
"is_active": 1,
|
||||
"price": 225.6,
|
||||
"change_pct": 1.62,
|
||||
"currency": "CNY",
|
||||
"stop_loss": 209.99,
|
||||
"take_profit": 0,
|
||||
"entry_low": 202.6,
|
||||
"entry_high": 236.37,
|
||||
"action": "盈利良好 | 止损246.38 | 目标291.58 | 买入区241.67~253.75 | 信号:持有",
|
||||
"strategy_updated": "2026-07-01 15:02",
|
||||
"analysis": {
|
||||
"stop_loss": 209.99,
|
||||
"take_profit": 0,
|
||||
"entry_low": 202.6,
|
||||
"entry_high": 236.37,
|
||||
"action": "持有观察 | ⚠️盈亏比极低,关注 | 止损209.99 | 目标0 | 买入区202.6~236.37 | 信号:持有",
|
||||
"tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=253.97 MA10=270.01 MA20=255.06 MA60=248.13",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=255.06 | MA60=248.13 | 长撑:日弱支撑=213.79 | 长压:日强阻=309.98",
|
||||
"reassessed_at": "2026-07-03 10:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.0,
|
||||
"action_note": "⚠️盈亏比极低,关注",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 209.99,
|
||||
"entry_zone": "202.6~236.37"
|
||||
},
|
||||
"market_value": 22560.0
|
||||
},
|
||||
{
|
||||
"code": "518880",
|
||||
"name": "黄金ETF华安",
|
||||
"shares": 2400,
|
||||
"cost": 12.19,
|
||||
"position_pct": 2.45,
|
||||
"is_active": 1,
|
||||
"price": 8.68,
|
||||
"market_value": 20856.0,
|
||||
"change_pct": 2.44,
|
||||
"currency": "CNY",
|
||||
"position_pct": 2.45,
|
||||
"_currency": "CNY"
|
||||
"stop_loss": 8.21,
|
||||
"take_profit": 0,
|
||||
"entry_low": 7.81,
|
||||
"entry_high": 9.12,
|
||||
"action": "深套持有 | 深套持有 | 止损7.45 | 目标8.58 | 买入区7.44~8.68 | 信号:持有",
|
||||
"strategy_updated": "2026-07-01 15:02",
|
||||
"analysis": {
|
||||
"stop_loss": 8.21,
|
||||
"take_profit": 0,
|
||||
"entry_low": 7.81,
|
||||
"entry_high": 9.12,
|
||||
"action": "深套持有 | 深套持有 | 止损8.21 | 目标0 | 买入区7.81~9.12 | 信号:持有",
|
||||
"tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=9.45 MA10=9.58 MA20=10.01 MA60=10.34",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=10.01 | MA60=10.34 | 长撑:日弱支撑=8.25 | 长压:月强阻=11.42",
|
||||
"reassessed_at": "2026-07-03 10:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.0,
|
||||
"action_note": "深套持有",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 8.21,
|
||||
"entry_zone": "7.81~9.12"
|
||||
},
|
||||
"market_value": 20832.0
|
||||
},
|
||||
{
|
||||
"code": "300035",
|
||||
"name": "中科电气",
|
||||
"shares": 1400,
|
||||
"cost": 22.29,
|
||||
"price": 14.25,
|
||||
"market_value": 19936.0,
|
||||
"change_pct": 0.56,
|
||||
"currency": "CNY",
|
||||
"position_pct": 2.42,
|
||||
"_currency": "CNY"
|
||||
"is_active": 1,
|
||||
"price": 14.39,
|
||||
"change_pct": 1.55,
|
||||
"currency": "CNY",
|
||||
"stop_loss": 12.95,
|
||||
"take_profit": 0,
|
||||
"entry_low": 12.94,
|
||||
"entry_high": 15.1,
|
||||
"action": "深套持有 | 深套持有 | 止损13.01 | 目标15.14 | 买入区13.0~15.16 | 信号:持有",
|
||||
"strategy_updated": "2026-07-01 15:01",
|
||||
"analysis": {
|
||||
"stop_loss": 12.95,
|
||||
"take_profit": 0,
|
||||
"entry_low": 12.94,
|
||||
"entry_high": 15.1,
|
||||
"action": "深套持有 | 深套持有 | 止损12.95 | 目标0 | 买入区12.94~15.1 | 信号:持有",
|
||||
"tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=21.7 MA10=21.88 MA20=22.15 MA60=21.44",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=22.15 | MA60=21.44 | 长撑:日强支撑=13.74 | 长压:日强阻=18.23",
|
||||
"reassessed_at": "2026-07-03 10:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.0,
|
||||
"action_note": "深套持有",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 12.95,
|
||||
"entry_zone": "12.94~15.1"
|
||||
},
|
||||
"market_value": 20146.0
|
||||
},
|
||||
{
|
||||
"code": "000700",
|
||||
"name": "模塑科技",
|
||||
"shares": 1400,
|
||||
"cost": 14.83,
|
||||
"price": 17.19,
|
||||
"market_value": 23870.0,
|
||||
"change_pct": 1.9,
|
||||
"currency": "CNY",
|
||||
"position_pct": 2.41,
|
||||
"_currency": "CNY"
|
||||
"is_active": 1,
|
||||
"price": 17.38,
|
||||
"change_pct": 3.02,
|
||||
"currency": "CNY",
|
||||
"stop_loss": 16.86,
|
||||
"take_profit": 0,
|
||||
"entry_low": 15.64,
|
||||
"entry_high": 18.25,
|
||||
"action": "盈利持有 | ⚠️盈亏比极低,关注 | 止损13.91 | 目标15.54 | 买入区13.32~14.09 | 信号:持有",
|
||||
"strategy_updated": "2026-07-01 15:00",
|
||||
"analysis": {
|
||||
"stop_loss": 16.86,
|
||||
"take_profit": 0,
|
||||
"entry_low": 15.64,
|
||||
"entry_high": 18.25,
|
||||
"action": "盈利良好 | ⚠️盈亏比极低,关注 | 止损16.86 | 目标0 | 买入区15.64~18.25 | 信号:持有",
|
||||
"tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=14.99 MA10=14.9 MA20=15.45 MA60=13.81",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=15.45 | MA60=13.81 | 长撑:MA20=15.45 | 长压:日强阻=18.66",
|
||||
"reassessed_at": "2026-07-03 10:10",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.0,
|
||||
"action_note": "⚠️盈亏比极低,关注",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 16.86,
|
||||
"entry_zone": "15.64~18.25"
|
||||
},
|
||||
"market_value": 24332.0
|
||||
},
|
||||
{
|
||||
"code": "600563",
|
||||
"name": "法拉电子",
|
||||
"shares": 100,
|
||||
"cost": 147.18,
|
||||
"price": 159.02,
|
||||
"market_value": 15700.0,
|
||||
"change_pct": -3.21,
|
||||
"currency": "CNY",
|
||||
"position_pct": 2.3,
|
||||
"_currency": "CNY"
|
||||
"is_active": 1,
|
||||
"price": 158.5,
|
||||
"change_pct": -3.53,
|
||||
"currency": "CNY",
|
||||
"stop_loss": 153.75,
|
||||
"take_profit": 0,
|
||||
"entry_low": 142.66,
|
||||
"entry_high": 166.44,
|
||||
"action": "盈利良好 | 止损169.99 | 目标188.19 | 买入区175.29~184.05 | 信号:持有",
|
||||
"strategy_updated": "2026-07-01 15:02",
|
||||
"analysis": {
|
||||
"stop_loss": 153.75,
|
||||
"take_profit": 0,
|
||||
"entry_low": 142.66,
|
||||
"entry_high": 166.44,
|
||||
"action": "盈利良好 | ⚠️盈亏比极低,关注 | 止损153.75 | 目标0 | 买入区142.66~166.44 | 信号:持有",
|
||||
"tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=183.16 MA10=178.82 MA20=169.12 MA60=145.24",
|
||||
"multi_tf_context": "多周期看多 | MA20=169.12 | MA60=145.24 | 长撑:日弱支撑=144.6 | 长压:日强阻=198.8",
|
||||
"reassessed_at": "2026-07-03 10:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.0,
|
||||
"action_note": "⚠️盈亏比极低,关注",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 153.75,
|
||||
"entry_zone": "142.66~166.44"
|
||||
},
|
||||
"market_value": 15850.0
|
||||
},
|
||||
{
|
||||
"code": "01088",
|
||||
"name": "中国神华",
|
||||
"shares": 500,
|
||||
"cost": 45.89,
|
||||
"price": 34.61,
|
||||
"market_value": 17375.0,
|
||||
"change_pct": 0.808,
|
||||
"currency": "CNY",
|
||||
"position_pct": 2.14,
|
||||
"_currency": "CNY"
|
||||
"is_active": 1,
|
||||
"price": 34.68,
|
||||
"change_pct": 1.01,
|
||||
"currency": "CNY",
|
||||
"stop_loss": 37.16,
|
||||
"take_profit": 0,
|
||||
"entry_low": 35.86,
|
||||
"entry_high": 41.83,
|
||||
"action": "持有观察 | ⚠️盈亏比偏低(1:1.4),不建议加仓 | 止损38.92 | 目标41.97 | 买入区39.41~40.45 | 信号:持有",
|
||||
"strategy_updated": "2026-07-01 15:01",
|
||||
"analysis": {
|
||||
"stop_loss": 37.16,
|
||||
"take_profit": 0,
|
||||
"entry_low": 35.86,
|
||||
"entry_high": 41.83,
|
||||
"action": "持有观察 | ⚠️盈亏比极低,关注 | 止损37.16 | 目标0 | 买入区35.86~41.83 | 信号:持有",
|
||||
"tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=39.82 MA10=40.55 MA20=41.11 MA60=43.93",
|
||||
"multi_tf_context": "震荡/无明显方向 | MA20=41.11 | MA60=43.93 | 长撑:日强支撑=39.16 | 长压:月强阻=49.62",
|
||||
"reassessed_at": "2026-07-03 10:11",
|
||||
"status": "updated",
|
||||
"rr_ratio": 0.0,
|
||||
"action_note": "⚠️盈亏比极低,关注",
|
||||
"timing_signal": "持有"
|
||||
},
|
||||
"trigger": {
|
||||
"stop_loss": 37.16,
|
||||
"entry_zone": "35.86~41.83"
|
||||
},
|
||||
"market_value": 17340.0
|
||||
}
|
||||
],
|
||||
"total_assets": 907735.0,
|
||||
"total_mv": 827259.0,
|
||||
"stock_value": null,
|
||||
"cash": 80476.0,
|
||||
"frozen_cash": 0.0,
|
||||
"position_pct": 91.13,
|
||||
"currency": "CNY",
|
||||
"updated_at": "2026-07-03 10:02"
|
||||
"updated_at": "2026-07-03 10:12",
|
||||
"cash": 80476,
|
||||
"total_mv": 826682.0,
|
||||
"total_assets": 907158.0,
|
||||
"position_pct": 91.13
|
||||
}
|
||||
@@ -8129,6 +8129,96 @@
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-07-03T10:02:32.827241",
|
||||
"date": "2026-07-03"
|
||||
},
|
||||
{
|
||||
"code": "001309",
|
||||
"name": "德明利",
|
||||
"event_type": "entry_zone",
|
||||
"price": 833.01,
|
||||
"trigger_value": "813.4~839.34",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-07-03T10:04:34.741797",
|
||||
"date": "2026-07-03"
|
||||
},
|
||||
{
|
||||
"code": "002594",
|
||||
"name": "比亚迪",
|
||||
"event_type": "entry_zone",
|
||||
"price": 86.43,
|
||||
"trigger_value": "85.36~86.91",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-07-03T10:04:34.887412",
|
||||
"date": "2026-07-03"
|
||||
},
|
||||
{
|
||||
"code": "002594",
|
||||
"name": "比亚迪",
|
||||
"event_type": "entry_zone",
|
||||
"price": 86.7,
|
||||
"trigger_value": "85.36~86.91",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-07-03T10:06:24.350811",
|
||||
"date": "2026-07-03"
|
||||
},
|
||||
{
|
||||
"code": "000657",
|
||||
"name": "中钨高新",
|
||||
"event_type": "entry_zone",
|
||||
"price": 89.52,
|
||||
"trigger_value": "87.58~91.16",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-07-03T10:06:31.053501",
|
||||
"date": "2026-07-03"
|
||||
},
|
||||
{
|
||||
"code": "000711",
|
||||
"name": "ST京蓝",
|
||||
"event_type": "entry_zone",
|
||||
"price": 5.26,
|
||||
"trigger_value": "5.15~5.26",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-07-03T10:06:31.294747",
|
||||
"date": "2026-07-03"
|
||||
},
|
||||
{
|
||||
"code": "688630",
|
||||
"name": "芯碁微装",
|
||||
"event_type": "entry_zone",
|
||||
"price": 483.74,
|
||||
"trigger_value": "469.15~483.96",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-07-03T10:06:32.424388",
|
||||
"date": "2026-07-03"
|
||||
},
|
||||
{
|
||||
"code": "300124",
|
||||
"name": "汇川技术",
|
||||
"event_type": "entry_zone",
|
||||
"price": 70.95,
|
||||
"trigger_value": "69.77~71.32",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-07-03T10:08:08.831403",
|
||||
"date": "2026-07-03"
|
||||
},
|
||||
{
|
||||
"code": "000657",
|
||||
"name": "中钨高新",
|
||||
"event_type": "entry_zone",
|
||||
"price": 89.22,
|
||||
"trigger_value": "87.61~91.19",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-07-03T10:10:29.733468",
|
||||
"date": "2026-07-03"
|
||||
},
|
||||
{
|
||||
"code": "688630",
|
||||
"name": "芯碁微装",
|
||||
"event_type": "entry_zone",
|
||||
"price": 484.03,
|
||||
"trigger_value": "474.07~486.19",
|
||||
"event_label": "买入区间",
|
||||
"timestamp": "2026-07-03T10:10:33.373526",
|
||||
"date": "2026-07-03"
|
||||
}
|
||||
]
|
||||
}
|
||||
+17
-17
@@ -26,7 +26,7 @@
|
||||
"date": "2026-07-03",
|
||||
"high": 1215.52,
|
||||
"low": 1190.51,
|
||||
"close": 1198.51
|
||||
"close": 1200.55
|
||||
}
|
||||
],
|
||||
"02202": [
|
||||
@@ -48,7 +48,7 @@
|
||||
"date": "2026-07-03",
|
||||
"high": 53.0,
|
||||
"low": 51.7,
|
||||
"close": 52.6
|
||||
"close": 52.55
|
||||
}
|
||||
],
|
||||
"601318": [
|
||||
@@ -62,7 +62,7 @@
|
||||
"date": "2026-07-03",
|
||||
"high": 50.2,
|
||||
"low": 48.8,
|
||||
"close": 49.0
|
||||
"close": 48.99
|
||||
}
|
||||
],
|
||||
"02359": [
|
||||
@@ -76,7 +76,7 @@
|
||||
"date": "2026-07-03",
|
||||
"high": 158.7,
|
||||
"low": 151.1,
|
||||
"close": 152.5
|
||||
"close": 153.0
|
||||
}
|
||||
],
|
||||
"02388": [
|
||||
@@ -90,7 +90,7 @@
|
||||
"date": "2026-07-03",
|
||||
"high": 42.98,
|
||||
"low": 41.94,
|
||||
"close": 42.84
|
||||
"close": 42.76
|
||||
}
|
||||
],
|
||||
"02628": [
|
||||
@@ -104,7 +104,7 @@
|
||||
"date": "2026-07-03",
|
||||
"high": 29.08,
|
||||
"low": 27.5,
|
||||
"close": 28.74
|
||||
"close": 28.56
|
||||
}
|
||||
],
|
||||
"688630": [
|
||||
@@ -118,7 +118,7 @@
|
||||
"date": "2026-07-03",
|
||||
"high": 499.95,
|
||||
"low": 444.55,
|
||||
"close": 481.8
|
||||
"close": 486.52
|
||||
}
|
||||
],
|
||||
"06160": [
|
||||
@@ -130,7 +130,7 @@
|
||||
},
|
||||
{
|
||||
"date": "2026-07-03",
|
||||
"high": 183.3,
|
||||
"high": 183.8,
|
||||
"low": 171.9,
|
||||
"close": 182.1
|
||||
}
|
||||
@@ -154,7 +154,7 @@
|
||||
"date": "2026-07-03",
|
||||
"high": 687.04,
|
||||
"low": 633.01,
|
||||
"close": 645.6
|
||||
"close": 645.0
|
||||
}
|
||||
],
|
||||
"09868": [
|
||||
@@ -168,7 +168,7 @@
|
||||
"date": "2026-07-03",
|
||||
"high": 53.7,
|
||||
"low": 49.3,
|
||||
"close": 50.15
|
||||
"close": 50.8
|
||||
}
|
||||
],
|
||||
"09988": [
|
||||
@@ -182,7 +182,7 @@
|
||||
"date": "2026-07-03",
|
||||
"high": 97.4,
|
||||
"low": 93.55,
|
||||
"close": 95.45
|
||||
"close": 95.65
|
||||
}
|
||||
],
|
||||
"688802": [
|
||||
@@ -196,7 +196,7 @@
|
||||
"date": "2026-07-03",
|
||||
"high": 733.99,
|
||||
"low": 713.0,
|
||||
"close": 721.1
|
||||
"close": 724.96
|
||||
}
|
||||
],
|
||||
"300124": [
|
||||
@@ -210,7 +210,7 @@
|
||||
"date": "2026-07-03",
|
||||
"high": 71.79,
|
||||
"low": 67.31,
|
||||
"close": 70.75
|
||||
"close": 71.29
|
||||
}
|
||||
],
|
||||
"000657": [
|
||||
@@ -224,7 +224,7 @@
|
||||
"date": "2026-07-03",
|
||||
"high": 101.5,
|
||||
"low": 88.23,
|
||||
"close": 90.01
|
||||
"close": 89.1
|
||||
}
|
||||
],
|
||||
"000711": [
|
||||
@@ -252,7 +252,7 @@
|
||||
"date": "2026-07-03",
|
||||
"high": 872.83,
|
||||
"low": 795.0,
|
||||
"close": 831.0
|
||||
"close": 843.79
|
||||
}
|
||||
],
|
||||
"002594": [
|
||||
@@ -266,7 +266,7 @@
|
||||
"date": "2026-07-03",
|
||||
"high": 87.28,
|
||||
"low": 81.9,
|
||||
"close": 86.58
|
||||
"close": 86.74
|
||||
}
|
||||
],
|
||||
"00700": [
|
||||
@@ -310,7 +310,7 @@
|
||||
"date": "2026-07-03",
|
||||
"high": 13.19,
|
||||
"low": 12.63,
|
||||
"close": 13.11
|
||||
"close": 13.12
|
||||
}
|
||||
],
|
||||
"01088": [
|
||||
|
||||
+15
-7
@@ -266,13 +266,21 @@ def refresh_data_prices():
|
||||
pf['total_assets'] = calc_total_assets(pf)
|
||||
pf['position_pct'] = calc_position_pct(pf)
|
||||
# DB 写入(替代 json.dump,强制币种约束)
|
||||
try:
|
||||
conn = get_conn()
|
||||
write_holdings_batch(conn, pf['holdings'])
|
||||
write_portfolio_summary(conn, pf)
|
||||
conn.close()
|
||||
except Exception as e:
|
||||
print(f" [DB写入失败] {e}", flush=True)
|
||||
for attempt in range(3):
|
||||
try:
|
||||
conn = get_conn()
|
||||
conn.execute("PRAGMA busy_timeout=5000") # 等待5秒而非立即放弃
|
||||
write_holdings_batch(conn, pf['holdings'])
|
||||
write_portfolio_summary(conn, pf)
|
||||
conn.close()
|
||||
if attempt > 0:
|
||||
print(f" [DB写入 OK after {attempt+1} retries]", flush=True)
|
||||
break
|
||||
except Exception as e:
|
||||
if attempt < 2:
|
||||
import time; time.sleep((attempt+1)*1)
|
||||
else:
|
||||
print(f" [DB写入失败 3次重试后放弃] {e}", flush=True)
|
||||
# 保留 JSON 副本作为冷备
|
||||
json.dump(pf, open(PORTFOLIO_PATH, 'w'), ensure_ascii=False, indent=2)
|
||||
elif pf.get('updated_at'):
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env python3
|
||||
"""统一数据快照 — 所有报告脚本的单一数据入口。
|
||||
替代直接读 portfolio.json / decisions.json。
|
||||
MoFin 所有 LLM cron prompt 应改为运行本脚本获取数据。"""
|
||||
import sys, json
|
||||
sys.path.insert(0, '/home/hmo/MoFin')
|
||||
from mo_data import read_portfolio, read_decisions, read_watchlist
|
||||
|
||||
pf = read_portfolio()
|
||||
dec = read_decisions()
|
||||
wl = read_watchlist()
|
||||
|
||||
# 港股标记HKD
|
||||
for h in pf.get('holdings', []):
|
||||
if h.get('currency') == 'HKD':
|
||||
h['_price_display'] = f"{h['price']} HKD"
|
||||
else:
|
||||
h['_price_display'] = f"{h['price']} CNY"
|
||||
|
||||
print(json.dumps({
|
||||
"portfolio": pf,
|
||||
"decisions": dec,
|
||||
"watchlist": wl,
|
||||
}, ensure_ascii=False, indent=2))
|
||||
Reference in New Issue
Block a user