cadc59e6dc
- xt_gateway: _open_session抽离, reconnect(stop旧trader+重建), is_alive(query探活), _retry_with_reconnect(query/order失败重连重试一次) - query_account/positions/place_order包重试: 断线(异常/None)→reconnect→重试, broker拒单(order_id<=0)不重连 - bridge /health: is_alive真实探活(5s缓存)+断线后台reconnect(不阻塞), 不再假阳性 - trade_calendar: is_trading_day(周一-周五), /order非交易日加warning(120141提示) - test_gateway15+test_trade_calendar6=NAS21passed, 回归bridge_client/d4a 10绿 - 修复Issue#4运维发现: miniQMT重启后bridge自动重连(无需手动重启)
25 lines
853 B
Python
25 lines
853 B
Python
"""交易日判断(首版仅周末判断,节假日后续扩展)。
|
|
|
|
TODO: 后续接入 A 股法定节假日列表(交易所日历数据源或手动配置文件)。
|
|
"""
|
|
from datetime import date
|
|
|
|
|
|
def is_trading_day(day: date | None = None) -> bool:
|
|
"""判断是否为 A 股交易日。
|
|
|
|
首版:周一至周五 True,周六周日 False。
|
|
法定节假日(国庆/春节/清明等)暂不处理——miniQMT broker 会自行拒绝,
|
|
调用方可根据返回值在响应中加 warning 提示。
|
|
|
|
Args:
|
|
day: 待判断日期,None = 今天。
|
|
|
|
Returns:
|
|
True = 工作日(大概率交易日),False = 周末。
|
|
"""
|
|
if day is None:
|
|
day = date.today()
|
|
# TODO: 接入 A 股法定节假日列表(目前仅排除周末)
|
|
return day.weekday() < 5 # 0=Mon..4=Fri, 5=Sat, 6=Sun
|