fix: reassess结果写入strategy_evaluations表(持仓/自选/无策略3种路径)

This commit is contained in:
知微
2026-07-08 11:19:48 +08:00
parent 8a77b43ea1
commit 8cc0aa13c5
+43
View File
@@ -74,6 +74,21 @@ try:
)
if result and result.get("action"):
print(f" 🔄 FORCE_REASSESS {code} {name}: {hours_stale:.0f}h过期→已立即重评→{result['action'][:60]}", flush=True)
# 写strategy_evaluations表(产生即落盘,不断链)
try:
cur.execute("""
INSERT INTO strategy_evaluations
(code, eval_type, status, new_stop_loss, new_tp, reason, created_at)
VALUES (?, 'reassess', 'completed', ?, ?, ?, ?)
""", (
code,
result.get("stop_loss"),
result.get("take_profit"),
f"{result.get('action','')} RR={result.get('rr_ratio','?')} 信号={result.get('timing_signal','')}",
now.isoformat()
))
except Exception as eval_err:
print(f" ⚠️ 写evaluation表失败: {eval_err}", flush=True)
else:
print(f" ⚠️ FORCE_REASSESS {code} {name}: 重评返回空结果", flush=True)
except Exception as e:
@@ -105,6 +120,20 @@ try:
)
if result and result.get("action"):
print(f" 🔄 CREATE_STRATEGY {code} {name}: 无策略→已创建→{result['action'][:60]}", flush=True)
try:
cur.execute("""
INSERT INTO strategy_evaluations
(code, eval_type, status, new_stop_loss, new_tp, reason, created_at)
VALUES (?, 'reassess', 'completed', ?, ?, ?, ?)
""", (
code,
result.get("stop_loss"),
result.get("take_profit"),
f"{result.get('action','')} RR={result.get('rr_ratio','?')} 信号={result.get('timing_signal','')}",
now.isoformat()
))
except Exception as eval_err:
print(f" ⚠️ 写evaluation表失败: {eval_err}", flush=True)
else:
print(f" ⚠️ CREATE_STRATEGY {code} {name}: 重评返回空", flush=True)
except Exception as e:
@@ -130,6 +159,20 @@ try:
if result and result.get("action"):
wl_stale += 1
print(f" 📋 WATCHLIST_REASSESS {code} {name}: →{result['action'][:60]}", flush=True)
try:
cur.execute("""
INSERT INTO strategy_evaluations
(code, eval_type, status, new_stop_loss, new_tp, reason, created_at)
VALUES (?, 'reassess', 'completed', ?, ?, ?, ?)
""", (
code,
result.get("stop_loss"),
result.get("take_profit"),
f"自选:{result.get('action','')} RR={result.get('rr_ratio','?')} 信号={result.get('timing_signal','')}",
now.isoformat()
))
except Exception as eval_err:
print(f" ⚠️ 写evaluation表失败: {eval_err}", flush=True)
else:
wl_fresh += 1
except Exception as e: