fix: K线新浪历史补齐与手续费页布局及CTP批量同步
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+25
-3
@@ -67,14 +67,36 @@ def sync_fees_from_ctp(mode: str, *, max_symbols: int = 80) -> tuple[int, str]:
|
||||
if not bridge.ping():
|
||||
return 0, "CTP 连接无效,请重连"
|
||||
|
||||
seen: set[str] = set()
|
||||
ok = 0
|
||||
errors = 0
|
||||
|
||||
batch = bridge.query_all_commissions(mode=mode)
|
||||
if batch:
|
||||
for raw in batch:
|
||||
inst = str(raw.get("InstrumentID") or "").strip()
|
||||
product = _product_from_instrument(inst)
|
||||
if not product or product in seen:
|
||||
continue
|
||||
seen.add(product)
|
||||
try:
|
||||
fields = ctp_commission_to_fee_fields(raw, inst or product)
|
||||
upsert_fee_rate(product, fields)
|
||||
ok += 1
|
||||
except Exception as exc:
|
||||
logger.debug("CTP fee batch %s: %s", inst, exc)
|
||||
errors += 1
|
||||
if ok > 0:
|
||||
msg = f"已从 CTP 批量同步 {ok} 个品种手续费"
|
||||
if errors:
|
||||
msg += f"({errors} 个跳过)"
|
||||
return ok, msg
|
||||
|
||||
symbols = _collect_main_ths_codes()[:max_symbols]
|
||||
|
||||
if not symbols:
|
||||
return 0, "无主力合约列表"
|
||||
|
||||
seen: set[str] = set()
|
||||
ok = 0
|
||||
errors = 0
|
||||
for ths in symbols:
|
||||
product = _product_from_instrument(ths)
|
||||
if not product or product in seen:
|
||||
|
||||
Reference in New Issue
Block a user