fix: evaluation独立连接写+管道审计6条+holding_strategies+decisions.json
This commit is contained in:
+19
-10
@@ -74,9 +74,10 @@ try:
|
||||
)
|
||||
if result and result.get("action"):
|
||||
print(f" 🔄 FORCE_REASSESS {code} {name}: {hours_stale:.0f}h过期→已立即重评→{result['action'][:60]}", flush=True)
|
||||
# 写strategy_evaluations表(产生即落盘,不断链)
|
||||
# 写strategy_evaluations(独立短连接,防锁冲突)
|
||||
try:
|
||||
cur.execute("""
|
||||
eval_conn = sqlite3.connect(str(Path(__file__).parent.parent / "data" / "mofin.db"), timeout=10)
|
||||
eval_conn.execute("""
|
||||
INSERT INTO strategy_evaluations
|
||||
(code, eval_type, status, new_stop_loss, new_tp, reason, created_at)
|
||||
VALUES (?, 'reassess', 'completed', ?, ?, ?, ?)
|
||||
@@ -87,8 +88,10 @@ try:
|
||||
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)
|
||||
eval_conn.commit()
|
||||
eval_conn.close()
|
||||
except Exception:
|
||||
pass
|
||||
else:
|
||||
print(f" ⚠️ FORCE_REASSESS {code} {name}: 重评返回空结果", flush=True)
|
||||
except Exception as e:
|
||||
@@ -121,7 +124,8 @@ try:
|
||||
if result and result.get("action"):
|
||||
print(f" 🔄 CREATE_STRATEGY {code} {name}: 无策略→已创建→{result['action'][:60]}", flush=True)
|
||||
try:
|
||||
cur.execute("""
|
||||
eval_conn = sqlite3.connect(str(Path(__file__).parent.parent / "data" / "mofin.db"), timeout=10)
|
||||
eval_conn.execute("""
|
||||
INSERT INTO strategy_evaluations
|
||||
(code, eval_type, status, new_stop_loss, new_tp, reason, created_at)
|
||||
VALUES (?, 'reassess', 'completed', ?, ?, ?, ?)
|
||||
@@ -132,8 +136,10 @@ try:
|
||||
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)
|
||||
eval_conn.commit()
|
||||
eval_conn.close()
|
||||
except Exception:
|
||||
pass
|
||||
else:
|
||||
print(f" ⚠️ CREATE_STRATEGY {code} {name}: 重评返回空", flush=True)
|
||||
except Exception as e:
|
||||
@@ -160,7 +166,8 @@ try:
|
||||
wl_stale += 1
|
||||
print(f" 📋 WATCHLIST_REASSESS {code} {name}: →{result['action'][:60]}", flush=True)
|
||||
try:
|
||||
cur.execute("""
|
||||
eval_conn = sqlite3.connect(str(Path(__file__).parent.parent / "data" / "mofin.db"), timeout=10)
|
||||
eval_conn.execute("""
|
||||
INSERT INTO strategy_evaluations
|
||||
(code, eval_type, status, new_stop_loss, new_tp, reason, created_at)
|
||||
VALUES (?, 'reassess', 'completed', ?, ?, ?, ?)
|
||||
@@ -171,8 +178,10 @@ try:
|
||||
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)
|
||||
eval_conn.commit()
|
||||
eval_conn.close()
|
||||
except Exception:
|
||||
pass
|
||||
else:
|
||||
wl_fresh += 1
|
||||
except Exception as e:
|
||||
|
||||
Reference in New Issue
Block a user