feat: 买入信号写入时自动推XMPP通知(通过5805桥)
This commit is contained in:
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user