feat: b_td1_v3_scanner写candidates.rr——RR由策略算,promote只卡阈值(老莫规范)
This commit is contained in:
@@ -93,14 +93,16 @@ def main():
|
||||
for code, name, sig in hits:
|
||||
reasons = (f"dist_lo20={sig['dist_lo20']}% bias60={sig['bias60']}% "
|
||||
f"rsi={sig['rsi']} ret5={sig['ret5']}% mcap_q={sig['mcap_q']} score={sig['score']}")
|
||||
_mid_v = (sig['price'] * 0.98 + sig['price']) / 2
|
||||
_rr_v = round((sig['target'] - _mid_v) / (_mid_v - sig['stop_loss']), 2) if _mid_v > sig['stop_loss'] > 0 else 0
|
||||
conn.execute(
|
||||
"INSERT INTO candidates (code, name, sector, reason, entry_range, stop_loss, target, created_at) "
|
||||
"VALUES (?,?,?,?,?,?,?,datetime('now','localtime')) "
|
||||
"INSERT INTO candidates (code, name, sector, reason, entry_range, stop_loss, target, rr, created_at) "
|
||||
"VALUES (?,?,?,?,?,?,?,?,datetime('now','localtime')) "
|
||||
"ON CONFLICT(code) DO UPDATE SET "
|
||||
"name=excluded.name, sector=excluded.sector, reason=excluded.reason, "
|
||||
"entry_range=excluded.entry_range, stop_loss=excluded.stop_loss, target=excluded.target",
|
||||
"entry_range=excluded.entry_range, stop_loss=excluded.stop_loss, target=excluded.target, rr=excluded.rr",
|
||||
(code, code, "b_td1_v3", reasons,
|
||||
f"{sig['price']*0.98:.2f}~{sig['price']:.2f}", sig["stop_loss"], sig["target"]))
|
||||
f"{sig['price']*0.98:.2f}~{sig['price']:.2f}", sig["stop_loss"], sig["target"], _rr_v))
|
||||
inserted += 1
|
||||
print(f" 🟢 {code} {code} 价{sig['price']} score={sig['score']} {reasons}", flush=True)
|
||||
conn.commit()
|
||||
|
||||
Reference in New Issue
Block a user