fix(HEL-164): 撤回盘后刷新改动并恢复原逻辑

Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
总管
2026-08-28 09:05:42 +00:00
co-authored by multica-agent
parent 6d7a839202
commit f27471238a
5 changed files with 22 additions and 278 deletions
+13 -3
View File
@@ -26,8 +26,18 @@ class DashboardMixin:
)
daily = self._load_daily(trade_date)
if (
not daily
and requested_date == datetime.now().astimezone().strftime("%Y%m%d")
and trade_date == requested_date
and datetime.now().astimezone().time().replace(tzinfo=None) >= dt_time(9, 15)
):
return self._realtime_dashboard(
requested_date,
trade_date,
previous_trade_date,
)
if not daily:
# 15:05 后只走日线;日线未就绪时不得回退调用无权限的 rt_k。
raise TushareError(f"No daily data returned for {trade_date}")
notices: list[str] = []
@@ -86,13 +96,13 @@ class DashboardMixin:
@staticmethod
def should_use_realtime(requested_date: str, trade_date: str) -> bool:
"""Use rt_k only inside the intraday window; 15:05+ must use daily bars."""
"""Use rt_k for today's open market until end-of-day datasets settle."""
now = datetime.now().astimezone()
today = now.strftime("%Y%m%d")
return (
requested_date == today
and trade_date == today
and dt_time(9, 15) <= now.time().replace(tzinfo=None) < dt_time(15, 5)
and dt_time(9, 15) <= now.time().replace(tzinfo=None) < dt_time(16, 30)
)
def _realtime_dashboard(