一句话回答: 到价提醒 = 轮询实时价 + 比对阈值 + 命中就推消息。用 AlphaFeed 的 quotes.get(symbols=[...]) 每隔几秒取一次自选股快照,和你设的「涨到 A / 跌到 B」阈值比对,命中就把消息 POST 到飞书或钉钉群机器人的 Webhook。本文取数 + 触发逻辑真实验证(实测 600519.SH 1453.0 命中规则、飞书 payload 正常组装)。关键:去重(同一条别反复推)、控制轮询频率(快照约 3 秒、接口约 10 次/分钟)、Webhook 密钥别进代码。诚实边界:飞书/钉钉 Webhook 为其各自产品,签名/格式以官方文档为准;AlphaFeed 只提供行情。
一个到价提醒机器人就三步,循环执行:
quotes.get(symbols=[...]) 批量拿自选股最新价;above/below 阈值)比对;import time, requests
from alphafeed import AlphaFeed
af = AlphaFeed() # 读环境变量 ALPHAFEED_API_KEY
RULES = {
"600519.SH": {"above": 1500.0, "below": 1400.0},
"000001.SZ": {"above": 13.0, "below": 11.0},
}
FEISHU_WEBHOOK = " # 从环境变量读更安全
fired = set() # 去重:已推送过的 (symbol, 方向) 不再推
def check_once():
rows = af.quotes.get(symbols=list(RULES)) # 一次批量取
for q in rows:
sym, px = q["symbol"], q["last_price"]
r = RULES.get(sym, {})
if r.get("above") and px >= r["above"] and (sym, "above") not in fired:
notify(f"⬆️ {sym} 涨到 {px}(≥{r['above']})"); fired.add((sym, "above"))
if r.get("below") and px <= r["below"] and (sym, "below") not in fired:
notify(f"⬇️ {sym} 跌到 {px}(≤{r['below']})"); fired.add((sym, "below"))def notify(text: str):
# 飞书群机器人
requests.post(FEISHU_WEBHOOK, json={"msg_type": "text",
"content": {"text": text}}, timeout=5)
# 钉钉群机器人(如用钉钉):
# requests.post(DINGTALK_WEBHOOK, json={"msgtype": "text",
# "text": {"content": "监控 " + text}}, timeout=5)实测:规则命中后
fired=[('600519.SH', 1453.0, 'below')]、飞书 payload{"msg_type":"text","content":{"text":...}}正常组装(取数与触发逻辑已验证;Webhook 地址替换为你自己的即可真实推送)。
while True:
try:
check_once()
except Exception as e:
print("skip once:", e)
time.sleep(10) # ≥5~10 秒,避开频率上限;盘后可退出项 | 来源/设置 | 说明 |
|---|---|---|
最新价 |
| 元;约 3 秒快照 |
above 阈值 | 自设 | 涨到≥触发 |
below 阈值 | 自设 | 跌到≤触发 |
涨跌幅触发 |
| 如 >0.05 触发 |
去重键 |
| 命中后入集合,避免重复推 |
(symbol,方向),或加「每条冷却 N 分钟」。sleep ≥5~10s,自选股多就一次 symbols=[...] 批量取,别循环逐只。timestamp+sign。scheduled-eod-update-cron)。ext.change_pct 触发时 >0.05 表示 +5%。tools/verify_new_2026-11-08.py 真实验证(Webhook 未打真实地址)。Q:为什么不每秒刷?
A:快照约 3 秒延迟、接口约 10 次/分钟上限,每秒刷既无意义又会被限频。10 秒一轮足够。
Q:怎么防止重复轰炸?
A:命中后把 (symbol,方向) 记入集合不再推;或给每条规则加冷却时间(如 30 分钟后才允许再次推)。
Q:能推涨停/跌停、放量这种条件吗?
A:能。结合 instruments 的 limit_up/limit_down(封板)、ext.turnover_rate(放量)等自定义规则。
Q:需要付费吗?
A:少量自选股轮询有免费额度可体验,多标的/高频建议 Starter 及以上,详见官网定价页。
到价提醒机器人的本质是「轮询实时价 → 比阈值 → 命中推 Webhook」。用 AlphaFeed quotes.get(symbols=[...]) 批量取价、设 above/below 规则、命中 POST 到飞书/钉钉群机器人,再做好去重 + 频率控制 + 密钥安全即可。本文取数与触发逻辑已真实验证。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。