From e31bb9e089da4a110e1fba8b1a62fc668b3dca7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=A5=E5=BE=AE?= Date: Fri, 3 Jul 2026 10:03:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=80=E6=9C=89LLM=20cron=20prompt=E7=A7=BB?= =?UTF-8?q?=E9=99=A4JSON=E8=AF=BB=E5=8F=96=EF=BC=8C=E5=85=A8=E9=83=A8?= =?UTF-8?q?=E8=B5=B0DB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 开盘简报/收盘简报/盘前中监控/午后监控/策略评估-每日/系统全局审计 6个LLM cron的prompt统一改为: from mo_data import read_portfolio, read_decisions, read_watchlist 禁止执行 json.load(portfolio.json/decisions.json/watchlist.json) 港股价格统一标注HKD 总资产/现金/仓位从digital twin字段读,不自算 --- data/decisions.json | 1804 +++++++++++++++++++------------------- data/mofin.db-wal | Bin 94792 -> 78312 bytes data/multi_tf_cache.json | 78 +- data/portfolio.json | 116 +-- data/price_events.json | 420 +++++++++ data/price_history.json | 56 +- 6 files changed, 1428 insertions(+), 1046 deletions(-) diff --git a/data/decisions.json b/data/decisions.json index 66d587d..5083cdc 100644 --- a/data/decisions.json +++ b/data/decisions.json @@ -3,96 +3,100 @@ { "code": "000657", "name": "中钨高新", - "price": 95.0, + "price": 89.37, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | 目标105.82 | 止损93.58 | 买入区93.1~96.9 | 信号:关注", - "stop_loss": 93.58, - "entry_low": 93.1, - "entry_high": 96.9, - "tech_snapshot": "形态:平盘/neutral 量价:主动买盘占优 强撑:87.33 弱撑:95.0 弱压:97.03 强压:105.82 | MA5=96.75 MA10=99.88 MA20=89.04 MA60=68.13", - "timing_signal": "关注", - "rr_ratio": 7.62, + "action": "盈利持有 | 目标104.77 | 止损86.48 | 买入区87.58~91.16", + "stop_loss": 86.48, + "entry_low": 87.58, + "entry_high": 91.16, + "tech_snapshot": "形态:光头光脚阴线/bearish 量价:主动买盘占优 强撑:87.33 弱撑:86.48 弱压:97.03 强压:104.77 | MA5=96.75 MA10=99.88 MA20=89.04 MA60=68.13", + "timing_signal": "信号不充分", + "rr_ratio": 5.33, "status": "active", "note": "", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 09:58", + "updated_at": "2026-07-03 09:58", "type": "自选策略", "source": "auto", - "sector_context": "大盘上涨比38.9%", + "sector_context": "中钨高新所属行业(待补充)", "stock_category": "中短线", "position_advice": "中等仓位", "time_horizon": "2~6周", "trigger": { - "stop_loss": 93.58, - "entry_zone": "93.1~96.9", - "take_profit_zone": "0~105.82" + "stop_loss": 86.48, + "entry_zone": "87.58~91.16", + "take_profit_zone": "0~104.77" }, - "created_at": "2026-07-03 09:26", - "take_profit": 105.82, + "created_at": "2026-07-03 09:58", + "take_profit": 104.77, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 09:58", "old_action": "", - "new_action": "盈利持有 | 目标105.82 | 止损93.58 | 买入区93.1~96.9 | 信号:关注", - "reason": "初始策略创建 | 形态:平盘/neutral 量价:主动买盘占优 强撑:87.33 弱撑:95.0 弱压:97.03 强压:105.82 ", + "new_action": "盈利持有 | 目标104.77 | 止损86.48 | 买入区87.58~91.16", + "reason": "初始策略创建 | 形态:光头光脚阴线/bearish 量价:主动买盘占优 强撑:87.33 弱撑:86.48 弱压:97.03 强压:10", "trigger": "初始创建" + }, + { + "time": "2026-07-03 10:01", + "event": "质量门禁通过 (重试1轮)" } ], - "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", - "quality_issues": { - "high": [ - "GATE_SL_GTE_LOW" - ] - } + "signal_factors": [ + "信号:信号不充分", + "RR:5.33", + "损86.48盈104.77" + ], + "quality_check": "passed", + "quality_checked_at": "2026-07-03 10:01" }, { "code": "000700", "name": "模塑科技", - "price": 16.08, + "price": 17.06, "cost": 14.83, "shares": 0, "avg_price": 0, - "action": "盈利良好 | ⚠️盈亏比极低,关注 | 止损15.44 | 目标0 | 买入区14.47~16.88 | 信号:持有", - "stop_loss": 15.44, - "entry_low": 14.47, - "entry_high": 16.88, + "action": "盈利良好 | ⚠️盈亏比极低,关注 | 止损16.55 | 目标0 | 买入区15.35~17.91 | 信号:持有", + "stop_loss": 16.55, + "entry_low": 15.35, + "entry_high": 17.91, "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=14.99 MA10=14.9 MA20=15.45 MA60=13.81", "timing_signal": "持有", "rr_ratio": 0.0, "status": "active", "note": "⚠️盈亏比极低,关注", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 09:58", + "updated_at": "2026-07-03 09:58", "type": "持仓策略", "source": "auto", - "sector_context": "行业汽车零部件+0.8%,中性 | 大盘偏弱(38%上涨)", + "sector_context": "行业汽车零部件大涨+189.0%,可适度积极", "stock_category": "中短线", "position_advice": "中等仓位", "time_horizon": "2~6周", "trigger": { - "stop_loss": 15.44, - "entry_zone": "14.47~16.88" + "stop_loss": 16.55, + "entry_zone": "15.35~17.91" }, - "created_at": "2026-07-03 09:26", - "take_profit": 17.37, + "created_at": "2026-07-03 09:58", + "take_profit": 18.42, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 09:58", "old_action": "", - "new_action": "盈利良好 | ⚠️盈亏比极低,关注 | 止损15.44 | 目标0 | 买入区14.47~16.88 | 信号:持有", + "new_action": "盈利良好 | ⚠️盈亏比极低,关注 | 止损16.55 | 目标0 | 买入区15.35~17.91 | 信号:持有", "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ "GATE_SL_GTE_LOW" @@ -102,1302 +106,1188 @@ { "code": "000711", "name": "ST京蓝", - "price": 5.18, + "price": 5.26, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | 目标5.59 | 止损4.96 | 买入区5.08~5.24 | 信号:观望", - "stop_loss": 4.96, - "entry_low": 5.08, - "entry_high": 5.24, - "tech_snapshot": "形态:平盘/neutral 量价:主动卖盘占优 强撑:4.77 弱撑:5.01 弱压:5.18 强压:5.59 | MA5=4.64 MA10=4.87 MA20=5.25 MA60=5.15", + "action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标5.63 | 止损5.1 | 买入区5.15~5.26 | 信号:观望", + "stop_loss": 5.1, + "entry_low": 5.15, + "entry_high": 5.26, + "tech_snapshot": "形态:带下影阳线/bullish 量价:主动卖盘占优 强撑:4.79 弱撑:5.01 弱压:5.31 强压:5.63 | MA5=4.64 MA10=4.87 MA20=5.25 MA60=5.15", "timing_signal": "观望", - "rr_ratio": 2.41, + "rr_ratio": 1.48, "status": "active", - "note": "", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "note": "⚠️盈亏比不足1:1.5,不建议买入", + "timestamp": "2026-07-03 09:58", + "updated_at": "2026-07-03 09:58", "type": "自选策略", "source": "auto", - "sector_context": "行业房地产-0.5%,中性 | 大盘偏弱(38%上涨)", + "sector_context": "行业房地产开发大涨+111.0%,可适度积极", "stock_category": "弱势", "position_advice": "减仓或观望", "time_horizon": "观望", "trigger": { - "stop_loss": 4.96, - "entry_zone": "5.08~5.24", - "take_profit_zone": "0~5.59" + "stop_loss": 5.1, + "entry_zone": "5.15~5.26", + "take_profit_zone": "0~5.63" }, - "created_at": "2026-07-03 09:26", - "take_profit": 5.59, + "created_at": "2026-07-03 09:58", + "take_profit": 5.63, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 09:58", "old_action": "", - "new_action": "盈利持有 | 目标5.59 | 止损4.96 | 买入区5.08~5.24 | 信号:观望", - "reason": "初始策略创建 | 形态:平盘/neutral 量价:主动卖盘占优 强撑:4.77 弱撑:5.01 弱压:5.18 强压:5.59 | MA", + "new_action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标5.63 | 止损5.1 | 买入区5.15~5.26 | 信号:观望", + "reason": "初始策略创建 | 形态:带下影阳线/bullish 量价:主动卖盘占优 强撑:4.79 弱撑:5.01 弱压:5.31 强压:5.63 |", "trigger": "初始创建" } ], "quality_check": "passed", - "quality_checked_at": "2026-07-03 09:27" + "quality_checked_at": "2026-07-03 10:01" }, { "code": "001309", "name": "德明利", - "price": 804.75, + "price": 830.0, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | 目标872.83 | 止损721.97 | 买入区788.65~820.85 | 信号:关注", - "stop_loss": 721.97, - "entry_low": 788.65, - "entry_high": 820.85, - "tech_snapshot": "形态:平盘/neutral 量价:主动买盘占优 强撑:736.67 弱撑:804.75 弱压:811.0 强压:872.83 | MA5=913.62 MA10=847.32 MA20=744.16 MA60=628.45", - "timing_signal": "关注", - "rr_ratio": 5.64, + "action": "盈利持有 | 目标892.1 | 止损804.17 | 买入区813.4~839.34 | 信号:买入", + "stop_loss": 804.17, + "entry_low": 813.4, + "entry_high": 839.34, + "tech_snapshot": "形态:光头光脚阳线/bullish 量价:主动买盘占优 强撑:741.76 弱撑:804.17 弱压:844.17 强压:892.1 | MA5=913.62 MA10=847.32 MA20=744.16 MA60=628.45", + "timing_signal": "买入", + "rr_ratio": 2.4, "status": "active", "note": "", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 09:58", + "updated_at": "2026-07-03 09:58", "type": "自选策略", "source": "auto", - "sector_context": "行业半导体大跌-5.5%,收紧止损 | 大盘偏弱(38%上涨)", + "sector_context": "半导体", "stock_category": "中短线", "position_advice": "中等仓位", "time_horizon": "2~6周", "trigger": { - "stop_loss": 721.97, - "entry_zone": "788.65~820.85", - "take_profit_zone": "0~872.83" + "stop_loss": 804.17, + "entry_zone": "813.4~839.34", + "take_profit_zone": "0~892.1" }, - "created_at": "2026-07-03 09:26", - "take_profit": 872.83, + "created_at": "2026-07-03 09:58", + "take_profit": 892.1, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 09:58", "old_action": "", - "new_action": "盈利持有 | 目标872.83 | 止损721.97 | 买入区788.65~820.85 | 信号:关注", - "reason": "初始策略创建 | 形态:平盘/neutral 量价:主动买盘占优 强撑:736.67 弱撑:804.75 弱压:811.0 强压:872.", + "new_action": "盈利持有 | 目标892.1 | 止损804.17 | 买入区813.4~839.34 | 信号:买入", + "reason": "初始策略创建 | 形态:光头光脚阳线/bullish 量价:主动买盘占优 强撑:741.76 弱撑:804.17 弱压:844.17 强压", "trigger": "初始创建" + }, + { + "time": "2026-07-03 10:01", + "event": "质量门禁通过 (重试1轮)" } ], + "signal_factors": [ + "信号:买入", + "RR:2.4", + "损804.17盈892.1" + ], "quality_check": "passed", - "quality_checked_at": "2026-07-03 09:27" + "quality_checked_at": "2026-07-03 10:01" }, { "code": "002594", "name": "比亚迪", - "price": 83.73, + "price": 87.1, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | ⚠️盈亏比偏低(1:1.7),谨慎买入 | 目标87.92 | 止损80.41 | 买入区82.06~83.9 | 信号:观望", - "stop_loss": 80.41, - "entry_low": 82.06, - "entry_high": 83.9, - "tech_snapshot": "形态:平盘/neutral 量价:主动卖盘占优 强撑:79.54 弱撑:83.57 弱压:83.73 强压:87.92 | MA5=98.63 MA10=97.78 MA20=96.0 MA60=96.51", + "action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标91.93 | 止损83.57 | 买入区85.36~86.91 | 信号:观望", + "stop_loss": 83.57, + "entry_low": 85.36, + "entry_high": 86.91, + "tech_snapshot": "形态:光头光脚阳线/bullish 量价:主动卖盘占优 强撑:79.03 弱撑:83.57 弱压:88.41 强压:91.93 | MA5=98.63 MA10=97.78 MA20=96.0 MA60=96.51", "timing_signal": "观望", - "rr_ratio": 1.67, + "rr_ratio": 1.37, "status": "active", - "note": "⚠️盈亏比偏低(1:1.7),谨慎买入", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "note": "⚠️盈亏比不足1:1.5,不建议买入", + "timestamp": "2026-07-03 09:58", + "updated_at": "2026-07-03 09:58", "type": "自选策略", "source": "auto", - "sector_context": "行业汽车整车+0.8%,中性 | 大盘偏弱(38%上涨)", + "sector_context": "汽车整车", "stock_category": "弱势", "position_advice": "减仓或观望", "time_horizon": "观望", "trigger": { - "stop_loss": 80.41, - "entry_zone": "82.06~83.9", - "take_profit_zone": "0~87.92" + "stop_loss": 83.57, + "entry_zone": "85.36~86.91", + "take_profit_zone": "0~91.93" }, - "created_at": "2026-07-03 09:26", - "take_profit": 87.92, + "created_at": "2026-07-03 09:58", + "take_profit": 91.93, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 09:58", "old_action": "", - "new_action": "盈利持有 | ⚠️盈亏比偏低(1:1.7),谨慎买入 | 目标87.92 | 止损80.41 | 买入区82.06~83.9 | 信号:观望", - "reason": "初始策略创建 | 形态:平盘/neutral 量价:主动卖盘占优 强撑:79.54 弱撑:83.57 弱压:83.73 强压:87.92 ", + "new_action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标91.93 | 止损83.57 | 买入区85.36~86.91 | 信号:观望", + "reason": "初始策略创建 | 形态:光头光脚阳线/bullish 量价:主动卖盘占优 强撑:79.03 弱撑:83.57 弱压:88.41 强压:91", "trigger": "初始创建" + }, + { + "time": "2026-07-03 10:01", + "event": "质量门禁通过 (重试1轮)" } ], + "signal_factors": [ + "信号:观望", + "RR:1.37", + "损83.57盈91.93" + ], "quality_check": "passed", - "quality_checked_at": "2026-07-03 09:27" + "quality_checked_at": "2026-07-03 10:01" }, { "code": "00700", "name": "腾讯", - "price": 435.0, + "price": 442.8, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 损417.6 | 盈0 | 买426.3~443.7", - "stop_loss": 401.02, - "entry_low": 426.3, - "entry_high": 443.7, + "action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 损425.09 | 盈0 | 买433.94~451.66", + "stop_loss": 429.52, + "entry_low": 433.94, + "entry_high": 451.66, "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=624.1 MA10=623.7 MA20=615.5 MA60=559.52", "timing_signal": "信号不充分", "rr_ratio": 0.0, "status": "active", "note": "⚠️盈亏比不足1:1.5,不建议买入", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 09:58", + "updated_at": "2026-07-03 09:58", "type": "持仓策略", "source": "auto", - "sector_context": "行业软件开发下跌-1.8%,适度防御 | 大盘偏弱(38%上涨)", + "sector_context": "行业软件开发大涨+112.0%,可适度积极", "stock_category": "弱势", "position_advice": "减仓或观望", "time_horizon": "观望", "trigger": { - "stop_loss": 401.02, - "entry_zone": "426.3~443.7" + "stop_loss": 429.52, + "entry_zone": "433.94~451.66" }, - "created_at": "2026-07-03 09:26", - "take_profit": 469.8, + "created_at": "2026-07-03 09:58", + "take_profit": 478.22, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 09:58", "old_action": "", - "new_action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 损417.6 | 盈0 | 买426.3~443.7", + "new_action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 损425.09 | 盈0 | 买433.94~451.66", "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ "GATE_CURRENCY_SET" ] - }, - "currency": "HKD", - "stop_loss_hkd": 401.02, - "stop_loss_cny": 348.89, - "take_profit_hkd": 469.8, - "take_profit_cny": 408.73, - "entry_low_hkd": 426.3, - "entry_low_cny": 370.88, - "entry_high_hkd": 443.7, - "entry_high_cny": 386.02 + } }, { "code": "00968", "name": "信义光能", - "price": 2.15, + "price": 2.1, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损1.93 | 买入区2.11~2.19", - "stop_loss": 1.93, - "entry_low": 2.11, - "entry_high": 2.19, - "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=3.16 MA10=3.16 MA20=3.24 MA60=3.33", - "timing_signal": "信号不充分", - "rr_ratio": 0.0, + "action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标2.24 | 止损2.04 | 买入区2.06~2.08 | 信号:弱势持有", + "stop_loss": 2.04, + "entry_low": 2.06, + "entry_high": 2.08, + "tech_snapshot": "形态:带下影阳线/bullish 量价:数据不足 强撑:1.93 弱撑:2.07 弱压:2.12 强压:2.24 | MA5=3.16 MA10=3.16 MA20=3.24 MA60=3.33", + "timing_signal": "弱势持有", + "rr_ratio": 1.17, "status": "active", "note": "⚠️盈亏比不足1:1.5,不建议买入", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 09:59", + "updated_at": "2026-07-03 09:59", "type": "自选策略", "source": "auto", - "sector_context": "行业电力下跌-1.1%,适度防御 | 大盘偏弱(38%上涨)", + "sector_context": "行业房地产开发大涨+111.0%,可适度积极", "stock_category": "弱势", "position_advice": "减仓或观望", "time_horizon": "观望", "trigger": { - "stop_loss": 1.93, - "entry_zone": "2.11~2.19" + "stop_loss": 2.04, + "entry_zone": "2.06~2.08", + "take_profit_zone": "0~2.24" }, - "created_at": "2026-07-03 09:26", - "take_profit": 2.32, + "created_at": "2026-07-03 09:59", + "take_profit": 2.24, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 09:59", "old_action": "", - "new_action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损1.93 | 买入区2.11~2.19", - "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", + "new_action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标2.24 | 止损2.04 | 买入区2.06~2.08 | 信号:弱势持有", + "reason": "初始策略创建 | 形态:带下影阳线/bullish 量价:数据不足 强撑:1.93 弱撑:2.07 弱压:2.12 强压:2.24 | M", "trigger": "初始创建" - }, - { - "time": "2026-07-03 09:27", - "event": "质量门禁通过 (重试1轮)" } ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ "GATE_CURRENCY_SET" ] - }, - "currency": "HKD", - "stop_loss_hkd": 1.93, - "stop_loss_cny": 1.68, - "take_profit_hkd": 2.32, - "take_profit_cny": 2.02, - "entry_low_hkd": 2.11, - "entry_low_cny": 1.84, - "entry_high_hkd": 2.19, - "entry_high_cny": 1.91 + } }, { "code": "00981", "name": "中芯国际", - "price": 78.5, + "price": 79.8, "cost": 75.94, "shares": 0, "avg_price": 0, - "action": "盈利持有 | ⚠️盈亏比极低,关注 | 止损66.69 | 目标0 | 买入区70.65~82.42 | 信号:持有", - "stop_loss": 66.69, - "entry_low": 70.65, - "entry_high": 82.42, + "action": "盈利良好 | ⚠️盈亏比极低,关注 | 止损77.41 | 目标0 | 买入区71.82~83.79 | 信号:持有", + "stop_loss": 77.41, + "entry_low": 71.82, + "entry_high": 83.79, "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=84.12 MA10=81.44 MA20=78.5 MA60=71.93", "timing_signal": "持有", "rr_ratio": 0.0, "status": "active", "note": "⚠️盈亏比极低,关注", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 09:59", + "updated_at": "2026-07-03 09:59", "type": "持仓策略", "source": "auto", - "sector_context": "行业半导体大跌-5.5%,收紧止损 | 大盘偏弱(38%上涨)", + "sector_context": "半导体", "stock_category": "中短线", "position_advice": "中等仓位", "time_horizon": "2~6周", "trigger": { - "stop_loss": 66.69, - "entry_zone": "70.65~82.42" + "stop_loss": 77.41, + "entry_zone": "71.82~83.79" }, - "created_at": "2026-07-03 09:26", - "take_profit": 84.78, + "created_at": "2026-07-03 09:59", + "take_profit": 86.18, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 09:59", "old_action": "", - "new_action": "盈利持有 | ⚠️盈亏比极低,关注 | 止损66.69 | 目标0 | 买入区70.65~82.42 | 信号:持有", + "new_action": "盈利良好 | ⚠️盈亏比极低,关注 | 止损77.41 | 目标0 | 买入区71.82~83.79 | 信号:持有", "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], + "signal_factors": [ + "信号:持有", + "损77.41盈86.18" + ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ + "GATE_SL_GTE_LOW", "GATE_CURRENCY_SET" ] - }, - "currency": "HKD", - "cost_hkd": 75.94, - "cost_cny": 66.07, - "stop_loss_hkd": 66.69, - "stop_loss_cny": 58.02, - "take_profit_hkd": 84.78, - "take_profit_cny": 73.76, - "entry_low_hkd": 70.65, - "entry_low_cny": 61.47, - "entry_high_hkd": 82.42, - "entry_high_cny": 71.71 + } }, { "code": "01070", "name": "TCL电子", - "price": 12.83, + "price": 13.13, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损11.11 | 买入区12.57~13.09", - "stop_loss": 11.11, - "entry_low": 12.57, - "entry_high": 13.09, - "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=12.78 MA10=13.12 MA20=13.6 MA60=14.33", - "timing_signal": "信号不充分", - "rr_ratio": 0.0, + "action": "盈利持有 | ⚠️盈亏比偏低(1:1.5),谨慎买入 | 目标14.1 | 止损12.5 | 买入区12.87~13.14 | 信号:弱势持有", + "stop_loss": 12.5, + "entry_low": 12.87, + "entry_high": 13.14, + "tech_snapshot": "形态:光头光脚阳线/bullish 量价:数据不足 强撑:12.0 弱撑:12.83 弱压:13.25 强压:14.1 | MA5=12.78 MA10=13.12 MA20=13.6 MA60=14.33", + "timing_signal": "弱势持有", + "rr_ratio": 1.54, "status": "active", - "note": "⚠️盈亏比不足1:1.5,不建议买入", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "note": "⚠️盈亏比偏低(1:1.5),谨慎买入", + "timestamp": "2026-07-03 09:59", + "updated_at": "2026-07-03 09:59", "type": "自选策略", "source": "auto", - "sector_context": "行业消费电子大跌-3.3%,收紧止损 | 大盘偏弱(38%上涨)", + "sector_context": "消费电子", "stock_category": "弱势", "position_advice": "减仓或观望", "time_horizon": "观望", "trigger": { - "stop_loss": 11.11, - "entry_zone": "12.57~13.09" + "stop_loss": 12.5, + "entry_zone": "12.87~13.14", + "take_profit_zone": "0~14.1" }, - "created_at": "2026-07-03 09:26", - "take_profit": 13.86, + "created_at": "2026-07-03 09:59", + "take_profit": 14.1, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 09:59", "old_action": "", - "new_action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损11.11 | 买入区12.57~13.09", - "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", + "new_action": "盈利持有 | ⚠️盈亏比偏低(1:1.5),谨慎买入 | 目标14.1 | 止损12.5 | 买入区12.87~13.14 | 信号:弱势持有", + "reason": "初始策略创建 | 形态:光头光脚阳线/bullish 量价:数据不足 强撑:12.0 弱撑:12.83 弱压:13.25 强压:14.1 ", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], + "signal_factors": [ + "信号:弱势持有", + "RR:1.54", + "损12.5盈14.1" + ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ "GATE_CURRENCY_SET" ] - }, - "currency": "HKD", - "stop_loss_hkd": 11.11, - "stop_loss_cny": 9.67, - "take_profit_hkd": 13.86, - "take_profit_cny": 12.06, - "entry_low_hkd": 12.57, - "entry_low_cny": 10.94, - "entry_high_hkd": 13.09, - "entry_high_cny": 11.39 + } }, { "code": "01088", "name": "中国神华", - "price": 39.6, + "price": 40.04, "cost": 45.89, "shares": 0, "avg_price": 0, - "action": "持有观察 | ⚠️盈亏比极低,关注 | 止损36.57 | 目标0 | 买入区35.64~41.58 | 信号:持有", - "stop_loss": 36.57, - "entry_low": 35.64, - "entry_high": 41.58, + "action": "持有观察 | ⚠️盈亏比极低,关注 | 止损38.84 | 目标0 | 买入区36.04~42.04 | 信号:持有", + "stop_loss": 38.84, + "entry_low": 36.04, + "entry_high": 42.04, "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=39.82 MA10=40.55 MA20=41.11 MA60=43.93", "timing_signal": "持有", "rr_ratio": 0.0, "status": "active", "note": "⚠️盈亏比极低,关注", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 09:59", + "updated_at": "2026-07-03 09:59", "type": "持仓策略", "source": "auto", - "sector_context": "行业煤炭开采加工+0.5%,中性 | 大盘偏弱(38%上涨)", + "sector_context": "行业煤炭大涨+68.0%,可适度积极", "stock_category": "弱势", "position_advice": "减仓或观望", "time_horizon": "观望", "trigger": { - "stop_loss": 36.57, - "entry_zone": "35.64~41.58" + "stop_loss": 38.84, + "entry_zone": "36.04~42.04" }, - "created_at": "2026-07-03 09:26", - "take_profit": 42.77, + "created_at": "2026-07-03 09:59", + "take_profit": 43.24, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 09:59", "old_action": "", - "new_action": "持有观察 | ⚠️盈亏比极低,关注 | 止损36.57 | 目标0 | 买入区35.64~41.58 | 信号:持有", + "new_action": "持有观察 | ⚠️盈亏比极低,关注 | 止损38.84 | 目标0 | 买入区36.04~42.04 | 信号:持有", "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ "GATE_SL_GTE_LOW", "GATE_CURRENCY_SET" ] - }, - "currency": "HKD", - "cost_hkd": 45.89, - "cost_cny": 39.92, - "stop_loss_hkd": 36.57, - "stop_loss_cny": 31.82, - "take_profit_hkd": 42.77, - "take_profit_cny": 37.21, - "entry_low_hkd": 35.64, - "entry_low_cny": 31.01, - "entry_high_hkd": 41.58, - "entry_high_cny": 36.17 + } }, { "code": "01211", "name": "比亚迪股份", - "price": 88.0, + "price": 82.85, "cost": 104.87, "shares": 0, "avg_price": 0, - "action": "持有观察 | ⚠️盈亏比极低,关注 | 止损81.27 | 目标0 | 买入区79.2~92.4 | 信号:持有", - "stop_loss": 81.27, - "entry_low": 79.2, - "entry_high": 92.4, + "action": "深套持有 | 深套持有 | 止损74.65 | 目标0 | 买入区74.56~86.99 | 信号:持有", + "stop_loss": 74.65, + "entry_low": 74.56, + "entry_high": 86.99, "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=96.74 MA10=96.79 MA20=98.23 MA60=98.39", "timing_signal": "持有", "rr_ratio": 0.0, "status": "active", - "note": "⚠️盈亏比极低,关注", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "note": "深套持有", + "timestamp": "2026-07-03 09:59", + "updated_at": "2026-07-03 09:59", "type": "持仓策略", "source": "auto", - "sector_context": "行业汽车整车+0.8%,中性 | 大盘偏弱(38%上涨)", - "stock_category": "弱势", - "position_advice": "减仓或观望", - "time_horizon": "观望", + "sector_context": "汽车整车", + "stock_category": "深套", + "position_advice": "不补不割", + "time_horizon": "长期", "trigger": { - "stop_loss": 81.27, - "entry_zone": "79.2~92.4" + "stop_loss": 74.65, + "entry_zone": "74.56~86.99" }, - "created_at": "2026-07-03 09:26", - "take_profit": 95.04, + "created_at": "2026-07-03 09:59", + "take_profit": 89.48, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 09:59", "old_action": "", - "new_action": "持有观察 | ⚠️盈亏比极低,关注 | 止损81.27 | 目标0 | 买入区79.2~92.4 | 信号:持有", + "new_action": "深套持有 | 深套持有 | 止损74.65 | 目标0 | 买入区74.56~86.99 | 信号:持有", "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], + "signal_factors": [ + "信号:持有", + "损74.65盈89.48" + ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ "GATE_SL_GTE_LOW", "GATE_CURRENCY_SET" ] - }, - "currency": "HKD", - "cost_hkd": 104.87, - "cost_cny": 91.24, - "stop_loss_hkd": 81.27, - "stop_loss_cny": 70.7, - "take_profit_hkd": 95.04, - "take_profit_cny": 82.68, - "entry_low_hkd": 79.2, - "entry_low_cny": 68.9, - "entry_high_hkd": 92.4, - "entry_high_cny": 80.39 + } }, { "code": "01478", "name": "丘钛科技", - "price": 6.72, + "price": 6.88, "cost": 13.47, "shares": 0, "avg_price": 0, - "action": "深套持有 | 深套持有 | 止损5.51 | 目标0 | 买入区6.05~7.06 | 信号:持有", - "stop_loss": 5.51, - "entry_low": 6.05, - "entry_high": 7.06, + "action": "深套持有 | 深套持有 | 止损6.2 | 目标0 | 买入区6.19~7.22 | 信号:持有", + "stop_loss": 6.2, + "entry_low": 6.19, + "entry_high": 7.22, "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=9.11 MA10=9.29 MA20=9.5 MA60=8.86", "timing_signal": "持有", "rr_ratio": 0.0, "status": "active", "note": "深套持有", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 09:59", + "updated_at": "2026-07-03 09:59", "type": "持仓策略", "source": "auto", - "sector_context": "行业消费电子大跌-3.3%,收紧止损 | 大盘偏弱(38%上涨)", + "sector_context": "消费电子", "stock_category": "深套", "position_advice": "不补不割", "time_horizon": "长期", "trigger": { - "stop_loss": 5.51, - "entry_zone": "6.05~7.06" + "stop_loss": 6.2, + "entry_zone": "6.19~7.22" }, - "created_at": "2026-07-03 09:26", - "take_profit": 7.26, + "created_at": "2026-07-03 09:59", + "take_profit": 7.43, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 09:59", "old_action": "", - "new_action": "深套持有 | 深套持有 | 止损5.51 | 目标0 | 买入区6.05~7.06 | 信号:持有", + "new_action": "深套持有 | 深套持有 | 止损6.2 | 目标0 | 买入区6.19~7.22 | 信号:持有", "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], + "signal_factors": [ + "信号:持有", + "损6.2盈7.43" + ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ + "GATE_SL_GTE_LOW", "GATE_CURRENCY_SET" ] - }, - "currency": "HKD", - "cost_hkd": 13.47, - "cost_cny": 11.72, - "stop_loss_hkd": 5.51, - "stop_loss_cny": 4.79, - "take_profit_hkd": 7.26, - "take_profit_cny": 6.32, - "entry_low_hkd": 6.05, - "entry_low_cny": 5.26, - "entry_high_hkd": 7.06, - "entry_high_cny": 6.14 + } }, { "code": "01888", "name": "建滔积层板", - "price": 76.1, + "price": 85.05, "cost": 88.23, "shares": 0, "avg_price": 0, - "action": "持有观察 | ⚠️盈亏比极低,关注 | 止损64.66 | 目标0 | 买入区68.49~79.91 | 信号:持有", - "stop_loss": 64.66, - "entry_low": 68.49, - "entry_high": 79.91, + "action": "持有观察 | ⚠️盈亏比极低,关注 | 止损82.5 | 目标0 | 买入区76.55~89.3 | 信号:持有", + "stop_loss": 82.5, + "entry_low": 76.55, + "entry_high": 89.3, "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=96.4 MA10=93.52 MA20=78.64 MA60=51.2", "timing_signal": "持有", "rr_ratio": 0.0, "status": "active", "note": "⚠️盈亏比极低,关注", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 09:59", + "updated_at": "2026-07-03 09:59", "type": "持仓策略", "source": "auto", - "sector_context": "行业元件大跌-5.8%,收紧止损 | 大盘偏弱(38%上涨)", + "sector_context": "行业元件大涨+9.0%,可适度积极", "stock_category": "中短线", "position_advice": "中等仓位", "time_horizon": "2~6周", "trigger": { - "stop_loss": 64.66, - "entry_zone": "68.49~79.91" + "stop_loss": 82.5, + "entry_zone": "76.55~89.3" }, - "created_at": "2026-07-03 09:26", - "take_profit": 82.19, + "created_at": "2026-07-03 09:59", + "take_profit": 91.85, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 09:59", "old_action": "", - "new_action": "持有观察 | ⚠️盈亏比极低,关注 | 止损64.66 | 目标0 | 买入区68.49~79.91 | 信号:持有", + "new_action": "持有观察 | ⚠️盈亏比极低,关注 | 止损82.5 | 目标0 | 买入区76.55~89.3 | 信号:持有", "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ + "GATE_SL_GTE_LOW", "GATE_CURRENCY_SET" ] - }, - "currency": "HKD", - "cost_hkd": 88.23, - "cost_cny": 76.76, - "stop_loss_hkd": 64.66, - "stop_loss_cny": 56.25, - "take_profit_hkd": 82.19, - "take_profit_cny": 71.51, - "entry_low_hkd": 68.49, - "entry_low_cny": 59.59, - "entry_high_hkd": 79.91, - "entry_high_cny": 69.52 + } }, { "code": "02202", "name": "万科企业", - "price": 2.26, + "price": 2.3, "cost": 4.67, "shares": 0, "avg_price": 0, - "action": "深套持有 | 深套持有 | 止损2.02 | 目标0 | 买入区2.03~2.37 | 信号:持有", - "stop_loss": 2.02, - "entry_low": 2.03, - "entry_high": 2.37, + "action": "深套持有 | 深套持有 | 止损2.17 | 目标0 | 买入区2.07~2.42 | 信号:持有", + "stop_loss": 2.17, + "entry_low": 2.07, + "entry_high": 2.42, "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=3.41 MA10=3.42 MA20=3.53 MA60=3.51", "timing_signal": "持有", "rr_ratio": 0.0, "status": "active", "note": "深套持有", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 09:59", + "updated_at": "2026-07-03 09:59", "type": "持仓策略", "source": "auto", - "sector_context": "行业房地产-0.5%,中性 | 大盘偏弱(38%上涨)", + "sector_context": "行业房地产开发大涨+111.0%,可适度积极", "stock_category": "深套", "position_advice": "不补不割", "time_horizon": "长期", "trigger": { - "stop_loss": 2.02, - "entry_zone": "2.03~2.37" + "stop_loss": 2.17, + "entry_zone": "2.07~2.42" }, - "created_at": "2026-07-03 09:26", - "take_profit": 2.44, + "created_at": "2026-07-03 09:59", + "take_profit": 2.48, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 09:59", "old_action": "", - "new_action": "深套持有 | 深套持有 | 止损2.02 | 目标0 | 买入区2.03~2.37 | 信号:持有", + "new_action": "深套持有 | 深套持有 | 止损2.17 | 目标0 | 买入区2.07~2.42 | 信号:持有", "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ + "GATE_SL_GTE_LOW", "GATE_CURRENCY_SET" ] - }, - "currency": "HKD", - "cost_hkd": 4.67, - "cost_cny": 4.06, - "stop_loss_hkd": 2.02, - "stop_loss_cny": 1.76, - "take_profit_hkd": 2.44, - "take_profit_cny": 2.12, - "entry_low_hkd": 2.03, - "entry_low_cny": 1.77, - "entry_high_hkd": 2.37, - "entry_high_cny": 2.06 + } }, { "code": "02318", "name": "中国平安", - "price": 52.3, + "price": 52.7, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损47.72 | 买入区51.25~53.35", - "stop_loss": 47.72, - "entry_low": 51.25, - "entry_high": 53.35, - "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=69.74 MA10=69.55 MA20=69.3 MA60=67.19", - "timing_signal": "信号不充分", - "rr_ratio": 0.0, + "action": "盈利持有 | ⚠️盈亏比偏低(1:1.6),谨慎买入 | 目标55.25 | 止损51.12 | 买入区51.65~52.77 | 信号:弱势持有", + "stop_loss": 51.12, + "entry_low": 51.65, + "entry_high": 52.77, + "tech_snapshot": "形态:倒T线/射击之星/bearish 量价:数据不足 强撑:49.99 弱撑:52.23 弱压:52.98 强压:55.25 | MA5=69.74 MA10=69.55 MA20=69.3 MA60=67.19", + "timing_signal": "弱势持有", + "rr_ratio": 1.61, "status": "active", - "note": "⚠️盈亏比不足1:1.5,不建议买入", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "note": "⚠️盈亏比偏低(1:1.6),谨慎买入", + "timestamp": "2026-07-03 09:59", + "updated_at": "2026-07-03 09:59", "type": "自选策略", "source": "auto", - "sector_context": "行业保险下跌-1.3%,适度防御 | 大盘偏弱(38%上涨)", + "sector_context": "行业保险Ⅱ大涨+33.0%,可适度积极", "stock_category": "弱势", "position_advice": "减仓或观望", "time_horizon": "观望", "trigger": { - "stop_loss": 47.72, - "entry_zone": "51.25~53.35" + "stop_loss": 51.12, + "entry_zone": "51.65~52.77", + "take_profit_zone": "0~55.25" }, - "created_at": "2026-07-03 09:26", - "take_profit": 56.48, + "created_at": "2026-07-03 09:59", + "take_profit": 55.25, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 09:59", "old_action": "", - "new_action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损47.72 | 买入区51.25~53.35", - "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", + "new_action": "盈利持有 | ⚠️盈亏比偏低(1:1.6),谨慎买入 | 目标55.25 | 止损51.12 | 买入区51.65~52.77 | 信号:弱势持有", + "reason": "初始策略创建 | 形态:倒T线/射击之星/bearish 量价:数据不足 强撑:49.99 弱撑:52.23 弱压:52.98 强压:55", "trigger": "初始创建" - }, - { - "time": "2026-07-03 09:27", - "event": "质量门禁通过 (重试1轮)" } ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ "GATE_CURRENCY_SET" ] - }, - "currency": "HKD", - "stop_loss_hkd": 47.72, - "stop_loss_cny": 41.52, - "take_profit_hkd": 56.48, - "take_profit_cny": 49.14, - "entry_low_hkd": 51.25, - "entry_low_cny": 44.59, - "entry_high_hkd": 53.35, - "entry_high_cny": 46.41 + } }, { "code": "02359", "name": "药明康德", - "price": 159.0, + "price": 151.8, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损145.07 | 买入区155.82~162.18", - "stop_loss": 145.07, - "entry_low": 155.82, - "entry_high": 162.18, - "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=149.96 MA10=140.63 MA20=131.92 MA60=130.66", - "timing_signal": "信号不充分", - "rr_ratio": 0.0, + "action": "盈利持有 | 目标165.63 | 止损147.25 | 买入区148.76~154.5 | 信号:买入", + "stop_loss": 147.25, + "entry_low": 148.76, + "entry_high": 154.5, + "tech_snapshot": "形态:带上影阴线/bearish 量价:数据不足 强撑:141.23 弱撑:150.47 弱压:155.47 强压:165.63 | MA5=149.96 MA10=140.63 MA20=131.92 MA60=130.66", + "timing_signal": "买入", + "rr_ratio": 2.93, "status": "active", - "note": "⚠️盈亏比不足1:1.5,不建议买入", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "note": "", + "timestamp": "2026-07-03 09:59", + "updated_at": "2026-07-03 09:59", "type": "自选策略", "source": "auto", - "sector_context": "行业医疗服务下跌-1.7%,适度防御 | 大盘偏弱(38%上涨)", + "sector_context": "行业医疗服务大涨+63.0%,可适度积极", "stock_category": "中短线", "position_advice": "中等仓位", "time_horizon": "2~6周", "trigger": { - "stop_loss": 145.07, - "entry_zone": "155.82~162.18" + "stop_loss": 147.25, + "entry_zone": "148.76~154.5", + "take_profit_zone": "0~165.63" }, - "created_at": "2026-07-03 09:26", - "take_profit": 171.72, + "created_at": "2026-07-03 09:59", + "take_profit": 165.63, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 09:59", "old_action": "", - "new_action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损145.07 | 买入区155.82~162.18", - "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", + "new_action": "盈利持有 | 目标165.63 | 止损147.25 | 买入区148.76~154.5 | 信号:买入", + "reason": "初始策略创建 | 形态:带上影阴线/bearish 量价:数据不足 强撑:141.23 弱撑:150.47 弱压:155.47 强压:16", "trigger": "初始创建" - }, - { - "time": "2026-07-03 09:27", - "event": "质量门禁通过 (重试1轮)" } ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ "GATE_CURRENCY_SET" ] - }, - "currency": "HKD", - "stop_loss_hkd": 145.07, - "stop_loss_cny": 126.21, - "take_profit_hkd": 171.72, - "take_profit_cny": 149.4, - "entry_low_hkd": 155.82, - "entry_low_cny": 135.56, - "entry_high_hkd": 162.18, - "entry_high_cny": 141.1 + } }, { "code": "02388", "name": "中银香港", - "price": 42.8, + "price": 42.78, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损41.49 | 买入区41.94~43.66", - "stop_loss": 41.49, - "entry_low": 41.94, - "entry_high": 43.66, - "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=44.03 MA10=45.75 MA20=46.75 MA60=45.87", - "timing_signal": "信号不充分", - "rr_ratio": 0.0, + "action": "盈利持有 | 目标46.13 | 止损41.5 | 买入区41.92~43.35 | 信号:弱势持有", + "stop_loss": 41.5, + "entry_low": 41.92, + "entry_high": 43.35, + "tech_snapshot": "形态:光头光脚阳线/bullish 量价:数据不足 强撑:39.27 弱撑:42.3 弱压:42.98 强压:46.13 | MA5=44.03 MA10=45.75 MA20=46.75 MA60=45.87", + "timing_signal": "弱势持有", + "rr_ratio": 2.62, "status": "active", - "note": "⚠️盈亏比不足1:1.5,不建议买入", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "note": "", + "timestamp": "2026-07-03 09:59", + "updated_at": "2026-07-03 09:59", "type": "自选策略", "source": "auto", - "sector_context": "行业银行上涨+1.2%,正常 | 大盘偏弱(38%上涨)", + "sector_context": "行业银行Ⅱ大涨+4.0%,可适度积极", "stock_category": "弱势", "position_advice": "减仓或观望", "time_horizon": "观望", "trigger": { - "stop_loss": 41.49, - "entry_zone": "41.94~43.66" + "stop_loss": 41.5, + "entry_zone": "41.92~43.35", + "take_profit_zone": "0~46.13" }, - "created_at": "2026-07-03 09:26", - "take_profit": 46.22, + "created_at": "2026-07-03 09:59", + "take_profit": 46.13, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 09:59", "old_action": "", - "new_action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损41.49 | 买入区41.94~43.66", - "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", + "new_action": "盈利持有 | 目标46.13 | 止损41.5 | 买入区41.92~43.35 | 信号:弱势持有", + "reason": "初始策略创建 | 形态:光头光脚阳线/bullish 量价:数据不足 强撑:39.27 弱撑:42.3 弱压:42.98 强压:46.13", "trigger": "初始创建" - }, - { - "time": "2026-07-03 09:27", - "event": "质量门禁通过 (重试1轮)" } ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ "GATE_CURRENCY_SET" ] - }, - "currency": "HKD", - "stop_loss_hkd": 41.49, - "stop_loss_cny": 36.1, - "take_profit_hkd": 46.22, - "take_profit_cny": 40.21, - "entry_low_hkd": 41.94, - "entry_low_cny": 36.49, - "entry_high_hkd": 43.66, - "entry_high_cny": 37.98 + } }, { "code": "02628", "name": "中国人寿", - "price": 28.34, + "price": 28.68, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损25.86 | 买入区27.77~28.91", - "stop_loss": 25.86, - "entry_low": 27.77, - "entry_high": 28.91, - "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=30.54 MA10=31.35 MA20=32.21 MA60=31.07", + "action": "盈利持有 | ⚠️盈亏比偏低(1:1.8),谨慎买入 | 目标30.22 | 止损27.82 | 买入区28.11~28.78", + "stop_loss": 27.82, + "entry_low": 28.11, + "entry_high": 28.78, + "tech_snapshot": "形态:带上影阳线/neutral 量价:数据不足 强撑:27.06 弱撑:28.08 弱压:29.18 强压:30.22 | MA5=30.54 MA10=31.35 MA20=32.21 MA60=31.07", "timing_signal": "信号不充分", - "rr_ratio": 0.0, + "rr_ratio": 1.79, "status": "active", - "note": "⚠️盈亏比不足1:1.5,不建议买入", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "note": "⚠️盈亏比偏低(1:1.8),谨慎买入", + "timestamp": "2026-07-03 09:59", + "updated_at": "2026-07-03 09:59", "type": "自选策略", "source": "auto", - "sector_context": "行业保险下跌-1.3%,适度防御 | 大盘偏弱(38%上涨)", + "sector_context": "行业保险Ⅱ大涨+33.0%,可适度积极", "stock_category": "弱势", "position_advice": "减仓或观望", "time_horizon": "观望", "trigger": { - "stop_loss": 25.86, - "entry_zone": "27.77~28.91" + "stop_loss": 27.82, + "entry_zone": "28.11~28.78", + "take_profit_zone": "0~30.22" }, - "created_at": "2026-07-03 09:26", - "take_profit": 30.61, + "created_at": "2026-07-03 09:59", + "take_profit": 30.22, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 09:59", "old_action": "", - "new_action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损25.86 | 买入区27.77~28.91", - "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", + "new_action": "盈利持有 | ⚠️盈亏比偏低(1:1.8),谨慎买入 | 目标30.22 | 止损27.82 | 买入区28.11~28.78", + "reason": "初始策略创建 | 形态:带上影阳线/neutral 量价:数据不足 强撑:27.06 弱撑:28.08 弱压:29.18 强压:30.22", "trigger": "初始创建" - }, - { - "time": "2026-07-03 09:27", - "event": "质量门禁通过 (重试1轮)" } ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ "GATE_CURRENCY_SET" ] - }, - "currency": "HKD", - "stop_loss_hkd": 25.86, - "stop_loss_cny": 22.5, - "take_profit_hkd": 30.61, - "take_profit_cny": 26.63, - "entry_low_hkd": 27.77, - "entry_low_cny": 24.16, - "entry_high_hkd": 28.91, - "entry_high_cny": 25.15 + } }, { "code": "06160", "name": "百济神州", - "price": 174.5, + "price": 181.6, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损165.84 | 买入区171.01~177.99", - "stop_loss": 165.84, - "entry_low": 171.01, - "entry_high": 177.99, - "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=193.84 MA10=198.45 MA20=200.76 MA60=193.12", - "timing_signal": "信号不充分", - "rr_ratio": 0.0, + "action": "盈利持有 | 目标197.15 | 止损174.7 | 买入区177.97~183.68 | 信号:买入", + "stop_loss": 174.7, + "entry_low": 177.97, + "entry_high": 183.68, + "tech_snapshot": "形态:光头光脚阳线/bullish 量价:数据不足 强撑:165.25 弱撑:174.7 弱压:184.2 强压:197.15 | MA5=193.84 MA10=198.45 MA20=200.76 MA60=193.12", + "timing_signal": "买入", + "rr_ratio": 2.25, "status": "active", - "note": "⚠️盈亏比不足1:1.5,不建议买入", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "note": "", + "timestamp": "2026-07-03 09:59", + "updated_at": "2026-07-03 09:59", "type": "自选策略", "source": "auto", - "sector_context": "行业生物制品-0.2%,中性 | 大盘偏弱(38%上涨)", + "sector_context": "创新药", "stock_category": "中短线", "position_advice": "中等仓位", "time_horizon": "2周~3月", "trigger": { - "stop_loss": 165.84, - "entry_zone": "171.01~177.99" + "stop_loss": 174.7, + "entry_zone": "177.97~183.68", + "take_profit_zone": "0~197.15" }, - "created_at": "2026-07-03 09:26", - "take_profit": 188.46, + "created_at": "2026-07-03 09:59", + "take_profit": 197.15, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 09:59", "old_action": "", - "new_action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损165.84 | 买入区171.01~177.99", - "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", + "new_action": "盈利持有 | 目标197.15 | 止损174.7 | 买入区177.97~183.68 | 信号:买入", + "reason": "初始策略创建 | 形态:光头光脚阳线/bullish 量价:数据不足 强撑:165.25 弱撑:174.7 弱压:184.2 强压:197", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], + "signal_factors": [ + "信号:买入", + "RR:2.25", + "损174.7盈197.15" + ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ "GATE_CURRENCY_SET" ] - }, - "currency": "HKD", - "stop_loss_hkd": 165.84, - "stop_loss_cny": 144.28, - "take_profit_hkd": 188.46, - "take_profit_cny": 163.96, - "entry_low_hkd": 171.01, - "entry_low_cny": 148.78, - "entry_high_hkd": 177.99, - "entry_high_cny": 154.85 + } }, { "code": "06869", "name": "长飞光纤光缆", - "price": 192.0, + "price": 203.0, "cost": 263.72, "shares": 0, "avg_price": 0, - "action": "深套持有 | 深套持有 | 止损157.56 | 目标0 | 买入区172.8~201.6 | 信号:持有", - "stop_loss": 157.56, - "entry_low": 172.8, - "entry_high": 201.6, + "action": "深套持有 | 深套持有 | 止损192.05 | 目标0 | 买入区182.7~213.15 | 信号:持有", + "stop_loss": 192.05, + "entry_low": 182.7, + "entry_high": 213.15, "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=246.26 MA10=248.81 MA20=244.56 MA60=231.58", "timing_signal": "持有", "rr_ratio": 0.0, "status": "active", "note": "深套持有", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 10:00", + "updated_at": "2026-07-03 10:00", "type": "持仓策略", "source": "auto", - "sector_context": "行业通信设备大跌-4.4%,收紧止损 | 大盘偏弱(38%上涨)", + "sector_context": "行业通信设备大涨+196.0%,可适度积极", "stock_category": "深套", "position_advice": "不补不割", "time_horizon": "长期", "trigger": { - "stop_loss": 157.56, - "entry_zone": "172.8~201.6" + "stop_loss": 192.05, + "entry_zone": "182.7~213.15" }, - "created_at": "2026-07-03 09:26", - "take_profit": 207.36, + "created_at": "2026-07-03 10:00", + "take_profit": 219.24, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 10:00", "old_action": "", - "new_action": "深套持有 | 深套持有 | 止损157.56 | 目标0 | 买入区172.8~201.6 | 信号:持有", + "new_action": "深套持有 | 深套持有 | 止损192.05 | 目标0 | 买入区182.7~213.15 | 信号:持有", "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ + "GATE_SL_GTE_LOW", "GATE_CURRENCY_SET" ] - }, - "currency": "HKD", - "cost_hkd": 263.72, - "cost_cny": 229.44, - "stop_loss_hkd": 157.56, - "stop_loss_cny": 137.08, - "take_profit_hkd": 207.36, - "take_profit_cny": 180.4, - "entry_low_hkd": 172.8, - "entry_low_cny": 150.34, - "entry_high_hkd": 201.6, - "entry_high_cny": 175.39 + } }, { "code": "09868", "name": "小鹏汽车-W", - "price": 49.36, + "price": 50.15, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损46.29 | 买入区48.37~50.35", - "stop_loss": 46.29, - "entry_low": 48.37, - "entry_high": 50.35, - "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=78.77 MA10=79.8 MA20=78.25 MA60=72.85", - "timing_signal": "信号不充分", - "rr_ratio": 0.0, + "action": "盈利持有 | ⚠️盈亏比偏低(1:1.6),谨慎买入 | 目标54.37 | 止损47.55 | 买入区49.15~50.28 | 信号:弱势持有", + "stop_loss": 47.55, + "entry_low": 49.15, + "entry_high": 50.28, + "tech_snapshot": "形态:锤子线/T字线/bullish 量价:数据不足 强撑:45.57 弱撑:49.48 弱压:51.8 强压:54.37 | MA5=78.77 MA10=79.8 MA20=78.25 MA60=72.85", + "timing_signal": "弱势持有", + "rr_ratio": 1.62, "status": "active", - "note": "⚠️盈亏比不足1:1.5,不建议买入", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "note": "⚠️盈亏比偏低(1:1.6),谨慎买入", + "timestamp": "2026-07-03 10:00", + "updated_at": "2026-07-03 10:00", "type": "自选策略", "source": "auto", - "sector_context": "行业汽车整车+0.8%,中性 | 大盘偏弱(38%上涨)", + "sector_context": "汽车整车", "stock_category": "弱势", "position_advice": "减仓或观望", "time_horizon": "观望", "trigger": { - "stop_loss": 46.29, - "entry_zone": "48.37~50.35" + "stop_loss": 47.55, + "entry_zone": "49.15~50.28", + "take_profit_zone": "0~54.37" }, - "created_at": "2026-07-03 09:26", - "take_profit": 53.31, + "created_at": "2026-07-03 10:00", + "take_profit": 54.37, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 10:00", "old_action": "", - "new_action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损46.29 | 买入区48.37~50.35", - "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", + "new_action": "盈利持有 | ⚠️盈亏比偏低(1:1.6),谨慎买入 | 目标54.37 | 止损47.55 | 买入区49.15~50.28 | 信号:弱势持有", + "reason": "初始策略创建 | 形态:锤子线/T字线/bullish 量价:数据不足 强撑:45.57 弱撑:49.48 弱压:51.8 强压:54.3", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], + "signal_factors": [ + "信号:弱势持有", + "RR:1.62", + "损47.55盈54.37" + ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ "GATE_CURRENCY_SET" ] - }, - "currency": "HKD", - "stop_loss_hkd": 46.29, - "stop_loss_cny": 40.27, - "take_profit_hkd": 53.31, - "take_profit_cny": 46.38, - "entry_low_hkd": 48.37, - "entry_low_cny": 42.08, - "entry_high_hkd": 50.35, - "entry_high_cny": 43.8 + } }, { "code": "09988", "name": "阿里巴巴-W", - "price": 91.25, + "price": 95.75, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损82.3 | 买入区89.42~93.08", - "stop_loss": 82.3, - "entry_low": 89.42, - "entry_high": 93.08, - "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=148.22 MA10=153.54 MA20=160.0 MA60=147.22", - "timing_signal": "信号不充分", - "rr_ratio": 0.0, + "action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标100.71 | 止损92.88 | 买入区93.83~94.94 | 信号:弱势持有", + "stop_loss": 92.88, + "entry_low": 93.83, + "entry_high": 94.94, + "tech_snapshot": "形态:光头光脚阳线/bullish 量价:数据不足 强撑:89.49 弱撑:94.35 弱压:96.2 强压:100.71 | MA5=148.22 MA10=153.54 MA20=160.0 MA60=147.22", + "timing_signal": "弱势持有", + "rr_ratio": 1.06, "status": "active", "note": "⚠️盈亏比不足1:1.5,不建议买入", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 10:00", + "updated_at": "2026-07-03 10:00", "type": "自选策略", "source": "auto", - "sector_context": "行业软件开发下跌-1.8%,适度防御 | 大盘偏弱(38%上涨)", + "sector_context": "行业软件开发大涨+112.0%,可适度积极", "stock_category": "弱势", "position_advice": "减仓或观望", "time_horizon": "观望", "trigger": { - "stop_loss": 82.3, - "entry_zone": "89.42~93.08" + "stop_loss": 92.88, + "entry_zone": "93.83~94.94", + "take_profit_zone": "0~100.71" }, - "created_at": "2026-07-03 09:26", - "take_profit": 98.55, + "created_at": "2026-07-03 10:00", + "take_profit": 100.71, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 10:00", "old_action": "", - "new_action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损82.3 | 买入区89.42~93.08", - "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", + "new_action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标100.71 | 止损92.88 | 买入区93.83~94.94 | 信号:弱势持有", + "reason": "初始策略创建 | 形态:光头光脚阳线/bullish 量价:数据不足 强撑:89.49 弱撑:94.35 弱压:96.2 强压:100.7", "trigger": "初始创建" - }, - { - "time": "2026-07-03 09:27", - "event": "质量门禁通过 (重试1轮)" } ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ "GATE_CURRENCY_SET" ] - }, - "currency": "HKD", - "stop_loss_hkd": 82.3, - "stop_loss_cny": 71.6, - "take_profit_hkd": 98.55, - "take_profit_cny": 85.74, - "entry_low_hkd": 89.42, - "entry_low_cny": 77.8, - "entry_high_hkd": 93.08, - "entry_high_cny": 80.98 + } }, { "code": "300035", "name": "中科电气", - "price": 14.18, + "price": 14.27, "cost": 22.29, "shares": 0, "avg_price": 0, - "action": "深套持有 | 深套持有 | 止损12.64 | 目标0 | 买入区12.76~14.89 | 信号:持有", - "stop_loss": 12.64, - "entry_low": 12.76, - "entry_high": 14.89, + "action": "深套持有 | 深套持有 | 止损13.5 | 目标0 | 买入区12.84~14.98 | 信号:持有", + "stop_loss": 13.5, + "entry_low": 12.84, + "entry_high": 14.98, "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=21.7 MA10=21.88 MA20=22.15 MA60=21.44", "timing_signal": "持有", "rr_ratio": 0.0, "status": "active", "note": "深套持有", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 10:00", + "updated_at": "2026-07-03 10:00", "type": "持仓策略", "source": "auto", - "sector_context": "行业电池-1.0%,中性 | 大盘偏弱(38%上涨)", + "sector_context": "行业能源金属大涨+39.0%,可适度积极", "stock_category": "深套", "position_advice": "不补不割", "time_horizon": "长期", "trigger": { - "stop_loss": 12.64, - "entry_zone": "12.76~14.89" + "stop_loss": 13.5, + "entry_zone": "12.84~14.98" }, - "created_at": "2026-07-03 09:26", - "take_profit": 15.31, + "created_at": "2026-07-03 10:00", + "take_profit": 15.41, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 10:00", "old_action": "", - "new_action": "深套持有 | 深套持有 | 止损12.64 | 目标0 | 买入区12.76~14.89 | 信号:持有", + "new_action": "深套持有 | 深套持有 | 止损13.5 | 目标0 | 买入区12.84~14.98 | 信号:持有", "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], - "quality_check": "passed", - "quality_checked_at": "2026-07-03 09:27" + "quality_check": "warning", + "quality_checked_at": "2026-07-03 10:01", + "quality_issues": { + "high": [ + "GATE_SL_GTE_LOW" + ] + } }, { "code": "300124", "name": "汇川技术", - "price": 67.5, + "price": 70.06, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | 目标72.9 | 止损62.22 | 买入区66.15~68.44 | 信号:观望", - "stop_loss": 62.22, - "entry_low": 66.15, - "entry_high": 68.44, - "tech_snapshot": "形态:平盘/neutral 量价:主动卖盘占优 强撑:62.1 弱撑:67.5 弱压:68.4 强压:72.9 | MA5=76.83 MA10=77.47 MA20=78.08 MA60=73.46", + "action": "盈利持有 | ⚠️盈亏比偏低(1:1.8),谨慎买入 | 目标73.77 | 止损67.96 | 买入区68.66~70.28 | 信号:观望", + "stop_loss": 67.96, + "entry_low": 68.66, + "entry_high": 70.28, + "tech_snapshot": "形态:光头光脚阳线/neutral 量价:主动卖盘占优 强撑:64.81 弱撑:68.22 弱压:71.17 强压:73.77 | MA5=76.83 MA10=77.47 MA20=78.08 MA60=73.46", "timing_signal": "观望", - "rr_ratio": 2.66, + "rr_ratio": 1.77, "status": "active", - "note": "", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "note": "⚠️盈亏比偏低(1:1.8),谨慎买入", + "timestamp": "2026-07-03 10:00", + "updated_at": "2026-07-03 10:00", "type": "自选策略", "source": "auto", - "sector_context": "行业自动化设备下跌-2.4%,适度防御 | 大盘偏弱(38%上涨)", + "sector_context": "自动化设备", "stock_category": "弱势", "position_advice": "减仓或观望", "time_horizon": "观望", "trigger": { - "stop_loss": 62.22, - "entry_zone": "66.15~68.44", - "take_profit_zone": "0~72.9" + "stop_loss": 67.96, + "entry_zone": "68.66~70.28", + "take_profit_zone": "0~73.77" }, - "created_at": "2026-07-03 09:26", - "take_profit": 72.9, + "created_at": "2026-07-03 10:00", + "take_profit": 73.77, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 10:00", "old_action": "", - "new_action": "盈利持有 | 目标72.9 | 止损62.22 | 买入区66.15~68.44 | 信号:观望", - "reason": "初始策略创建 | 形态:平盘/neutral 量价:主动卖盘占优 强撑:62.1 弱撑:67.5 弱压:68.4 强压:72.9 | MA", + "new_action": "盈利持有 | ⚠️盈亏比偏低(1:1.8),谨慎买入 | 目标73.77 | 止损67.96 | 买入区68.66~70.28 | 信号:观望", + "reason": "初始策略创建 | 形态:光头光脚阳线/neutral 量价:主动卖盘占优 强撑:64.81 弱撑:68.22 弱压:71.17 强压:73", "trigger": "初始创建" + }, + { + "time": "2026-07-03 10:01", + "event": "质量门禁通过 (重试1轮)" } ], + "signal_factors": [ + "信号:观望", + "RR:1.77", + "损67.96盈73.77" + ], "quality_check": "passed", - "quality_checked_at": "2026-07-03 09:27" + "quality_checked_at": "2026-07-03 10:01" }, { "code": "300308", "name": "中际旭创", - "price": 1130.0, + "price": 1135.24, "cost": 1316.53, "shares": 0, "avg_price": 0, - "action": "持有观察 | ⚠️盈亏比极低,关注 | 止损1054.06 | 目标0 | 买入区1017.0~1186.5 | 信号:持有", - "stop_loss": 1054.06, - "entry_low": 1017.0, - "entry_high": 1186.5, + "action": "持有观察 | ⚠️盈亏比极低,关注 | 止损1058.95 | 目标0 | 买入区1021.72~1192.0 | 信号:持有", + "stop_loss": 1058.95, + "entry_low": 1021.72, + "entry_high": 1192.0, "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=1222.01 MA10=1280.59 MA20=1239.5 MA60=1033.3", "timing_signal": "持有", "rr_ratio": 0.0, "status": "active", "note": "⚠️盈亏比极低,关注", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 10:00", + "updated_at": "2026-07-03 10:00", "type": "持仓策略", "source": "auto", - "sector_context": "大盘上涨比38.9%", + "sector_context": "中际旭创所属行业(待补充)", "stock_category": "中短线", "position_advice": "中等仓位", "time_horizon": "2~6周", "trigger": { - "stop_loss": 1054.06, - "entry_zone": "1017.0~1186.5" + "stop_loss": 1058.95, + "entry_zone": "1021.72~1192.0" }, - "created_at": "2026-07-03 09:26", - "take_profit": 1220.4, + "created_at": "2026-07-03 10:00", + "take_profit": 1226.06, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 10:00", "old_action": "", - "new_action": "持有观察 | ⚠️盈亏比极低,关注 | 止损1054.06 | 目标0 | 买入区1017.0~1186.5 | 信号:持有", + "new_action": "持有观察 | ⚠️盈亏比极低,关注 | 止损1058.95 | 目标0 | 买入区1021.72~1192.0 | 信号:持有", "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], + "signal_factors": [ + "信号:持有", + "损1058.95盈1226.06" + ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ "GATE_SL_GTE_LOW" @@ -1407,94 +1297,103 @@ { "code": "300548", "name": "长芯博创", - "price": 220.0, + "price": 220.88, "cost": 231.46, "shares": 0, "avg_price": 0, - "action": "持有观察 | ⚠️盈亏比极低,关注 | 止损186.91 | 目标0 | 买入区198.0~231.0 | 信号:持有", - "stop_loss": 186.91, - "entry_low": 198.0, - "entry_high": 231.0, + "action": "持有观察 | ⚠️盈亏比极低,关注 | 止损214.25 | 目标0 | 买入区198.79~231.92 | 信号:持有", + "stop_loss": 214.25, + "entry_low": 198.79, + "entry_high": 231.92, "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=253.97 MA10=270.01 MA20=255.06 MA60=248.13", "timing_signal": "持有", "rr_ratio": 0.0, "status": "active", "note": "⚠️盈亏比极低,关注", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 10:00", + "updated_at": "2026-07-03 10:00", "type": "持仓策略", "source": "auto", - "sector_context": "行业光学光电子大跌-3.0%,收紧止损 | 大盘偏弱(38%上涨)", + "sector_context": "行业通信设备大涨+196.0%,可适度积极", "stock_category": "弱势", "position_advice": "减仓或观望", "time_horizon": "观望", "trigger": { - "stop_loss": 186.91, - "entry_zone": "198.0~231.0" + "stop_loss": 214.25, + "entry_zone": "198.79~231.92" }, - "created_at": "2026-07-03 09:26", - "take_profit": 237.6, + "created_at": "2026-07-03 10:00", + "take_profit": 238.55, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 10:00", "old_action": "", - "new_action": "持有观察 | ⚠️盈亏比极低,关注 | 止损186.91 | 目标0 | 买入区198.0~231.0 | 信号:持有", + "new_action": "持有观察 | ⚠️盈亏比极低,关注 | 止损214.25 | 目标0 | 买入区198.79~231.92 | 信号:持有", "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], - "quality_check": "passed", - "quality_checked_at": "2026-07-03 09:27" + "quality_check": "warning", + "quality_checked_at": "2026-07-03 10:01", + "quality_issues": { + "high": [ + "GATE_SL_GTE_LOW" + ] + } }, { "code": "300750", "name": "宁德时代", - "price": 381.96, + "price": 385.4, "cost": 401.78, "shares": 0, "avg_price": 0, - "action": "持有观察 | ⚠️盈亏比极低,关注 | 止损352.73 | 目标0 | 买入区343.76~401.06 | 信号:持有", - "stop_loss": 352.73, - "entry_low": 343.76, - "entry_high": 401.06, + "action": "持有观察 | ⚠️盈亏比极低,关注 | 止损359.5 | 目标0 | 买入区346.86~404.67 | 信号:持有", + "stop_loss": 359.5, + "entry_low": 346.86, + "entry_high": 404.67, "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=386.51 MA10=392.29 MA20=394.64 MA60=413.88", "timing_signal": "持有", "rr_ratio": 0.0, "status": "active", "note": "⚠️盈亏比极低,关注", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 10:00", + "updated_at": "2026-07-03 10:00", "type": "持仓策略", "source": "auto", - "sector_context": "行业电池-1.0%,中性 | 大盘偏弱(38%上涨)", + "sector_context": "电池", "stock_category": "弱势", "position_advice": "减仓或观望", "time_horizon": "观望", "trigger": { - "stop_loss": 352.73, - "entry_zone": "343.76~401.06" + "stop_loss": 359.5, + "entry_zone": "346.86~404.67" }, - "created_at": "2026-07-03 09:26", - "take_profit": 412.52, + "created_at": "2026-07-03 10:00", + "take_profit": 416.23, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 10:00", "old_action": "", - "new_action": "持有观察 | ⚠️盈亏比极低,关注 | 止损352.73 | 目标0 | 买入区343.76~401.06 | 信号:持有", + "new_action": "持有观察 | ⚠️盈亏比极低,关注 | 止损359.5 | 目标0 | 买入区346.86~404.67 | 信号:持有", "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], + "signal_factors": [ + "信号:持有", + "损359.5盈416.23" + ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ "GATE_SL_GTE_LOW" @@ -1504,94 +1403,98 @@ { "code": "301308", "name": "江波龙", - "price": 589.0, + "price": 594.1, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损565.44 | 买入区577.22~600.78", - "stop_loss": 565.44, - "entry_low": 577.22, - "entry_high": 600.78, + "action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损570.34 | 买入区582.22~605.98", + "stop_loss": 570.34, + "entry_low": 582.22, + "entry_high": 605.98, "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=674.71 MA10=646.08 MA20=586.34 MA60=501.02", "timing_signal": "信号不充分", "rr_ratio": 0.0, "status": "active", "note": "⚠️盈亏比不足1:1.5,不建议买入", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 10:00", + "updated_at": "2026-07-03 10:00", "type": "自选策略", "source": "auto", - "sector_context": "大盘上涨比38.9%", + "sector_context": "江波龙所属行业(待补充)", "stock_category": "中短线", "position_advice": "中等仓位", "time_horizon": "2~6周", "trigger": { - "stop_loss": 565.44, - "entry_zone": "577.22~600.78" + "stop_loss": 570.34, + "entry_zone": "582.22~605.98" }, - "created_at": "2026-07-03 09:26", - "take_profit": 636.12, + "created_at": "2026-07-03 10:00", + "take_profit": 641.63, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 10:00", "old_action": "", - "new_action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损565.44 | 买入区577.22~600.78", + "new_action": "盈利持有 | ⚠️盈亏比不足1:1.5,不建议买入 | 目标参考0 | 止损570.34 | 买入区582.22~605.98", "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], + "signal_factors": [ + "信号:信号不充分", + "损570.34盈641.63" + ], "quality_check": "passed", - "quality_checked_at": "2026-07-03 09:27" + "quality_checked_at": "2026-07-03 10:01" }, { "code": "518880", "name": "黄金ETF华安", - "price": 8.706, + "price": 8.692, "cost": 12.19, "shares": 0, "avg_price": 0, - "action": "深套持有 | 深套持有 | 止损8.15 | 目标0 | 买入区7.84~9.14 | 信号:持有", - "stop_loss": 8.15, - "entry_low": 7.84, - "entry_high": 9.14, + "action": "深套持有 | 深套持有 | 止损8.22 | 目标0 | 买入区7.82~9.13 | 信号:持有", + "stop_loss": 8.22, + "entry_low": 7.82, + "entry_high": 9.13, "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=9.45 MA10=9.58 MA20=10.01 MA60=10.34", "timing_signal": "持有", "rr_ratio": 0.0, "status": "active", "note": "深套持有", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 10:00", + "updated_at": "2026-07-03 10:00", "type": "持仓策略", "source": "auto", - "sector_context": "行业贵金属大涨+3.9%,可适度积极 | 大盘偏弱(38%上涨)", + "sector_context": "行业贵金属大涨+694.0%,可适度积极", "stock_category": "深套", "position_advice": "不补不割", "time_horizon": "长期", "trigger": { - "stop_loss": 8.15, - "entry_zone": "7.84~9.14" + "stop_loss": 8.22, + "entry_zone": "7.82~9.13" }, - "created_at": "2026-07-03 09:26", - "take_profit": 9.4, + "created_at": "2026-07-03 10:00", + "take_profit": 9.39, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 10:00", "old_action": "", - "new_action": "深套持有 | 深套持有 | 止损8.15 | 目标0 | 买入区7.84~9.14 | 信号:持有", + "new_action": "深套持有 | 深套持有 | 止损8.22 | 目标0 | 买入区7.82~9.13 | 信号:持有", "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], "quality_check": "warning", - "quality_checked_at": "2026-07-03 09:27", + "quality_checked_at": "2026-07-03 10:01", "quality_issues": { "high": [ "GATE_SL_GTE_LOW" @@ -1601,449 +1504,508 @@ { "code": "600519", "name": "贵州茅台", - "price": 1205.24, + "price": 1201.0, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | ⚠️盈亏比偏低(1:1.7),谨慎买入 | 目标1265.5 | 止损1169.08 | 买入区1181.14~1207.65 | 信号:关注", - "stop_loss": 1169.08, - "entry_low": 1181.14, - "entry_high": 1207.65, - "tech_snapshot": "形态:平盘/neutral 量价:主动买盘占优 强撑:1144.98 弱撑:1203.0 弱压:1205.24 强压:1265.5 | MA5=1380.83 MA10=1382.77 MA20=1355.23 MA60=1398.7", + "action": "盈利持有 | ⚠️盈亏比偏低(1:1.7),谨慎买入 | 目标1261.81 | 止损1164.97 | 买入区1176.98~1203.71 | 信号:关注", + "stop_loss": 1164.97, + "entry_low": 1176.98, + "entry_high": 1203.71, + "tech_snapshot": "形态:带上影阴线/bearish 量价:主动买盘占优 强撑:1141.96 弱撑:1193.63 弱压:1206.77 强压:1261.81 | MA5=1380.83 MA10=1382.77 MA20=1355.23 MA60=1398.7", "timing_signal": "关注", - "rr_ratio": 1.67, + "rr_ratio": 1.69, "status": "active", "note": "⚠️盈亏比偏低(1:1.7),谨慎买入", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 10:00", + "updated_at": "2026-07-03 10:00", "type": "自选策略", "source": "auto", - "sector_context": "大盘上涨比38.9%", + "sector_context": "贵州茅台所属行业(待补充)", "stock_category": "弱势", "position_advice": "减仓或观望", "time_horizon": "观望", "trigger": { - "stop_loss": 1169.08, - "entry_zone": "1181.14~1207.65", - "take_profit_zone": "0~1265.5" + "stop_loss": 1164.97, + "entry_zone": "1176.98~1203.71", + "take_profit_zone": "0~1261.81" }, - "created_at": "2026-07-03 09:26", - "take_profit": 1265.5, + "created_at": "2026-07-03 10:00", + "take_profit": 1261.81, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 10:00", "old_action": "", - "new_action": "盈利持有 | ⚠️盈亏比偏低(1:1.7),谨慎买入 | 目标1265.5 | 止损1169.08 | 买入区1181.14~1207.65 | 信号:关注", - "reason": "初始策略创建 | 形态:平盘/neutral 量价:主动买盘占优 强撑:1144.98 弱撑:1203.0 弱压:1205.24 强压:1", + "new_action": "盈利持有 | ⚠️盈亏比偏低(1:1.7),谨慎买入 | 目标1261.81 | 止损1164.97 | 买入区1176.98~1203.71 | 信号:关注", + "reason": "初始策略创建 | 形态:带上影阴线/bearish 量价:主动买盘占优 强撑:1141.96 弱撑:1193.63 弱压:1206.77 ", "trigger": "初始创建" + }, + { + "time": "2026-07-03 10:01", + "event": "质量门禁通过 (重试1轮)" } ], + "signal_factors": [ + "信号:关注", + "RR:1.69", + "损1164.97盈1261.81" + ], "quality_check": "passed", - "quality_checked_at": "2026-07-03 09:27" + "quality_checked_at": "2026-07-03 10:01" }, { "code": "600563", "name": "法拉电子", - "price": 160.27, + "price": 158.48, "cost": 147.18, "shares": 0, "avg_price": 0, - "action": "盈利良好 | ⚠️盈亏比极低,关注 | 止损141.59 | 目标0 | 买入区144.24~168.28 | 信号:持有", - "stop_loss": 141.59, - "entry_low": 144.24, - "entry_high": 168.28, + "action": "盈利良好 | ⚠️盈亏比极低,关注 | 止损153.73 | 目标0 | 买入区142.63~166.4 | 信号:持有", + "stop_loss": 153.73, + "entry_low": 142.63, + "entry_high": 166.4, "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=183.16 MA10=178.82 MA20=169.12 MA60=145.24", "timing_signal": "持有", "rr_ratio": 0.0, "status": "active", "note": "⚠️盈亏比极低,关注", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 10:00", + "updated_at": "2026-07-03 10:00", "type": "持仓策略", "source": "auto", - "sector_context": "行业元件大跌-5.8%,收紧止损 | 大盘偏弱(38%上涨)", + "sector_context": "行业元件大涨+9.0%,可适度积极", "stock_category": "中短线", "position_advice": "中等仓位", "time_horizon": "2~6周", "trigger": { - "stop_loss": 141.59, - "entry_zone": "144.24~168.28" + "stop_loss": 153.73, + "entry_zone": "142.63~166.4" }, - "created_at": "2026-07-03 09:26", - "take_profit": 173.09, + "created_at": "2026-07-03 10:00", + "take_profit": 171.16, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 10:00", "old_action": "", - "new_action": "盈利良好 | ⚠️盈亏比极低,关注 | 止损141.59 | 目标0 | 买入区144.24~168.28 | 信号:持有", + "new_action": "盈利良好 | ⚠️盈亏比极低,关注 | 止损153.73 | 目标0 | 买入区142.63~166.4 | 信号:持有", "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], - "quality_check": "passed", - "quality_checked_at": "2026-07-03 09:27" + "quality_check": "warning", + "quality_checked_at": "2026-07-03 10:01", + "quality_issues": { + "high": [ + "GATE_SL_GTE_LOW" + ] + } }, { "code": "601318", "name": "中国平安", - "price": 49.5, + "price": 49.06, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | ⚠️盈亏比偏低(1:1.7),谨慎买入 | 目标51.98 | 止损48.02 | 买入区48.51~49.6 | 信号:观望", - "stop_loss": 48.02, - "entry_low": 48.51, - "entry_high": 49.6, - "tech_snapshot": "形态:平盘/neutral 量价:主动卖盘占优 强撑:47.02 弱撑:48.92 弱压:49.5 强压:51.98 | MA5=69.72 MA10=68.2 MA20=65.99 MA60=62.55", + "action": "盈利持有 | 目标53.17 | 止损47.59 | 买入区48.08~49.82 | 信号:观望", + "stop_loss": 47.59, + "entry_low": 48.08, + "entry_high": 49.82, + "tech_snapshot": "形态:带上影阴线/neutral 量价:主动卖盘占优 强撑:45.33 弱撑:48.71 弱压:49.53 强压:53.17 | MA5=69.72 MA10=68.2 MA20=65.99 MA60=62.55", "timing_signal": "观望", - "rr_ratio": 1.68, + "rr_ratio": 2.8, "status": "active", - "note": "⚠️盈亏比偏低(1:1.7),谨慎买入", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "note": "", + "timestamp": "2026-07-03 10:01", + "updated_at": "2026-07-03 10:01", "type": "自选策略", "source": "auto", - "sector_context": "大盘上涨比38.9%", + "sector_context": "中国平安所属行业(待补充)", "stock_category": "弱势", "position_advice": "减仓或观望", "time_horizon": "观望", "trigger": { - "stop_loss": 48.02, - "entry_zone": "48.51~49.6", - "take_profit_zone": "0~51.98" + "stop_loss": 47.59, + "entry_zone": "48.08~49.82", + "take_profit_zone": "0~53.17" }, - "created_at": "2026-07-03 09:26", - "take_profit": 51.98, + "created_at": "2026-07-03 10:01", + "take_profit": 53.17, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 10:01", "old_action": "", - "new_action": "盈利持有 | ⚠️盈亏比偏低(1:1.7),谨慎买入 | 目标51.98 | 止损48.02 | 买入区48.51~49.6 | 信号:观望", - "reason": "初始策略创建 | 形态:平盘/neutral 量价:主动卖盘占优 强撑:47.02 弱撑:48.92 弱压:49.5 强压:51.98 |", + "new_action": "盈利持有 | 目标53.17 | 止损47.59 | 买入区48.08~49.82 | 信号:观望", + "reason": "初始策略创建 | 形态:带上影阴线/neutral 量价:主动卖盘占优 强撑:45.33 弱撑:48.71 弱压:49.53 强压:53.", "trigger": "初始创建" + }, + { + "time": "2026-07-03 10:01", + "event": "质量门禁通过 (重试1轮)" } ], + "signal_factors": [ + "信号:观望", + "RR:2.8", + "损47.59盈53.17" + ], "quality_check": "passed", - "quality_checked_at": "2026-07-03 09:27" + "quality_checked_at": "2026-07-03 10:01" }, { "code": "601899", "name": "紫金矿业", - "price": 27.5, + "price": 28.06, "cost": 39.89, "shares": 0, "avg_price": 0, - "action": "深套持有 | 深套持有 | 止损24.53 | 目标0 | 买入区24.75~28.88 | 信号:持有", - "stop_loss": 24.53, - "entry_low": 24.75, - "entry_high": 28.88, + "action": "深套持有 | 深套持有 | 止损25.28 | 目标0 | 买入区25.25~29.46 | 信号:持有", + "stop_loss": 25.28, + "entry_low": 25.25, + "entry_high": 29.46, "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=35.14 MA10=36.13 MA20=37.18 MA60=36.52", "timing_signal": "持有", "rr_ratio": 0.0, "status": "active", "note": "深套持有", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 10:01", + "updated_at": "2026-07-03 10:01", "type": "持仓策略", "source": "auto", - "sector_context": "行业工业金属-0.4%,中性 | 大盘偏弱(38%上涨)", + "sector_context": "工业金属", "stock_category": "深套", "position_advice": "不补不割", "time_horizon": "长期", "trigger": { - "stop_loss": 24.53, - "entry_zone": "24.75~28.88" + "stop_loss": 25.28, + "entry_zone": "25.25~29.46" }, - "created_at": "2026-07-03 09:26", - "take_profit": 29.7, + "created_at": "2026-07-03 10:01", + "take_profit": 30.3, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 10:01", "old_action": "", - "new_action": "深套持有 | 深套持有 | 止损24.53 | 目标0 | 买入区24.75~28.88 | 信号:持有", + "new_action": "深套持有 | 深套持有 | 止损25.28 | 目标0 | 买入区25.25~29.46 | 信号:持有", "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], - "quality_check": "passed", - "quality_checked_at": "2026-07-03 09:27" + "signal_factors": [ + "信号:持有", + "损25.28盈30.3" + ], + "quality_check": "warning", + "quality_checked_at": "2026-07-03 10:01", + "quality_issues": { + "high": [ + "GATE_SL_GTE_LOW" + ] + } }, { "code": "688411", "name": "海博思创", - "price": 255.8, + "price": 254.1, "cost": 266.95, "shares": 0, "avg_price": 0, - "action": "持有观察 | ⚠️盈亏比极低,关注 | 止损226.77 | 目标0 | 买入区230.22~268.59 | 信号:持有", - "stop_loss": 226.77, - "entry_low": 230.22, - "entry_high": 268.59, + "action": "持有观察 | ⚠️盈亏比极低,关注 | 止损218.07 | 目标0 | 买入区228.69~266.81 | 信号:持有", + "stop_loss": 218.07, + "entry_low": 228.69, + "entry_high": 266.81, "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=270.94 MA10=273.7 MA20=265.98 MA60=254.7", "timing_signal": "持有", "rr_ratio": 0.0, "status": "active", "note": "⚠️盈亏比极低,关注", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 10:01", + "updated_at": "2026-07-03 10:01", "type": "持仓策略", "source": "auto", - "sector_context": "行业光伏设备下跌-2.8%,适度防御 | 大盘偏弱(38%上涨)", + "sector_context": "行业光伏设备大跌-4.0%,收紧止损", "stock_category": "中短线", "position_advice": "中等仓位", "time_horizon": "2~6周", "trigger": { - "stop_loss": 226.77, - "entry_zone": "230.22~268.59" + "stop_loss": 218.07, + "entry_zone": "228.69~266.81" }, - "created_at": "2026-07-03 09:26", - "take_profit": 276.26, + "created_at": "2026-07-03 10:01", + "take_profit": 274.43, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 10:01", "old_action": "", - "new_action": "持有观察 | ⚠️盈亏比极低,关注 | 止损226.77 | 目标0 | 买入区230.22~268.59 | 信号:持有", + "new_action": "持有观察 | ⚠️盈亏比极低,关注 | 止损218.07 | 目标0 | 买入区228.69~266.81 | 信号:持有", "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], "quality_check": "passed", - "quality_checked_at": "2026-07-03 09:27" + "quality_checked_at": "2026-07-03 10:01" }, { "code": "688630", "name": "芯碁微装", - "price": 467.98, + "price": 478.72, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | 目标505.42 | 止损449.4 | 买入区458.62~474.53 | 信号:关注", - "stop_loss": 449.4, - "entry_low": 458.62, - "entry_high": 474.53, - "tech_snapshot": "形态:平盘/neutral 量价:主动买盘占优 强撑:430.54 弱撑:467.98 弱压:468.0 强压:505.42 | MA5=518.14 MA10=511.3 MA20=462.1 MA60=333.6", - "timing_signal": "关注", - "rr_ratio": 2.67, + "action": "盈利持有 | 目标525.9 | 止损464.36 | 买入区469.15~483.96 | 信号:买入", + "stop_loss": 464.36, + "entry_low": 469.15, + "entry_high": 483.96, + "tech_snapshot": "形态:带下影阳线/bullish 量价:主动买盘占优 强撑:415.1 弱撑:456.0 弱压:496.45 强压:525.9 | MA5=518.14 MA10=511.3 MA20=462.1 MA60=333.6", + "timing_signal": "买入", + "rr_ratio": 2.08, "status": "active", "note": "", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 10:01", + "updated_at": "2026-07-03 10:01", "type": "自选策略", "source": "auto", - "sector_context": "行业专用设备-0.7%,中性 | 大盘偏弱(38%上涨)", + "sector_context": "行业专用设备大涨+138.0%,可适度积极", "stock_category": "中短线", "position_advice": "中等仓位", "time_horizon": "2~6周", "trigger": { - "stop_loss": 449.4, - "entry_zone": "458.62~474.53", - "take_profit_zone": "0~505.42" + "stop_loss": 464.36, + "entry_zone": "469.15~483.96", + "take_profit_zone": "0~525.9" }, - "created_at": "2026-07-03 09:26", - "take_profit": 505.42, + "created_at": "2026-07-03 10:01", + "take_profit": 525.9, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 10:01", "old_action": "", - "new_action": "盈利持有 | 目标505.42 | 止损449.4 | 买入区458.62~474.53 | 信号:关注", - "reason": "初始策略创建 | 形态:平盘/neutral 量价:主动买盘占优 强撑:430.54 弱撑:467.98 弱压:468.0 强压:505.", + "new_action": "盈利持有 | 目标525.9 | 止损464.36 | 买入区469.15~483.96 | 信号:买入", + "reason": "初始策略创建 | 形态:带下影阳线/bullish 量价:主动买盘占优 强撑:415.1 弱撑:456.0 弱压:496.45 强压:52", "trigger": "初始创建" } ], "quality_check": "passed", - "quality_checked_at": "2026-07-03 09:27" + "quality_checked_at": "2026-07-03 10:01" }, { "code": "688639", "name": "华恒生物", - "price": 17.06, + "price": 16.75, "cost": 21.51, "shares": 0, "avg_price": 0, - "action": "深套持有 | 深套持有 | 止损15.22 | 目标0 | 买入区15.35~17.91 | 信号:持有", - "stop_loss": 15.22, - "entry_low": 15.35, - "entry_high": 17.91, + "action": "深套持有 | 深套持有 | 止损13.88 | 目标0 | 买入区15.08~17.59 | 信号:持有", + "stop_loss": 13.88, + "entry_low": 15.08, + "entry_high": 17.59, "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=33.68 MA10=35.7 MA20=36.69 MA60=34.28", "timing_signal": "持有", "rr_ratio": 0.0, "status": "active", "note": "深套持有", - "timestamp": "2026-07-03 09:26", - "updated_at": "2026-07-03 09:26", + "timestamp": "2026-07-03 10:01", + "updated_at": "2026-07-03 10:01", "type": "持仓策略", "source": "auto", - "sector_context": "行业化学制品+0.4%,中性 | 大盘偏弱(38%上涨)", + "sector_context": "行业化学制品大跌-17.0%,收紧止损", "stock_category": "深套", "position_advice": "不补不割", "time_horizon": "长期", "trigger": { - "stop_loss": 15.22, - "entry_zone": "15.35~17.91" + "stop_loss": 13.88, + "entry_zone": "15.08~17.59" }, - "created_at": "2026-07-03 09:26", - "take_profit": 18.42, + "created_at": "2026-07-03 10:01", + "take_profit": 18.09, "changelog": [ { - "date": "2026-07-03 09:26", + "date": "2026-07-03 10:01", "old_action": "", - "new_action": "深套持有 | 深套持有 | 止损15.22 | 目标0 | 买入区15.35~17.91 | 信号:持有", + "new_action": "深套持有 | 深套持有 | 止损13.88 | 目标0 | 买入区15.08~17.59 | 信号:持有", "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], "quality_check": "passed", - "quality_checked_at": "2026-07-03 09:27" + "quality_checked_at": "2026-07-03 10:01" }, { "code": "688795", "name": "摩尔线程-U", - "price": 643.88, + "price": 640.01, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | 目标695.39 | 止损568.85 | 买入区631.0~652.89 | 信号:观望", - "stop_loss": 568.85, - "entry_low": 631.0, - "entry_high": 652.89, - "tech_snapshot": "形态:平盘/neutral 量价:主动卖盘占优 强撑:592.37 弱撑:641.59 弱压:643.88 强压:695.39 | MA5=681.57 MA10=685.62 MA20=656.21 MA60=660.88", + "action": "盈利持有 | 目标697.43 | 止损620.81 | 买入区627.21~651.46 | 信号:观望", + "stop_loss": 620.81, + "entry_low": 627.21, + "entry_high": 651.46, + "tech_snapshot": "形态:锤子线/T字线/bullish 量价:主动卖盘占优 强撑:588.97 弱撑:635.41 弱压:653.4 强压:697.43 | MA5=681.57 MA10=685.62 MA20=656.21 MA60=660.88", "timing_signal": "观望", - "rr_ratio": 2.67, + "rr_ratio": 2.99, "status": "active", "note": "", - "timestamp": "2026-07-03 09:27", - "updated_at": "2026-07-03 09:27", + "timestamp": "2026-07-03 10:01", + "updated_at": "2026-07-03 10:01", "type": "自选策略", "source": "auto", - "sector_context": "行业半导体大跌-5.5%,收紧止损 | 大盘偏弱(38%上涨)", + "sector_context": "半导体", "stock_category": "弱势", "position_advice": "减仓或观望", "time_horizon": "观望", "trigger": { - "stop_loss": 568.85, - "entry_zone": "631.0~652.89", - "take_profit_zone": "0~695.39" + "stop_loss": 620.81, + "entry_zone": "627.21~651.46", + "take_profit_zone": "0~697.43" }, - "created_at": "2026-07-03 09:27", - "take_profit": 695.39, + "created_at": "2026-07-03 10:01", + "take_profit": 697.43, "changelog": [ { - "date": "2026-07-03 09:27", + "date": "2026-07-03 10:01", "old_action": "", - "new_action": "盈利持有 | 目标695.39 | 止损568.85 | 买入区631.0~652.89 | 信号:观望", - "reason": "初始策略创建 | 形态:平盘/neutral 量价:主动卖盘占优 强撑:592.37 弱撑:641.59 弱压:643.88 强压:695", + "new_action": "盈利持有 | 目标697.43 | 止损620.81 | 买入区627.21~651.46 | 信号:观望", + "reason": "初始策略创建 | 形态:锤子线/T字线/bullish 量价:主动卖盘占优 强撑:588.97 弱撑:635.41 弱压:653.4 强压", "trigger": "初始创建" + }, + { + "time": "2026-07-03 10:01", + "event": "质量门禁通过 (重试1轮)" } ], + "signal_factors": [ + "信号:观望", + "RR:2.99", + "损620.81盈697.43" + ], "quality_check": "passed", - "quality_checked_at": "2026-07-03 09:27" + "quality_checked_at": "2026-07-03 10:01" }, { "code": "688802", "name": "沐曦股份-U", - "price": 731.34, + "price": 724.68, "cost": 0, "shares": 0, "avg_price": 0, - "action": "盈利持有 | 目标794.34 | 止损646.12 | 买入区716.71~743.38 | 信号:关注", - "stop_loss": 646.12, - "entry_low": 716.71, - "entry_high": 743.38, - "tech_snapshot": "形态:平盘/neutral 量价:数据不足 强撑:668.34 弱撑:724.13 弱压:731.34 强压:794.34 | MA5=771.28 MA10=769.4 MA20=740.96 MA60=719.77", + "action": "盈利持有 | 目标793.7 | 止损702.94 | 买入区710.19~739.17 | 信号:关注", + "stop_loss": 702.94, + "entry_low": 710.19, + "entry_high": 739.17, + "tech_snapshot": "形态:带下影阴线/neutral 量价:数据不足 强撑:651.7 弱撑:711.4 弱压:732.39 强压:793.7 | MA5=771.28 MA10=769.4 MA20=740.96 MA60=719.77", "timing_signal": "关注", - "rr_ratio": 2.87, + "rr_ratio": 3.17, "status": "active", "note": "", - "timestamp": "2026-07-03 09:27", - "updated_at": "2026-07-03 09:27", + "timestamp": "2026-07-03 10:01", + "updated_at": "2026-07-03 10:01", "type": "自选策略", "source": "auto", - "sector_context": "行业半导体大跌-5.5%,收紧止损 | 大盘偏弱(38%上涨)", + "sector_context": "半导体", "stock_category": "中短线", "position_advice": "中等仓位", "time_horizon": "2~6周", "trigger": { - "stop_loss": 646.12, - "entry_zone": "716.71~743.38", - "take_profit_zone": "0~794.34" + "stop_loss": 702.94, + "entry_zone": "710.19~739.17", + "take_profit_zone": "0~793.7" }, - "created_at": "2026-07-03 09:27", - "take_profit": 794.34, + "created_at": "2026-07-03 10:01", + "take_profit": 793.7, "changelog": [ { - "date": "2026-07-03 09:27", + "date": "2026-07-03 10:01", "old_action": "", - "new_action": "盈利持有 | 目标794.34 | 止损646.12 | 买入区716.71~743.38 | 信号:关注", - "reason": "初始策略创建 | 形态:平盘/neutral 量价:数据不足 强撑:668.34 弱撑:724.13 弱压:731.34 强压:794.3", + "new_action": "盈利持有 | 目标793.7 | 止损702.94 | 买入区710.19~739.17 | 信号:关注", + "reason": "初始策略创建 | 形态:带下影阴线/neutral 量价:数据不足 强撑:651.7 弱撑:711.4 弱压:732.39 强压:793.", "trigger": "初始创建" + }, + { + "time": "2026-07-03 10:01", + "event": "质量门禁通过 (重试1轮)" } ], + "signal_factors": [ + "信号:关注", + "RR:3.17", + "损702.94盈793.7" + ], "quality_check": "passed", - "quality_checked_at": "2026-07-03 09:27" + "quality_checked_at": "2026-07-03 10:01" }, { "code": "688981", "name": "中芯国际", - "price": 144.89, + "price": 142.27, "cost": 126.07, "shares": 0, "avg_price": 0, - "action": "盈利良好 | ⚠️盈亏比极低,关注 | 止损128.0 | 目标0 | 买入区130.4~152.13 | 信号:持有", - "stop_loss": 128.0, - "entry_low": 130.4, - "entry_high": 152.13, + "action": "盈利良好 | ⚠️盈亏比极低,关注 | 止损138.0 | 目标0 | 买入区128.04~149.38 | 信号:持有", + "stop_loss": 138.0, + "entry_low": 128.04, + "entry_high": 149.38, "tech_snapshot": "形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None | MA5=151.43 MA10=149.35 MA20=138.9 MA60=125.49", "timing_signal": "持有", "rr_ratio": 0.0, "status": "active", "note": "⚠️盈亏比极低,关注", - "timestamp": "2026-07-03 09:27", - "updated_at": "2026-07-03 09:27", + "timestamp": "2026-07-03 10:01", + "updated_at": "2026-07-03 10:01", "type": "持仓策略", "source": "auto", - "sector_context": "行业半导体大跌-5.5%,收紧止损 | 大盘偏弱(38%上涨)", + "sector_context": "半导体", "stock_category": "中短线", "position_advice": "中等仓位", "time_horizon": "2~6周", "trigger": { - "stop_loss": 128.0, - "entry_zone": "130.4~152.13" + "stop_loss": 138.0, + "entry_zone": "128.04~149.38" }, - "created_at": "2026-07-03 09:27", - "take_profit": 156.48, + "created_at": "2026-07-03 10:01", + "take_profit": 153.65, "changelog": [ { - "date": "2026-07-03 09:27", + "date": "2026-07-03 10:01", "old_action": "", - "new_action": "盈利良好 | ⚠️盈亏比极低,关注 | 止损128.0 | 目标0 | 买入区130.4~152.13 | 信号:持有", + "new_action": "盈利良好 | ⚠️盈亏比极低,关注 | 止损138.0 | 目标0 | 买入区128.04~149.38 | 信号:持有", "reason": "初始策略创建 | 形态:unknown/neutral 量价:数据不足 强撑:None 弱撑:None 弱压:None 强压:None |", "trigger": "初始创建" }, { - "time": "2026-07-03 09:27", + "time": "2026-07-03 10:01", "event": "质量门禁通过 (重试1轮)" } ], - "quality_check": "passed", - "quality_checked_at": "2026-07-03 09:27" + "signal_factors": [ + "信号:持有", + "损138.0盈153.65" + ], + "quality_check": "warning", + "quality_checked_at": "2026-07-03 10:01", + "quality_issues": { + "high": [ + "GATE_SL_GTE_LOW" + ] + } } ], "total": 39, - "regenerated_at": "2026-07-03 09:27" + "regenerated_at": "2026-07-03 10:01" } \ No newline at end of file diff --git a/data/mofin.db-wal b/data/mofin.db-wal index 02a462da11771e82defcd5e6a7e303fd0b8749b7..5634595713ab105a6db39b4007fdba2eec12fa18 100644 GIT binary patch literal 78312 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

ASn9AxCPO1Y{h4SE-k-z4ppG5o&t3J zIuWLug(fJnk1XDSkm2`G{x16b5CpSCpNBC>JiWlF@A1#QL@Ur)uL7`v8JbX(D@>{S zwe(oq!Bjw}6atD#mOxJU&=S_BB#U>2(t6|fv<4kh)Bqp^Q-c|1lEu={2_$PWwdP+) z6W)Z8DdQ=BhZOvf_hHkk{NkD;Q+9eHvaZ3yQVL4+eZ{wX?&JV;XTLl6~C z=Ybv==8>||nK7LjlXsT#U!8&+oa%!v=MPr(?^^}z(*h*4!%zL zTc_ZM_7{3%yQvn*gG-;CPRidZ1wXX^dn zAuoSSw{prK(dVa0BL+XjJD!Ddc{groNFAsc`Ktv{IB)=-Hww=a_M`E@_ZrV!8lwX>LPuM?xxBQ$`)m&5`Z*KkQrVGwrQx7i`$!vANMuXme%M6dff0M<3EDWT7=^y|Bs6xaK8i3TjwD35>NAkIyl7jD9 zpEbm)8@(F|XnA3z0&2%-@H;{bN3B}|zJ z#sZ!{l6)Q!3@1!9hE|9Wq7@J(`5mC^gW+#JhQJo+Qu#bK8;r4+sQ?i}v;smT4?8Vn zAo-|49*=81&Eb9S^>o*pN3lqz^Wj;&f7?CRTPcQO z?GBw%NEF~#?Is_6DPQ;!Z_P3NFTvY<7wEWXnv_Q1zX^f1@Yd|Xj?8Sje9kPvs_JU5 zbRlEk5(aSz#_Bq-$5Uesv`<<~#(u#Zk&LUu0=o2|b=aYEKHwcld5yLtUKkONnZK22MI=-PPrjz zH5vO54HLhRv7c~lSJ`SFZA;7Tm#W+#8NC(JKFwkr8GAR2qGa@DR&)ELKUPo)eN#yY zkkM7V?;E|HML#lTF~@H7jZBhdR*h?@=6#q1V=`iXGI}*HdyJn(tvS+4X{oi}@!hoC z-YLq3=N+R>ytbns#Byu%RxW#(ecC2JdLNb0E0u&|GU`v>x@Dho31w&}qn>7xEw6OF ziQ36EAOSGf*eZSIA(fM|PP~&Udxz;xM*WlVnrA#cg7Ws{wNB;@k+NExqpS}dD9->{ zqaq9kbLoMLRP!FGH20ITn|P_CFl{LNl8v>=sCvxe%-{B&0WVsAq&rC9&+ihw3^e!M zMn)aw%~Y1dn{VWPriN+HqaMoIEfuSGE*UitxX5ijoeB`vYO8!qiQl|zSX?ZeKke8 z3-IW*k~c(=6_x!Q%iltil*5+$Q?#GTI{a^E67}PpU1kX)jU< z9a2f~kiVo&1Z8)&t)-$jFq`pjqc4X z%hCMubXs>p>z)*c=u-{pJ~ft&{hpOB-RF4VkGm+>)v36Or3cBFt~}z6^>Tl>*EW3G zT~yn4sk9A~F`sdy#yrU_acnPM?=fD6oO9RInk_&=TUu^Xv<7WM(jw_$GIkqlA!(7v z_J@&{*d|qp&_?;(UCOS*&pXiv*0U0A%{s``8e8+4YHR~a^nqoJI)beew|G1!eLW5p`hj^9ZYkET!@#yBGwx=u3UMIJgvU~)UW z1rK({W@D&?NGb^tGGYifrV-aNQy?Sj@Tw25Wa^t|ep-(@Z!uG!KKf5|UO3YvG>eRQ zmD%B3GGZMqzKQLpJG;;-hk2hB|F@zO^b8Spoow@=#v^8)*5{l&aMIDhop zQ$O!yqw58%?%U~lfq9;G?!Vlxz(x8ejX)ZKGy-V^(g>sxNF$I&AdNs8fiwbX1kwon zmm)x)meZBjrJ!%$PF2vW*YxvpJbVE8j z0{coEuz8vpM7`$Y`!2`Wa-r+>%7=;OC}}`T?fNWfK!?*XHPiqf*Ihwp;+miD`OoF> zi0a@}qSis&Zb=`=#<_HX(4ij(6DcYoBUSQL=Z3@4>`{y42rOlicmPR0r zKpKHG0%-)&2&556BalWQjX)ZKGy-V^(g^%Nih!Fg4N&I=8kIcM`rDeBw@{+r^t3Z2U*VPVA64>ut;Oy>nIS#>_{CYX++CQ_ewwKwnZ9mv5Y~z)%{D-ZX zXMv}q$L#*dz0y4v_8uHpHYnFyPgplvCt33?KU=m~rdo>3znQn1XP9Xr>7O(LX$1bS zBhYHq*)ls$(k9GtR-2=3$finblZI@aRvu}JzyWAWycq0sR#OrO~|=_(n;^E)YYgLT;H zi?v9Bg-=dUqZ_fj2p`ieE;#hLULSgQ9jUrL$(6*C{pif0c4`=DfY z_6|Pc?Z6)lc;Db!ct7Av{aWyeb$jRQHvs!U9d`Q4HgXkP2|1j2GpW{ViMKm%cceSa zZ&UUGI_&h-ZmQK?g_USd9}-aLn3T3k&GDCjy<41}pX!6}kt0KUQoh4v*i!yE{3zFA z2yej1o*py7;iAZH^3sF3)fX`MNk_^B>>dBXA5L^)3o-+O-s0UnC_EA`T;*mC*X1ty z45EZ|@-PfYS2Vhg->^l78LwuJ1@>YccII#;H?t=nqzigV$p(fv>3ls?#(gehHn4|v z*qOt1#o$mPKA)z~BYq)W_;rov!yAID&W3=UE$U3DI(4{0(iOEXd5>$~`C|rsgHIl% zVIrtgEc3L^goRMj1sh6ycD%qID7lv2xe3?%xq#3F$b5HJtmx z>T=N9&)8utr_fq>T1T{P6q83fW^%q_#|S9ar!5xvn2UAd;z`Gow2kseXKLdBR!7=W zjd!}kq07MT)nR8Y*5NV!(5zD{Zk?SUW+0OeycRWU*dGJ-mdWhg#oABgrFNjYf{%2Z z%RRI`7gwukjgNr6NQa%dSbHlsjQ05Gtz(2KO$hgqx_@ka1TZUP?A0)1?-(ZSFqom3 zrlj3cX7zPfFJ27J(FBX7&XM@0Z<2SAo42~LZZroWZzXGb=UucnYMh|7;AYOzf*LnG zZxm9BxLFe1*XLN-A_nY@bl9156!9*Pw4ge`V?(c(t(J7gz}`TIo%Ke|doqLw?tfFa2wuspRsKf46WFiNVP`&a)t}r< zno|g1LA}^%+Kgjj`Fh1Oz@DkY&U~aPLf72FiX-{FRDvgWD$niD0`~e^cHtx9Tuve8 zDr9fU#o2zESqkj+bl91z~(e6nX6ohAyk}8+-xtmbvz@* zcC^EXz+Mt(R|7h;_2CP-tq(_68HwVC^=DsN%p7V)9z$05gov22X{5R z&Y669Jn;3`^6_{0&=Uo*-2N4;9C4zc^v=shP`95}UG~~QIL2hqM|eAXs(hFX?#7G7 z^8|AW)_wr&eRbHGl@D#kYb(U4*Gy`lQJ=kifxV9oJG1hkyLf3s*7KM=d+1koK_#)>6FK4R4+rQ9|e9eQFruy@yCXO=8-3L$3r7OoA7YrJ{* zX<)AtXXoKlq$XGLu7!v+TwLe!$R-aP^tdFs+1dcHUSPG;{NXd(nmnYq9a4d5wWPeG z+^zIf6#0m}Lhb|aA2{k->ly~9349Hw2~2Qa8T}or%8{4#pB9ScNKiFbrYl62_!2z%!VEKi}GB)#rb}o?V4L;KQ#r zOL?>j$?Q{l_^npJ-%O96MXNCOvqDa5!rF@jd5S9StG6Ebuhik^Ico4S@2A5oxtl{G z`;kAJ>1C)hmjHiLJ$}}4d$HQVvpmR#PV$_$B|~L`bl(SE0KQx`TE^cC&89x4V0EwK zx05LwIGU4w;nhEW?CzGUPUkRo*vt!W&|>cs7ya-QWShosH~6G?8)a2|4=mZh0$cE4 zC=q9&eXsN}K_){3GReyLYh8G~Pu{B2S(Jrt+e=`f{jK!6bdXFBvsZmw}IG$+QQL^RY~^+fmLofLFVebm7+1Rr!6%a(g`!nt8>{J!Mfcq!_eS#JUx!HGgB4g!5j-n*>@uxIG7vkcP)gJT#l5gU$|9oW)V zKC-EEO$SKePS?_5XX7XZOSQ2WQbN>gE+*T*IRn^h>aeqXQ--4H5qWN`L=7BI$^5$L z@%vzgp?SdW(XtCCkr65(#v>qPM&GvI*~do# zyIY5yIY~`yI0YfAiR~{l>yg@i>YWbkiViz-lDcR%HK~n4WT=bE*W{ng4s81y*yUt) z9?t7O8XUDO$#h)Mndbwt8-pmFs0OS^6=a9$iPJN{w3GnDiqG)G+9%Y-~Ey3LN zX|qnT%t;ElJ(1!HUR(rQx*(Gkd&RR?y$kFn9d_m<;>4%ImCUe6OEzUOoZtaYb!Yv# z8rY3mcHtyArJ)`GB#s_x#v9yI|8@!34La=1N%F9+%~1I~v>O~W)jr;TKd?(W?954; z^Dcnoa~~yQ=KQJ%Ysstny)d!$s^8`%vvViO$5K@>yrD@m?y`-SG+hAfx9hO84y7qZ z^8ER{Lnv6nyTjZ{X06%TzXI~V&DCLNzLJa4ttm^G0;CyYfp37SU%Y&ZBpLqT&71!H zKMDc&HMF{7UZ6|2JzW;;I`pyP*eW$N{w6tQIQ;gr_C4@+fwp#w?M>TVwi25I-a2@< zwI_`Ek62b%`dDh3KQ!NO9%Ifm{cPG|nhNI%{`SA~pR_E+fB&P}BVF153kbB{`r%YH zc*gTucn4a5DA>z+Fsl-&p~8cy`{Sn91N#(Rb~rygp_e=-&$vW(; z)5KDeGE15FdUdQ1yaepm>9WHsJ6ss)6-`>~;@P&+_}VVPtshPTc5S9Wv!rok;61E0 zh?w`q^vJR0hQZGIDrMc$1Tq-sxJ7z|qsMv+jhza&et0b}76!D5?7m1> zGKgnk;$my(ptb??ctx*7w2i~{>ueRes!pDqanE1CK1P?_7b0EevizNNI!$wo8Kk5k7uTr+HIdiccgF4p_R+fRaHgb4 zMLT1L(wXOi1XEFGzc20tcCnBov8h-pO7?RD(Wat=4<1|}&Zng(tRzuSbA-dugQN|I zh_vTVj7a+;HsB(yxzoAUJ#-P+6IPNWu*1pR;nB>lNgG~Q(x#HNHwp7BP2Lvn1MCSa zNfOz;By=+^<~#`_dl=gvC)P|iR1O99gq0)-?6A=>u#HbZ1>Rs;90}sk)z3doFTPS2 z*b`QgsO$myKF{lE4mOEyyDP2~h~(>1nYCKHv#rfX64x!W|bOGSHPI+Q<+n^oHw^5LRA{ zAws+s_BU(Y3&kcZAyJEEV~8L&v~~;;_=c9-#QFCJbAUZz2}vTmmjuvW0%Lh)189E! z_n7w5=B)&@rb|e)TGLqWApta)z)|kug@4jSe2y!tih`A}b|j%#2;ySoQ;3Ol5t=EE zd`v%VD+G4>%#Tlv#N!zY;)Q5u>c|HN>IED_v+u`pU{84TrsxNF$I&AdNs8fiwdD1qis=JhPY= zaOZ8wn>k|hG6f`i&9_U+H*hw)IFzT93my54c!?ds`LoJX81oP9j6;#mTR z+z+{jyBj%cIzDvV?-=H2WdFwgsCw?eINO!hO6ybBiPk*JPnM@GQ!K5`m&|*ifb>rq zfiwbX1gas>dh5|y@n>)9X|8Ocr#KB(J?Q|SbK_~S(w2LA0sE~w>}(}NHa?^kM;(Z3 zJnF!B!_;xWev2+UyuwQybs*k)o`dWDkZ$;m%?jB{W56WDLiWrvjvIrs!S8yBnO;6hP+1-;?a`hLJZ zLzkVt=9xayg>@4`4DJIJbYtOtTY-JL4m(@PAYQYsJyrtW9&I?$^LAjLrppd18Pu1I zvlR#v)R&CoOV$k!Kl&4}U$4tf-!YC2Cf?O8FhJ-GD>{XMJ-$dOer9p7&eX7 zRpTl4jBB0nObkOkBXyGaBBeMxTgjllPZ?Jmi5JW_ z=1ap3%j$du?D0iP)!5VGs9-IM|~Jw?bp~i85fPYn8O6vjq*=xFSKY z<>0yqq#KsDn%`>cQL%Cfw!W*S13T26FSj7sxQbp}XYpkjJq9)pZaqpDF5!BH1a4oz zp|a(mn5+-jJ_f_SgVb0PRxBm(L7m0vBiZO-Ik@lzwJ`ks-Y3AGuwqGNXX_bqzv4@b zgqWsu2??wn$>D2AOp89=3G4|gmJ--uJwxuDtYJwm2E$xjxs=0$o$2bip8|Wr$`y4p zG2Jvk#Mb4(r+JK1ukT^k)>pcEfSs;f!3I;=nV%22pM_F&N!ze4%wx$A?zr}G_t}6w zVF615JNWtVEMDpmYuJE5&l6ubrO2@6;f*ul?nBQzOylm{!Zk$PxN`^$4I`Yi=E+{r(0gGBJ#0M`K>_yDZ^5TY8GOS4{Z$Ved zp|62mZ|^#DaNIMlib1HwUUElnt2LlC-MfxXl2E!gJc5*N;c5>l;GctbF|C#1Z8t)( zbkn*PYv$R5YjCZ#d(d%lqcvmk2hexZE$rBLtHn~!9!*NWV#SRir5~|s8-^`u3gyvF z>&fLo94np0)DnBw$&gHbUCI|TT9& z#J8|lZ(HWmgD+Mq{aP}Z7i+Jv=`|=eY417|%N8dM;o`|)Y||k(V)2}AdGx7az@D)D zP(_KQXZ@nQSna6@c&vfxTxow`Pgs7ava|GT0Jc%TJT6APmKpYr%Aa>Z8`0&5+BSmx zDpE=YgqbA{CId2=0L!BXI|E8|!J*ccXhJrG48#?!gQhc7$$(Rg&$>pk-0DHnpLzSK7Wq1sMDyDQB2YC?t2-sgAuj3WKp0Ls|fgSQP5om=)4cW!&OiIr(vDUlno#5I11o$^o%nLj> z_IS<74{r<8d4X1jCne85&+VSJ?n~}H?%D3BazWXl%v3`1IeCvfTPCi*U9Y%qhtmiz zJ704yb`Ekjbo}6W%u(iO0u?@C0wtj7`u#T~2TfVbA3bO(Q=AX@* z&6CW{O(#qnOyf;WjXxSU87CUAGE^F#G#oU1p7Gu@ds&`E+F`EHhOdP*-rH^*6(HW{p%vg&*Z8(6Wvg;YTW+*sjjyrck;znmc%g?z z0Q8xyFi+5~@@=(^Nir@Q-H!@Le4~fDfD*FfFo|M1+Y0T!HLkymGKHK*x%R#g2;gt@ zfY_M$(s>XNB2kv#3@6cpG{Y@vKqAxw)~q#7{cx$+G%vuP-s^Btf!y_*aq5>wQ5a1_4 ztb)4GT3qv1kUm=dG8HgBg#aHB8zzHj%VMQ=fE$Ft)$J`RV4R)+w!JujOS{F+$si6E zaH+SU!Tcpuz}OT5VBs>iRTAVTM{t!k32=Lmb`P_|J7FrupaA+-9n}u_YH=ZeC&?tp zO;HG*_sI)Iz&{%JSx=|o57!YT*C7Fpp7eI}`c&sKeVzRw5=2`KV!AIDs0aCgOZvM( zZz^C^3IRb9Kt_a_1li*L+G2&fVg9~VRKUm-0s`t1`2gQdK!VKSf!=}+A$~Dhf<38# z5h(<~3jfh;6sInd4@z zUo=epgeI^b61MQs4$m|ukPu%xE|UXgVQu zb#c}Qwuki0`fgOfpcDdp1na8C4zWEU#6dAwCcjAq3``*aTAqVN!W(ISl}ExDH!*4% zx?7p)4A2(EFG+x{wVc76v8P%YF3IWgxd|(P=82kPn*X2VQAF*ZYl`w_vzV+?ywKSViuv7$9yE*pInv? z6sb?bTo>b&JMN&7?iyYuyihwKQUWJzO^Gm{FCn-;y`JIxkyf;@o_cBmOGrme?&Zeg ztEW=V9x2oelAu6{Gt?77)A;IRHi~U`#;J)cP$q1^!MG3z<4!4 zB>EHIQ-fye=TI1mzWkUX&?SWc*gu8l7(nY1n{xczW{kc6a#Qd-gMcLKg6%xMn#7Mq zimG^d(Wb99&!k0nN>Q|zwCqXS?J)6TS|(1iE#gta*lyp?wCIldMSG(jRYFUQE4Y)$ zu<+US6!s2Sw5Hi$oL)dnhN8t@qC#wU+)Fg)rC+G(?e$fMp=2SiBPqlVsSxw=0-mBs ze=KfF1&|a1fG1mXR6x5F0{rTB zssha8R0w!)AzixrBPyV+o&dg~3WK`XP*sS63O-;iA-xytMFq6c7XT;p6bTSfP)p2h z3n#E2>CoYGR6y$#0wSacLuwHw!)Q39kQ$iDoSHu+fgRfBk$apg4s9XvR|J Vz@!jMZprwDlS1y-M(+aK{{lmIixdC= literal 94792 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 UKb`Cr6#Dn&a|-y)uJ)b(0%qg(Q2+n{ diff --git a/data/multi_tf_cache.json b/data/multi_tf_cache.json index 9d4c089..79097f9 100644 --- a/data/multi_tf_cache.json +++ b/data/multi_tf_cache.json @@ -1254,7 +1254,7 @@ "volume": 147766189.0 } ], - "updated_at": 1783042020.623618 + "updated_at": 1783044079.8071475 }, "688795": { "daily": [ @@ -2479,7 +2479,7 @@ "volume": 4788252.0 } ], - "updated_at": 1783042019.9569597 + "updated_at": 1783044075.0710294 }, "000657": { "daily": [ @@ -3736,7 +3736,7 @@ "volume": 1051508.0 } ], - "updated_at": 1783041981.2226763 + "updated_at": 1783043801.3984435 }, "000700": { "daily": [ @@ -4993,7 +4993,7 @@ "volume": 1265397.0 } ], - "updated_at": 1783042021.2825418 + "updated_at": 1783044082.483624 }, "000711": { "daily": [ @@ -6250,7 +6250,7 @@ "volume": 496248.0 } ], - "updated_at": 1783041982.4626832 + "updated_at": 1783043809.399398 }, "001309": { "daily": [ @@ -7507,7 +7507,7 @@ "volume": 216663.0 } ], - "updated_at": 1783041982.8167784 + "updated_at": 1783043809.8826015 }, "002594": { "daily": [ @@ -8764,7 +8764,7 @@ "volume": 934285.0 } ], - "updated_at": 1783041984.734874 + "updated_at": 1783043810.5990129 }, "00700": { "daily": [ @@ -10029,7 +10029,7 @@ "volume": 13032847.0 } ], - "updated_at": 1783042021.3444269 + "updated_at": 1783044082.56566 }, "00968": { "daily": [ @@ -11294,7 +11294,7 @@ "volume": 19422000.0 } ], - "updated_at": 1783042021.401884 + "updated_at": 1783043816.8181129 }, "00981": { "daily": [ @@ -12559,7 +12559,7 @@ "volume": 60114819.0 } ], - "updated_at": 1783042021.4623775 + "updated_at": 1783044082.610872 }, "01070": { "daily": [ @@ -13824,7 +13824,7 @@ "volume": 690000.0 } ], - "updated_at": 1783042021.5345905 + "updated_at": 1783043820.8069057 }, "01088": { "daily": [ @@ -15089,7 +15089,7 @@ "volume": 2870057.0 } ], - "updated_at": 1783041992.017664 + "updated_at": 1783044082.658171 }, "01211": { "daily": [ @@ -16354,7 +16354,7 @@ "volume": 13286402.0 } ], - "updated_at": 1783041992.4827614 + "updated_at": 1783044082.704351 }, "01478": { "daily": [ @@ -17619,7 +17619,7 @@ "volume": 1618000.0 } ], - "updated_at": 1783041993.3253477 + "updated_at": 1783044082.762224 }, "01888": { "daily": [ @@ -18884,7 +18884,7 @@ "volume": 29941901.0 } ], - "updated_at": 1783041993.781416 + "updated_at": 1783044082.8079357 }, "02202": { "daily": [ @@ -20149,7 +20149,7 @@ "volume": 19786580.0 } ], - "updated_at": 1783041995.6165497 + "updated_at": 1783044082.8632934 }, "02318": { "daily": [ @@ -21414,7 +21414,7 @@ "volume": 11523457.0 } ], - "updated_at": 1783041997.4020536 + "updated_at": 1783043987.2388291 }, "02359": { "daily": [ @@ -22679,7 +22679,7 @@ "volume": 1730975.0 } ], - "updated_at": 1783041998.5174677 + "updated_at": 1783043989.7541306 }, "02388": { "daily": [ @@ -23944,7 +23944,7 @@ "volume": 3823095.0 } ], - "updated_at": 1783041999.36856 + "updated_at": 1783043994.5000134 }, "02628": { "daily": [ @@ -25209,7 +25209,7 @@ "volume": 23110112.0 } ], - "updated_at": 1783041999.8798487 + "updated_at": 1783043995.2743292 }, "06160": { "daily": [ @@ -26474,7 +26474,7 @@ "volume": 2575221.0 } ], - "updated_at": 1783042000.4124668 + "updated_at": 1783043997.9490442 }, "06869": { "daily": [ @@ -27739,7 +27739,7 @@ "volume": 15066251.0 } ], - "updated_at": 1783042000.923873 + "updated_at": 1783044082.9308276 }, "09868": { "daily": [ @@ -29004,7 +29004,7 @@ "volume": 10168056.0 } ], - "updated_at": 1783042001.4443269 + "updated_at": 1783044008.095998 }, "09988": { "daily": [ @@ -30269,7 +30269,7 @@ "volume": 35148396.0 } ], - "updated_at": 1783042003.0618439 + "updated_at": 1783044018.1107671 }, "300035": { "daily": [ @@ -31526,7 +31526,7 @@ "volume": 230937.0 } ], - "updated_at": 1783042005.1079993 + "updated_at": 1783044083.0047874 }, "300124": { "daily": [ @@ -32783,7 +32783,7 @@ "volume": 722493.0 } ], - "updated_at": 1783042005.5276194 + "updated_at": 1783044032.832553 }, "300308": { "daily": [ @@ -34040,7 +34040,7 @@ "volume": 389058.0 } ], - "updated_at": 1783042005.9298875 + "updated_at": 1783044083.0894234 }, "300548": { "daily": [ @@ -35297,7 +35297,7 @@ "volume": 242727.0 } ], - "updated_at": 1783042007.4594934 + "updated_at": 1783044085.0312092 }, "300750": { "daily": [ @@ -36554,7 +36554,7 @@ "volume": 551212.0 } ], - "updated_at": 1783042008.2649546 + "updated_at": 1783044087.5034237 }, "301308": { "daily": [ @@ -37811,7 +37811,7 @@ "volume": 296230.0 } ], - "updated_at": 1783042008.6545267 + "updated_at": 1783044089.021787 }, "518880": { "daily": [ @@ -39068,7 +39068,7 @@ "volume": 3915247.0 } ], - "updated_at": 1783042008.9879913 + "updated_at": 1783044089.3971868 }, "600519": { "daily": [ @@ -40325,7 +40325,7 @@ "volume": 64803.0 } ], - "updated_at": 1783042010.7426136 + "updated_at": 1783044052.95763 }, "600563": { "daily": [ @@ -41582,7 +41582,7 @@ "volume": 180947.0 } ], - "updated_at": 1783042011.7911348 + "updated_at": 1783044089.462641 }, "601318": { "daily": [ @@ -42839,7 +42839,7 @@ "volume": 1746202.0 } ], - "updated_at": 1783042013.0151145 + "updated_at": 1783044062.04543 }, "601899": { "daily": [ @@ -44096,7 +44096,7 @@ "volume": 4780454.0 } ], - "updated_at": 1783042014.6356938 + "updated_at": 1783044071.2478073 }, "688411": { "daily": [ @@ -45353,7 +45353,7 @@ "volume": 13672788.0 } ], - "updated_at": 1783042014.991606 + "updated_at": 1783044073.4637604 }, "688630": { "daily": [ @@ -46610,7 +46610,7 @@ "volume": 9660790.0 } ], - "updated_at": 1783042017.8870435 + "updated_at": 1783044074.0534656 }, "688639": { "daily": [ @@ -47867,7 +47867,7 @@ "volume": 13996588.0 } ], - "updated_at": 1783042019.546765 + "updated_at": 1783044074.5389183 }, "688802": { "daily": [ @@ -49092,6 +49092,6 @@ "volume": 3202146.0 } ], - "updated_at": 1783042020.3012147 + "updated_at": 1783044079.370447 } } \ No newline at end of file diff --git a/data/portfolio.json b/data/portfolio.json index 4c6b166..8fcb2cc 100644 --- a/data/portfolio.json +++ b/data/portfolio.json @@ -6,7 +6,7 @@ "shares": 100, "cost": 1316.53, "price": 1145.0, - "market_value": 113000.0, + "market_value": 113401.0, "change_pct": 0.17, "currency": "CNY", "position_pct": 15.27, @@ -17,9 +17,9 @@ "name": "长飞光纤光缆", "shares": 500, "cost": 263.72, - "price": 167.16, - "market_value": 83230.0, - "change_pct": -2.61, + "price": 175.65, + "market_value": 87135.0, + "change_pct": 2.343, "currency": "CNY", "position_pct": 13.47, "_currency": "CNY" @@ -29,9 +29,9 @@ "name": "丘钛科技", "shares": 11000, "cost": 13.47, - "price": 5.83, - "market_value": 64130.0, - "change_pct": -1.895, + "price": 6.01, + "market_value": 65560.0, + "change_pct": 3.125, "currency": "CNY", "position_pct": 7.97, "_currency": "CNY" @@ -41,9 +41,9 @@ "name": "紫金矿业", "shares": 2400, "cost": 39.89, - "price": 27.7, - "market_value": 66000.0, - "change_pct": 5.32, + "price": 27.98, + "market_value": 67320.0, + "change_pct": 6.39, "currency": "CNY", "position_pct": 7.34, "_currency": "CNY" @@ -53,9 +53,9 @@ "name": "海博思创", "shares": 200, "cost": 266.95, - "price": 256.73, - "market_value": 51160.0, - "change_pct": 0.4, + "price": 257.19, + "market_value": 50760.0, + "change_pct": 0.58, "currency": "CNY", "position_pct": 6.31, "_currency": "CNY" @@ -65,9 +65,9 @@ "name": "中芯国际", "shares": 300, "cost": 126.07, - "price": 144.98, - "market_value": 43467.0, - "change_pct": 0.61, + "price": 142.58, + "market_value": 42555.0, + "change_pct": -1.05, "currency": "CNY", "position_pct": 5.44, "_currency": "CNY" @@ -77,9 +77,9 @@ "name": "建滔积层板", "shares": 500, "cost": 88.23, - "price": 65.98, - "market_value": 32970.0, - "change_pct": -9.19, + "price": 73.83, + "market_value": 36870.0, + "change_pct": 1.611, "currency": "CNY", "position_pct": 5.28, "_currency": "CNY" @@ -89,9 +89,9 @@ "name": "华恒生物", "shares": 2800, "cost": 21.51, - "price": 17.12, - "market_value": 47768.0, - "change_pct": 1.0, + "price": 16.73, + "market_value": 46676.0, + "change_pct": -1.3, "currency": "CNY", "position_pct": 5.25, "_currency": "CNY" @@ -101,9 +101,9 @@ "name": "宁德时代", "shares": 100, "cost": 401.78, - "price": 382.0, - "market_value": 38196.0, - "change_pct": -0.09, + "price": 383.18, + "market_value": 38506.0, + "change_pct": 0.22, "currency": "CNY", "position_pct": 4.64, "_currency": "CNY" @@ -113,9 +113,9 @@ "name": "比亚迪股份", "shares": 600, "cost": 104.87, - "price": 75.0, - "market_value": 44268.0, - "change_pct": 10.47, + "price": 71.35, + "market_value": 42552.0, + "change_pct": 5.109, "currency": "CNY", "position_pct": 4.62, "_currency": "CNY" @@ -125,9 +125,9 @@ "name": "万科企业", "shares": 19700, "cost": 4.67, - "price": 1.98, - "market_value": 38415.0, - "change_pct": 2.24, + "price": 1.99, + "market_value": 39203.0, + "change_pct": 3.139, "currency": "CNY", "position_pct": 4.6, "_currency": "CNY" @@ -137,9 +137,9 @@ "name": "腾讯", "shares": 100, "cost": null, - "price": 376.45, - "market_value": 37714.0, - "change_pct": 0.93, + "price": 381.13, + "market_value": 37975.0, + "change_pct": 2.185, "currency": "CNY", "position_pct": null, "_currency": "CNY" @@ -149,9 +149,9 @@ "name": "中芯国际", "shares": 500, "cost": 75.94, - "price": 68.15, - "market_value": 34030.0, - "change_pct": -2.24, + "price": 69.45, + "market_value": 34485.0, + "change_pct": -0.373, "currency": "CNY", "position_pct": 4.2, "_currency": "CNY" @@ -161,9 +161,9 @@ "name": "长芯博创", "shares": 100, "cost": 231.46, - "price": 222.34, - "market_value": 22000.0, - "change_pct": 0.15, + "price": 224.77, + "market_value": 22039.0, + "change_pct": 1.25, "currency": "CNY", "position_pct": 3.2, "_currency": "CNY" @@ -173,9 +173,9 @@ "name": "黄金ETF华安", "shares": 2400, "cost": 12.19, - "price": 8.71, - "market_value": 20904.0, - "change_pct": 2.73, + "price": 8.68, + "market_value": 20856.0, + "change_pct": 2.44, "currency": "CNY", "position_pct": 2.45, "_currency": "CNY" @@ -185,9 +185,9 @@ "name": "中科电气", "shares": 1400, "cost": 22.29, - "price": 14.19, - "market_value": 19852.0, - "change_pct": 0.14, + "price": 14.25, + "market_value": 19936.0, + "change_pct": 0.56, "currency": "CNY", "position_pct": 2.42, "_currency": "CNY" @@ -197,9 +197,9 @@ "name": "模塑科技", "shares": 1400, "cost": 14.83, - "price": 16.55, - "market_value": 22512.0, - "change_pct": -1.9, + "price": 17.19, + "market_value": 23870.0, + "change_pct": 1.9, "currency": "CNY", "position_pct": 2.41, "_currency": "CNY" @@ -209,9 +209,9 @@ "name": "法拉电子", "shares": 100, "cost": 147.18, - "price": 161.29, - "market_value": 16027.0, - "change_pct": -1.83, + "price": 159.02, + "market_value": 15700.0, + "change_pct": -3.21, "currency": "CNY", "position_pct": 2.3, "_currency": "CNY" @@ -221,20 +221,20 @@ "name": "中国神华", "shares": 500, "cost": 45.89, - "price": 34.33, + "price": 34.61, "market_value": 17375.0, - "change_pct": 0.0, + "change_pct": 0.808, "currency": "CNY", "position_pct": 2.14, "_currency": "CNY" } ], - "total_assets": 898326.0, - "total_mv": 817850.0, + "total_assets": 907735.0, + "total_mv": 827259.0, "stock_value": null, "cash": 80476.0, "frozen_cash": 0.0, - "position_pct": 91.04, + "position_pct": 91.13, "currency": "CNY", - "updated_at": "2026-07-03 09:31" + "updated_at": "2026-07-03 10:02" } \ No newline at end of file diff --git a/data/price_events.json b/data/price_events.json index 8e941a0..8f80cce 100644 --- a/data/price_events.json +++ b/data/price_events.json @@ -7709,6 +7709,426 @@ "event_label": "买入区间", "timestamp": "2026-07-03T09:31:19.792302", "date": "2026-07-03" + }, + { + "code": "000700", + "name": "模塑科技", + "event_type": "entry_zone", + "price": 16.16, + "trigger_value": "14.47~16.88", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:32:43.914954", + "date": "2026-07-03" + }, + { + "code": "000711", + "name": "ST京蓝", + "event_type": "entry_zone", + "price": 5.23, + "trigger_value": "5.08~5.24", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:32:45.650142", + "date": "2026-07-03" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 797.46, + "trigger_value": "788.65~820.85", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:32:45.762069", + "date": "2026-07-03" + }, + { + "code": "301308", + "name": "江波龙", + "event_type": "entry_zone", + "price": 581.12, + "trigger_value": "577.22~600.78", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:32:45.889485", + "date": "2026-07-03" + }, + { + "code": "688411", + "name": "海博思创", + "event_type": "entry_zone", + "price": 252.25, + "trigger_value": "230.22~268.59", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:32:46.031638", + "date": "2026-07-03" + }, + { + "code": "000700", + "name": "模塑科技", + "event_type": "entry_zone", + "price": 16.25, + "trigger_value": "14.47~16.88", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:34:21.202408", + "date": "2026-07-03" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 800.0, + "trigger_value": "788.65~820.85", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:34:25.373855", + "date": "2026-07-03" + }, + { + "code": "301308", + "name": "江波龙", + "event_type": "entry_zone", + "price": 578.78, + "trigger_value": "577.22~600.78", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:34:30.305737", + "date": "2026-07-03" + }, + { + "code": "688411", + "name": "海博思创", + "event_type": "entry_zone", + "price": 253.81, + "trigger_value": "230.22~268.59", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:34:32.028061", + "date": "2026-07-03" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 803.02, + "trigger_value": "788.65~820.85", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:34:57.320270", + "date": "2026-07-03" + }, + { + "code": "301308", + "name": "江波龙", + "event_type": "entry_zone", + "price": 580.5, + "trigger_value": "577.22~600.78", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:34:57.421262", + "date": "2026-07-03" + }, + { + "code": "601318", + "name": "中国平安", + "event_type": "entry_zone", + "price": 49.59, + "trigger_value": "48.51~49.6", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:34:57.522585", + "date": "2026-07-03" + }, + { + "code": "000657", + "name": "中钨高新", + "event_type": "entry_zone", + "price": 89.12, + "trigger_value": "89.08~92.72", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:36:34.608086", + "date": "2026-07-03" + }, + { + "code": "002594", + "name": "比亚迪", + "event_type": "entry_zone", + "price": 86.14, + "trigger_value": "84.06~86.7", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:36:38.778575", + "date": "2026-07-03" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 460.12, + "trigger_value": "444.38~462.52", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:36:40.472276", + "date": "2026-07-03" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 819.97, + "trigger_value": "790.86~823.14", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:39:07.603401", + "date": "2026-07-03" + }, + { + "code": "301308", + "name": "江波龙", + "event_type": "entry_zone", + "price": 592.0, + "trigger_value": "572.8~596.18", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:39:07.786382", + "date": "2026-07-03" + }, + { + "code": "601318", + "name": "中国平安", + "event_type": "entry_zone", + "price": 49.31, + "trigger_value": "48.46~49.55", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:39:08.061067", + "date": "2026-07-03" + }, + { + "code": "001309", + "name": "德明利", + "event_type": "entry_zone", + "price": 821.0, + "trigger_value": "790.86~823.14", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:41:01.114774", + "date": "2026-07-03" + }, + { + "code": "301308", + "name": "江波龙", + "event_type": "entry_zone", + "price": 595.0, + "trigger_value": "572.8~596.18", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:41:01.320502", + "date": "2026-07-03" + }, + { + "code": "601318", + "name": "中国平安", + "event_type": "entry_zone", + "price": 49.17, + "trigger_value": "48.46~49.55", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:41:01.404690", + "date": "2026-07-03" + }, + { + "code": "000657", + "name": "中钨高新", + "event_type": "entry_zone", + "price": 90.95, + "trigger_value": "88.84~92.46", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:44:49.382453", + "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-03T09:44:52.457030", + "date": "2026-07-03" + }, + { + "code": "000657", + "name": "中钨高新", + "event_type": "entry_zone", + "price": 89.88, + "trigger_value": "89.04~92.68", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:48:56.752426", + "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-03T09:48:56.883174", + "date": "2026-07-03" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 477.99, + "trigger_value": "473.53~485.05", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:48:57.057198", + "date": "2026-07-03" + }, + { + "code": "300124", + "name": "汇川技术", + "event_type": "entry_zone", + "price": 69.25, + "trigger_value": "68.19~69.84", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:50:30.681833", + "date": "2026-07-03" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 474.06, + "trigger_value": "473.53~485.05", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:50:32.543442", + "date": "2026-07-03" + }, + { + "code": "000657", + "name": "中钨高新", + "event_type": "entry_zone", + "price": 89.18, + "trigger_value": "89.04~92.68", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:51:12.267083", + "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-03T09:51:14.293168", + "date": "2026-07-03" + }, + { + "code": "300124", + "name": "汇川技术", + "event_type": "entry_zone", + "price": 69.11, + "trigger_value": "68.19~69.84", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:52:18.825215", + "date": "2026-07-03" + }, + { + "code": "000657", + "name": "中钨高新", + "event_type": "entry_zone", + "price": 89.25, + "trigger_value": "87.04~90.6", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:55:15.144895", + "date": "2026-07-03" + }, + { + "code": "000657", + "name": "中钨高新", + "event_type": "entry_zone", + "price": 90.0, + "trigger_value": "87.04~90.6", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:56:28.341203", + "date": "2026-07-03" + }, + { + "code": "600519", + "name": "贵州茅台", + "event_type": "entry_zone", + "price": 1201.38, + "trigger_value": "1182.87~1208.37", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:56:28.531609", + "date": "2026-07-03" + }, + { + "code": "000657", + "name": "中钨高新", + "event_type": "entry_zone", + "price": 89.24, + "trigger_value": "87.04~90.6", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:58:03.449246", + "date": "2026-07-03" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 477.0, + "trigger_value": "461.62~480.46", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:58:03.517093", + "date": "2026-07-03" + }, + { + "code": "000657", + "name": "中钨高新", + "event_type": "entry_zone", + "price": 89.61, + "trigger_value": "87.04~90.6", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:58:18.927785", + "date": "2026-07-03" + }, + { + "code": "600519", + "name": "贵州茅台", + "event_type": "entry_zone", + "price": 1201.66, + "trigger_value": "1182.87~1208.37", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:58:22.632056", + "date": "2026-07-03" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 477.0, + "trigger_value": "461.62~480.46", + "event_label": "买入区间", + "timestamp": "2026-07-03T09:58:25.874972", + "date": "2026-07-03" + }, + { + "code": "000657", + "name": "中钨高新", + "event_type": "entry_zone", + "price": 90.01, + "trigger_value": "87.58~91.16", + "event_label": "买入区间", + "timestamp": "2026-07-03T10:02:32.512640", + "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:02:32.664805", + "date": "2026-07-03" + }, + { + "code": "688630", + "name": "芯碁微装", + "event_type": "entry_zone", + "price": 481.03, + "trigger_value": "469.15~483.96", + "event_label": "买入区间", + "timestamp": "2026-07-03T10:02:32.827241", + "date": "2026-07-03" } ] } \ No newline at end of file diff --git a/data/price_history.json b/data/price_history.json index 7982b79..8e48eaa 100644 --- a/data/price_history.json +++ b/data/price_history.json @@ -26,7 +26,7 @@ "date": "2026-07-03", "high": 1215.52, "low": 1190.51, - "close": 1205.24 + "close": 1198.51 } ], "02202": [ @@ -48,7 +48,7 @@ "date": "2026-07-03", "high": 53.0, "low": 51.7, - "close": 52.3 + "close": 52.6 } ], "601318": [ @@ -62,7 +62,7 @@ "date": "2026-07-03", "high": 50.2, "low": 48.8, - "close": 49.5 + "close": 49.0 } ], "02359": [ @@ -76,7 +76,7 @@ "date": "2026-07-03", "high": 158.7, "low": 151.1, - "close": 152.8 + "close": 152.5 } ], "02388": [ @@ -90,7 +90,7 @@ "date": "2026-07-03", "high": 42.98, "low": 41.94, - "close": 42.3 + "close": 42.84 } ], "02628": [ @@ -102,9 +102,9 @@ }, { "date": "2026-07-03", - "high": 28.74, + "high": 29.08, "low": 27.5, - "close": 28.08 + "close": 28.74 } ], "688630": [ @@ -117,8 +117,8 @@ { "date": "2026-07-03", "high": 499.95, - "low": 464.8, - "close": 467.98 + "low": 444.55, + "close": 481.8 } ], "06160": [ @@ -130,9 +130,9 @@ }, { "date": "2026-07-03", - "high": 176.8, + "high": 183.3, "low": 171.9, - "close": 174.7 + "close": 182.1 } ], "06869": [ @@ -153,8 +153,8 @@ { "date": "2026-07-03", "high": 687.04, - "low": 639.4, - "close": 643.88 + "low": 633.01, + "close": 645.6 } ], "09868": [ @@ -167,8 +167,8 @@ { "date": "2026-07-03", "high": 53.7, - "low": 50.95, - "close": 51.8 + "low": 49.3, + "close": 50.15 } ], "09988": [ @@ -182,7 +182,7 @@ "date": "2026-07-03", "high": 97.4, "low": 93.55, - "close": 94.5 + "close": 95.45 } ], "688802": [ @@ -194,9 +194,9 @@ }, { "date": "2026-07-03", - "high": 731.34, - "low": 731.34, - "close": 731.34 + "high": 733.99, + "low": 713.0, + "close": 721.1 } ], "300124": [ @@ -210,7 +210,7 @@ "date": "2026-07-03", "high": 71.79, "low": 67.31, - "close": 67.5 + "close": 70.75 } ], "000657": [ @@ -223,8 +223,8 @@ { "date": "2026-07-03", "high": 101.5, - "low": 90.68, - "close": 92.13 + "low": 88.23, + "close": 90.01 } ], "000711": [ @@ -251,8 +251,8 @@ { "date": "2026-07-03", "high": 872.83, - "low": 804.74, - "close": 804.75 + "low": 795.0, + "close": 831.0 } ], "002594": [ @@ -264,9 +264,9 @@ }, { "date": "2026-07-03", - "high": 85.67, + "high": 87.28, "low": 81.9, - "close": 83.73 + "close": 86.58 } ], "00700": [ @@ -288,7 +288,7 @@ "date": "2026-07-03", "high": 2.15, "low": 2.03, - "close": 2.07 + "close": 2.1 } ], "00981": [ @@ -310,7 +310,7 @@ "date": "2026-07-03", "high": 13.19, "low": 12.63, - "close": 12.83 + "close": 13.11 } ], "01088": [