feat: 买入信号写入时自动推XMPP通知(通过5805桥)

This commit is contained in:
知微
2026-07-10 13:58:23 +08:00
parent 49ef74826a
commit ea07d8c8df
2 changed files with 35 additions and 0 deletions
+22
View File
@@ -247,6 +247,28 @@ def save_result(code, full_text, parsed):
sql = f"UPDATE holding_strategies SET {', '.join(updates)} WHERE code=? AND status='active'"
conn.execute(sql, params)
conn.commit()
# 买入信号→推XMPP通知(在conn close前执行)
if parsed.get("signal") == "买入":
try:
_nr = conn.execute("SELECT name, price FROM holding_strategies WHERE code=? AND status='active'", (code,)).fetchone()
_name = _nr[0] if _nr else code
_p = _nr[1] if _nr else 0
_el = parsed.get("entry_low", 0)
_eh = parsed.get("entry_high", 0)
_sl = parsed.get("stop_loss", 0)
_tp = parsed.get("take_profit", 0)
_pos = parsed.get("position", "")
_msg = f"📈 {_name}({code}) 价{_p}→12维分析生成买入信号!区间{_el}~{_eh}{_sl}{_tp} 仓位{_pos}"
import urllib.request, json as _jj
_req = urllib.request.Request("http://127.0.0.1:5805/",
data=_jj.dumps({"body": _msg, "to": "hmo@yoin.fun", "type": "chat"}).encode(),
headers={"Content-Type": "application/json"})
urllib.request.urlopen(_req, timeout=5)
print(f" 📨 XMPP推送成功: {_msg[:60]}")
except Exception as _e:
print(f" ⚠️ XMPP推送失败: {_e}")
conn.close()
def process_stock(code):