结合金十数据、东方财富 MCP/Skill 与 OpenClaw 定时任务,以黄金交易为例,打造 7×24 小时智能盯盘与信号推送方案。
一、背景与架构总览
2026 年初,OpenClaw(原 Clawdbot/Moltbot)凭借强大的 MCP(Model Context Protocol)协议支持和 Skill 生态迅速走红。与此同时,国内主流金融数据平台------金十数据 和东方财富------也相继推出了各自的 MCP Server 或 Skill,使得 AI 智能体可以直接调用实时行情、技术指标和财经快讯。
本文介绍如何将这些能力串联起来,构建一套完整的金融资讯与交易信号自动推送系统。整体架构如下:
┌─────────────┐ ┌──────────────┐ ┌─────────────┐ ┌──────────┐
│ 金十数据 │ │ 东方财富 │ │ Gold Price │ │ 自定义 │
│ MCP/Skill │ │ MCP/Skill │ │ MCP │ │ 策略脚本 │
└──────┬──────┘ └──────┬───────┘ └──────┬──────┘ └────┬─────┘
│ │ │ │
└──────────────────┼───────────────────┼────────────────┘
│ │
┌─────▼───────────────────▼────┐
│ OpenClaw 智能体 │
│ (MCP Client + Cron 调度) │
└──────────────┬───────────────┘
│
┌────────▼────────┐
│ 飞书群机器人 │
│ Webhook 推送 │
└─────────────────┘
二、金融数据源配置
2.1 金十数据(Jin10)
金十数据是国内领先的宏观金融资讯平台,提供全球央行动态、经济数据日历、市场快讯等实时信息。金十数据已推出官方标准 MCP Server,支持通过 Bearer Token 直接访问。

2.1.1 金十数据官方 MCP Server(推荐)
金十数据提供了符合标准 MCP 协议的远程服务器,无需本地安装,直接通过 HTTP 调用即可。
MCP 配置:
json
{
"mcpServers": {
"jin10": {
"serverUrl": "https://mcp.jin10.com/mcp",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer sk-xxxx"
}
}
}
}
将
sk-xxxx替换为你的金十数据 API Token。
标准 MCP 接入流程:
金十数据 MCP Server 遵循标准 MCP 协议,推荐协议版本 2025-11-25。接入流程如下:
initialize → notifications/initialized → tools/list / resources/list → tools/call
数据读取约定:
- 结果读取时优先使用
result.structuredContent result.content只作为可读文本补充,不要作为主要机器解析来源- 所有列表分页统一使用:
- 请求参数:
cursor - 响应字段:
data.next_cursor - 是否还有更多:
data.has_more
- 请求参数:
已验证可用工具(7 项):
| 工具名 | 参数 | 说明 |
|---|---|---|
get_quote |
{ code } |
获取指定品种实时行情 |
list_flash |
{ cursor? } |
获取最新快讯列表 |
search_flash |
{ keyword } |
按关键词搜索快讯 |
list_news |
{ cursor? } |
获取最新资讯列表 |
search_news |
{ keyword, cursor? } |
按关键词搜索资讯 |
get_news |
{ id } |
获取单篇资讯详情 |
list_calendar |
{} |
获取财经日历数据 |
已验证可用资源:
| 资源 URI | 说明 |
|---|---|
quote://codes |
获取支持的报价品种代码列表 |
数据读取约定详解:
报价工具(get_quote)返回字段:
data.code--- 品种代码data.name--- 品种名称data.time--- 行情时间data.open--- 开盘价data.close--- 收盘价data.high--- 最高价data.low--- 最低价data.volume--- 成交量data.ups_price--- 涨跌额data.ups_percent--- 涨跌幅
快讯/资讯列表工具返回字段:
data.items--- 数据列表data.next_cursor--- 下一页游标data.has_more--- 是否还有更多
文章详情工具(get_news)返回字段:
data.id--- 文章 IDdata.title--- 标题data.introduction--- 摘要data.time--- 发布时间data.url--- 原文链接data.content--- 正文内容
财经日历工具(list_calendar)返回字段:
data为数组,每项包含:pub_time/star/title/previous/consensus/actual/revised/affect_txt
推荐调用方式:
- 查询某个品种报价 :先读取
quote://codes确认 code,再调用get_quote({ code }) - 查询某个主题的最新快讯 :调用
search_flash({ keyword });如果要顺序浏览最新流,调list_flash({}),然后按next_cursor翻页 - 查询某个主题的深度文章 :调用
search_news({ keyword })或list_news({}),拿到id后再调get_news({ id }) - 查询财经日历/本周数据 :直接调
list_calendar({})
常用品种代码示例:
| 品种代码 | 名称 |
|---|---|
XAUUSD |
现货黄金 |
XAGUSD |
现货白银 |
USOIL |
WTI 原油 |
UKOIL |
布伦特原油 |
COPPER |
现货铜 |
USDJPY |
美元/日元 |
EURUSD |
欧元/美元 |
USDCNH |
美元/人民币 |
常用关键词示例:
黄金、原油、美联储、日元、通胀、非农、日本央行、欧佩克
错误处理:
- 如果返回
isError=true,按工具业务错误处理 - 如果返回 JSON-RPC
error,按协议错误处理 - 不要传未声明参数;例如分页请传
cursor,不要再传offset
兼容性说明:
- 该服务已按严格 MCP 客户端方式验证
- 所有工具均返回
structuredContent - 列表字段统一为
data.items - 分页字段统一为
cursor / next_cursor
2.1.2 金十数据开放平台 REST API(备选)
如果你需要在非 MCP 环境(如独立 Python 脚本)中使用金十数据,也可以使用其 REST API。
申请步骤:
- 访问 金十数据开放平台 注册开发者账号
- 在控制台申请 API 访问权限,获取
secret-key - 根据文档选择所需数据类型
核心 API 接口:
| 数据类型 | 端点 | 说明 |
|---|---|---|
| 实时快讯 | /data-api/flash |
市场突发新闻、央行声明等 |
| 经济日历 | /data-api/calendar |
各国经济数据发布时间表 |
| 行情数据 | /data-api/symbols |
外汇、商品、期货、加密货币实时报价 |
| 新闻资讯 | /data-api/news |
深度分析文章 |
请求示例:
bash
curl -X POST "https://open-data-api.jin10.com/data-api/flash" \
-H "Content-Type: application/json" \
-H "secret-key: YOUR_SECRET_KEY" \
-d '{"type": "flash", "flash_type": "1"}'
参数说明:
flash_type: 快讯类型(1=重要, 2=央行, 3=地缘, 4=数据, 5=其他)calendar_type: 日历类型(cj=财经,qh=期货,hk=港股,us=美股)symbols_type: 行情类型(GOODS=商品,FOREX=外汇,FUTURE=期货,CRYPTO=加密货币)
2.2 东方财富(East Money)
东方财富是国内最大的互联网券商之一,其 MCP Server 提供了丰富的 A 股、港股、美股实时行情和技术分析能力。
2.2.1 实时股票分析 MCP Server
该项目通过东方财富网公开接口获取金融数据,无需登录或 Token,开箱即用。
项目地址: real-time-stock-mcp-service
安装方式:
bash
# 使用 uvx 直接运行(推荐)
uvx real-time-stock-mcp-service
# 或在 Claude Desktop / OpenClaw 配置文件中添加
OpenClaw 配置:
json
{
"mcpServers": {
"eastmoney-stock": {
"command": "uvx",
"args": ["real-time-stock-mcp-service"]
}
}
}
可用工具列表(34 项,覆盖 8 大模块):
| 模块 | 功能 |
|---|---|
| 股票检索 | 按名称/代码搜索股票、查询交易日 |
| 实时行情 | A/B/H 股实时报价、大盘指数、分时数据 |
| K 线数据 | 日/周/月 K 线、分钟级 K 线 |
| 技术指标 | MA、MACD、BOLL、RSI、KDJ 等 |
| 基本面 | 主营构成、经营范围、行业分类 |
| 财务分析 | 财务比率、业绩概况、利润表 |
| 估值指标 | 市盈率(PE)、市净率(PB)、市值 |
| 市场动态 | 板块行情、同行对比、资金流向、AI 智能点评 |
2.2.2 FinanceMCP-DCTHS(同花顺 + 东方财富双源)
另一个值得关注的开源项目是 FinanceMCP-DCTHS,它同时集成了同花顺和东方财富两个数据源。
安装配置:
bash
# 克隆项目
git clone https://github.com/guangxiangdebizi/FinanceMCP-DCTHS.git
cd FinanceMCP-DCTHS
# 安装依赖
pip install -r requirements.txt
# 配置 Tushare Token(可选,用于增强数据)
export TUSHARE_TOKEN="your_tushare_token"
OpenClaw 配置:
json
{
"mcpServers": {
"finance-dc-ths": {
"command": "python",
"args": ["-m", "finance_mcp_dcths"],
"env": {
"TUSHARE_TOKEN": "your_token_here"
}
}
}
}
2.2.3 AKShare MCP Server
AKShare 是一个开源的金融数据接口库,其 MCP Server 版本支持通过 MCP 协议访问东方财富、新浪财经等公开数据。
安装:
bash
# 通过 uvx 运行
uvx akshare-mcp-server
OpenClaw 配置:
json
{
"mcpServers": {
"akshare": {
"command": "uvx",
"args": ["akshare-mcp-server"]
}
}
}
2.3 Gold Price MCP(黄金价格专用)
针对黄金交易场景,ClawHub 上已有专门的 Gold Price MCP Skill,可追踪全球黄金市场即时波动。
安装:
bash
openclaw skill install gold-price-mcp
该 Skill 支持以下功能:
- 实时国际金价(XAU/USD)
- 主要货币对黄金报价
- 黄金 ETF 持仓变动
- 全球主要金市开盘状态
三、黄金交易策略设计
本节以黄金(XAU/USD)为例,设计一套基于技术指标的自动化交易信号策略,并通过 OpenClaw 定时推送。
3.1 策略核心逻辑
采用三重过滤系统,综合判断趋势方向、动能状态和价格位置:
第一层过滤:趋势判断(日线级别)
└─ MACD 判断多空方向
第二层过滤:动能判断(4小时级别)
└─ RSI 识别超买超卖
第三层过滤:入场时机(1小时级别)
└─ 布林带确定具体买卖点
3.2 技术指标参数
MACD(指数平滑异同移动平均线)
| 参数 | 值 | 说明 |
|---|---|---|
| 快线周期 | 12 | EMA 短期 |
| 慢线周期 | 26 | EMA 长期 |
| 信号线周期 | 9 | DEA 平滑 |
买入信号:
- MACD 在零轴下方形成金叉(DIF 上穿 DEA)
- 绿柱缩短转红柱,且红柱持续放大
- 价格站上布林带中轨
卖出信号:
- MACD 在零轴上方形成死叉(DIF 下穿 DEA)
- 红柱缩短转绿柱,且绿柱持续放大
- 价格跌破布林带中轨
RSI(相对强弱指数)
| 参数 | 值 | 说明 |
|---|---|---|
| 周期 | 14 | 标准设置 |
| 超买线 | 70 | RSI > 70 视为超买 |
| 超卖线 | 30 | RSI < 30 视为超卖 |
买入信号:
- RSI 从超卖区(<30)回升并突破 30
- RSI 形成底背离(价格创新低但 RSI 未创新低)
卖出信号:
- RSI 从超买区(>70)回落并跌破 70
- RSI 形成顶背离(价格创新高但 RSI 未创新高)
布林带(Bollinger Bands)
| 参数 | 值 | 说明 |
|---|---|---|
| 周期 | 20 | 中轨 SMA 周期 |
| 标准差倍数 | 2 | 上下轨距离 |
买入信号:
- 价格触及下轨后反弹,收盘价回到带内
- 布林带收口后开始张口,价格向上突破中轨
卖出信号:
- 价格触及上轨后回落,收盘价回到带内
- 布林带收口后开始张口,价格向下跌破中轨
3.3 综合信号判定规则
| 信号等级 | 条件 | 操作建议 |
|---|---|---|
| 强烈买入 | 三层过滤全部看多 | 建仓/加仓 |
| 买入 | 两层过滤看多,一层中性 | 轻仓试探 |
| 观望 | 信号矛盾或全部中性 | 持仓观望 |
| 卖出 | 两层过滤看空,一层中性 | 减仓/平仓 |
| 强烈卖出 | 三层过滤全部看空 | 清仓/做空 |
3.4 风控规则
- 止损设置: 入场价下方 1.5% 或布林带下轨下方 0.5%
- 止盈设置: 风险回报比至少 1:2,即止盈距离为止损距离的 2 倍
- 仓位管理: 单笔交易风险不超过总资金的 2%
- 时间过滤: 避开重大数据发布前后 30 分钟(如非农、CPI、美联储议息)
四、OpenClaw 飞书配置教程
4.1 飞书应用创建与配置
第一步:创建飞书企业自建应用
- 登录 飞书开放平台
- 点击「创建企业自建应用」,填写应用名称(如"金融资讯推送机器人")
- 记录凭证页面的
App ID和App Secret(后续配置需要)
第二步:配置应用权限
在应用管理后台,进入「权限管理」页面,搜索并添加以下权限:
im:message 发送消息
im:message:send_as_bot 以机器人身份发送消息
im:chat 获取群信息
im:chat:readonly 读取群信息
第三步:添加机器人能力
- 进入「应用能力」→「机器人」
- 开启机器人功能
- 设置机器人名称和头像
第四步:配置事件订阅
- 进入「事件与回调」→「事件配置」
- 将接收方式切换为 长连接模式(推荐,无需公网 IP)
- 添加事件:
im.message.receive_v1(接收消息事件)
第五步:发布应用
- 进入「版本管理与发布」
- 创建新版本,提交审核
- 审核通过后正式发布
4.2 OpenClaw 侧配置
方式一:通过阿里云控制台配置(推荐)
如果使用阿里云轻量服务器部署的 OpenClaw 实例:
- 登录阿里云控制台,进入 OpenClaw 实例管理
- 在「通道配置」区域填入:
App ID:飞书应用的 App IDApp Secret:飞书应用的 App Secret
- 确认配置,等待通道连接成功
方式二:通过命令行配置
bash
# 配置飞书通道
openclaw channel add feishu \
--app-id "cli_xxxxxxxxxxxxx" \
--app-secret "your_app_secret"
4.3 机器人配对与入群
- 在飞书群聊设置中,添加刚创建的机器人到群
- 向机器人发送任意消息触发配对
- 在 OpenClaw WebUI 或终端执行配对确认:
bash
# 查看待处理的配对请求
openclaw pairing list feishu
# 批准配对
openclaw pairing approve feishu PAIRING_CODE
4.4 获取飞书群 Webhook 地址(用于定时任务推送)
定时任务推送需要独立的 Webhook 地址:
- 打开目标飞书群聊
- 进入群设置 → 群机器人 → 添加机器人 → 自定义机器人
- 设置机器人名称(如"资讯推送")
- 复制生成的 Webhook 地址 (格式:
https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxx) - 可选:设置安全签名(推荐开启)
4.5 创建定时推送任务
方式一:通过自然语言创建(推荐)
直接在 OpenClaw 对话中输入:
帮我创建一个定时任务:
- 每天早上 9:00(北京时间)执行
- 获取金十数据最新财经快讯和黄金实时价格
- 结合 MACD、RSI、布林带指标分析黄金走势
- 如果有买入或卖出信号,标注信号等级
- 将结果推送到飞书群,Webhook 地址是:https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxx
方式二:通过命令行创建
bash
# 创建每日早9点黄金资讯推送任务
openclaw cron add \
--name "黄金资讯早报" \
--cron "0 9 * * *" \
--tz "Asia/Shanghai" \
--session isolated \
--wake now \
--channel feishu \
--to "chat:oc_xxxxxxxxxxxxx" \
--message "获取金十数据最新财经快讯,查询黄金(XAU/USD)实时价格和技术指标(MACD、RSI、布林带),综合分析后生成黄金交易信号报告,推送到飞书群" \
--announce
关键参数说明:
| 参数 | 说明 |
|---|---|
--cron |
Cron 表达式,"0 9 * * *" 表示每天 9:00 |
--tz |
时区,必须设为 "Asia/Shanghai" 否则默认 UTC 会偏差 8 小时 |
--session isolated |
隔离会话,避免与主任务上下文冲突 |
--wake now |
时间到达后立即执行,防止心跳延迟 |
--channel feishu |
指定推送渠道为飞书 |
--to |
目标地址,群聊用 chat:oc_xxx,个人用 user:ou_xxx |
--announce |
激活主动消息推送 |
方式三:创建盘中实时监控任务
如果需要更高频的监控(如每 30 分钟):
bash
openclaw cron add \
--name "黄金盘中监控" \
--cron "*/30 9-16 * * 1-5" \
--tz "Asia/Shanghai" \
--session isolated \
--wake now \
--channel feishu \
--to "chat:oc_xxxxxxxxxxxxx" \
--message "查询黄金(XAU/USD)当前价格和技术指标,判断是否触发买入/卖出信号,如有信号立即推送告警" \
--announce
4.6 定时任务管理
bash
# 查看所有定时任务
openclaw cron list
# 手动触发某个任务立即执行
openclaw cron run <job-id>
# 暂停某个任务
openclaw cron disable <job-id>
# 恢复某个任务
openclaw cron enable <job-id>
# 删除某个任务
openclaw cron remove <job-id>
# 查看任务执行历史
openclaw cron runs
4.7 推送消息格式示例
OpenClaw 自动推送的飞书消息示例:
📊 黄金交易信号日报 | 2026-04-01 09:00
━━━━━━━━━━━━━━━━━━━━
💰 实时行情
现价: $3,285.60/盎司
涨跌: +$12.30 (+0.38%)
日内高: $3,292.10
日内低: $3,271.50
📈 技术指标分析
【MACD 日线】DIF: 15.2, DEA: 12.8, 红柱放大 → 偏多 ✓
【RSI 4H】 RSI(14): 58 → 中性 -
【布林带 1H】价格在中轨上方运行,通道微张口 → 偏多 ✓
🔔 信号判定: 买入(2/3 偏多)
建议: 轻仓试探,止损 $3,265,目标 $3,315
📰 重要快讯
• 美联储官员讲话暗示降息节奏可能放缓
• 地缘局势升温,避险情绪支撑金价
• 今日关注: 美国 ADP 就业数据(20:15)
⚠️ 风险提示: 本信号仅供参考,不构成投资建议
━━━━━━━━━━━━━━━━━━━━
五、完整实战示例
5.1 配置文件汇总
以下是完整的 OpenClaw 配置示例(~/.openclaw/config.json):
json
{
"mcpServers": {
"jin10": {
"serverUrl": "https://mcp.jin10.com/mcp",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer sk-your_jin10_token"
}
},
"eastmoney-stock": {
"command": "uvx",
"args": ["real-time-stock-mcp-service"]
},
"gold-price": {
"command": "npx",
"args": ["-y", "gold-price-mcp"]
}
},
"channels": {
"feishu": {
"enabled": true,
"appId": "cli_xxxxxxxxxxxxx",
"appSecret": "your_app_secret"
}
}
}
5.2 策略脚本示例
以下是一个完整的黄金分析脚本,可被 OpenClaw 定时任务调用:
python
#!/usr/bin/env python3
"""
黄金交易信号分析脚本
配合 OpenClaw 定时任务使用,输出格式化的交易信号报告
使用金十数据官方 MCP Server 获取数据
"""
import requests
import json
from datetime import datetime
# ===== 配置区 =====
JIN10_MCP_URL = "https://mcp.jin10.com/mcp"
JIN10_TOKEN = "sk-your_token_here"
FEISHU_WEBHOOK = "https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxx"
# 技术指标阈值
RSI_OVERBOUGHT = 70
RSI_OVERSOLD = 30
def call_jin10_mcp(method, params):
"""调用金十数据 MCP 工具"""
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {JIN10_TOKEN}"
}
payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": method,
"arguments": params
}
}
try:
response = requests.post(JIN10_MCP_URL, headers=headers, json=payload)
result = response.json()
# 优先使用 structuredContent
if "result" in result and "structuredContent" in result["result"]:
return result["result"]["structuredContent"]
# 降级使用 content
if "result" in result and "content" in result["result"]:
return result["result"]["content"]
return None
except Exception as e:
print(f"MCP 调用失败: {e}")
return None
def get_gold_price():
"""获取黄金实时价格(通过金十数据 MCP get_quote 工具)"""
result = call_jin10_mcp("get_quote", {"code": "XAUUSD"})
if result and "data" in result:
data = result["data"]
return {
"name": data.get("name", "现货黄金"),
"code": data.get("code", "XAUUSD"),
"price": data.get("close", 0),
"open": data.get("open", 0),
"high": data.get("high", 0),
"low": data.get("low", 0),
"change": data.get("ups_price", 0),
"change_pct": data.get("ups_percent", 0),
"time": data.get("time", "")
}
return None
def get_flash_news():
"""获取最新财经快讯(通过金十数据 MCP list_flash 工具)"""
result = call_jin10_mcp("list_flash", {})
if result and "data" in result and "items" in result["data"]:
return result["data"]["items"][:5] # 取最新5条
return []
def get_calendar():
"""获取财经日历(通过金十数据 MCP list_calendar 工具)"""
result = call_jin10_mcp("list_calendar", {})
if result and "data" in result:
return result["data"]
return []
def analyze_signals(price_data):
"""
综合技术分析,生成交易信号
实际项目中应接入东方财富 MCP 获取详细技术指标
此处为简化示例
"""
signals = {"bullish": 0, "bearish": 0, "neutral": 0}
details = []
if not price_data:
return "观望", signals, ["数据获取失败"]
price = price_data["price"]
change_pct = price_data["change_pct"]
# 模拟 MACD 分析(实际应通过 MCP 获取真实指标)
macd_signal = "偏多" if change_pct > 0 else "偏空"
if macd_signal == "偏多":
signals["bullish"] += 1
else:
signals["bearish"] += 1
details.append(f"MACD: {macd_signal}")
# 模拟 RSI 分析
# 实际应通过 MCP 获取 RSI(14) 值
if change_pct > 1.0:
rsi_signal = "超买风险"
signals["bearish"] += 1
elif change_pct < -1.0:
rsi_signal = "超卖机会"
signals["bullish"] += 1
else:
rsi_signal = "中性"
signals["neutral"] += 1
details.append(f"RSI: {rsi_signal}")
# 模拟布林带分析
boll_signal = "偏多" if change_pct > 0.2 else ("偏空" if change_pct < -0.2 else "中性")
if boll_signal == "偏多":
signals["bullish"] += 1
elif boll_signal == "偏空":
signals["bearish"] += 1
else:
signals["neutral"] += 1
details.append(f"布林带: {boll_signal}")
# 综合判定
if signals["bullish"] >= 3:
level = "强烈买入"
elif signals["bullish"] >= 2:
level = "买入"
elif signals["bearish"] >= 3:
level = "强烈卖出"
elif signals["bearish"] >= 2:
level = "卖出"
else:
level = "观望"
return level, signals, details
def send_to_feishu(message):
"""发送消息到飞书群"""
payload = {
"msg_type": "interactive",
"card": {
"header": {
"title": {"tag": "plain_text", "content": "📊 黄金交易信号日报"},
"template": "blue"
},
"elements": [
{
"tag": "markdown",
"content": message
}
]
}
}
try:
response = requests.post(FEISHU_WEBHOOK, json=payload)
return response.status_code == 200
except Exception as e:
print(f"飞书推送失败: {e}")
return False
def build_report():
"""构建完整的分析报告"""
now = datetime.now().strftime("%Y-%m-%d %H:%M")
# 获取数据
gold = get_gold_price()
news = get_flash_news()
calendar = get_calendar()
signal_level, signals, details = analyze_signals(gold)
# 构建报告
report = f"**更新时间**: {now}\n\n"
if gold:
report += f"**实时行情**\n"
report += f"品种: {gold['name']} ({gold['code']})\n"
report += f"现价: ${gold['price']:,.2f}/盎司\n"
report += f"涨跌: {gold['change']:+.2f} ({gold['change_pct']:+.2f}%)\n"
report += f"开盘: ${gold['open']:,.2f} | 日内高: ${gold['high']:,.2f} | 日内低: ${gold['low']:,.2f}\n"
report += f"行情时间: {gold['time']}\n\n"
report += f"**技术指标**\n"
for d in details:
report += f"• {d}\n"
report += f"\n**信号判定**: {signal_level}(多:{signals['bullish']} 空:{signals['bearish']} 中:{signals['neutral']})\n\n"
if news:
report += f"**重要快讯**\n"
for n in news:
title = n.get("title", n.get("content", ""))
time_str = n.get("time", "")
report += f"• [{time_str}] {title[:60]}\n"
if calendar:
report += f"\n**今日财经日历**\n"
for item in calendar[:5]:
title = item.get("title", "")
actual = item.get("actual", "-")
consensus = item.get("consensus", "-")
previous = item.get("previous", "-")
report += f"• {title} | 前值:{previous} 预期:{consensus} 实际:{actual}\n"
report += "\n⚠️ 风险提示: 本信号仅供参考,不构成投资建议"
return report
if __name__ == "__main__":
report = build_report()
print(report)
# 推送到飞书
success = send_to_feishu(report)
if success:
print("\n✅ 飞书推送成功")
else:
print("\n❌ 飞书推送失败")
5.3 在 OpenClaw 中配置完整任务
将上述脚本保存后,在 OpenClaw 中创建定时任务:
bash
openclaw cron add \
--name "黄金交易信号自动推送" \
--cron "0 9 * * 1-5" \
--tz "Asia/Shanghai" \
--session isolated \
--wake now \
--channel feishu \
--to "chat:oc_xxxxxxxxxxxxx" \
--message "执行黄金交易信号分析脚本,获取金十数据实时金价和快讯,结合技术指标生成交易信号报告并推送到飞书群" \
--announce
六、注意事项与最佳实践
6.1 定时任务常见坑点
- 时区问题 :
--tz参数必须设为"Asia/Shanghai",否则默认 UTC 会导致推送时间偏差 8 小时 - Payload 类型 :必须使用
"kind": "agentTurn",不能使用"systemEvent" - 通道指定 :如果配置了多个推送渠道(企微、飞书、钉钉),必须在 cron 中通过
--channel明确指定 - 目标地址格式 :群聊用
chat:oc_xxx,个人用user:ou_xxx,格式错误会导致推送失败
6.2 数据源注意事项
- 金十数据 MCP 协议 :官方 MCP Server 遵循标准 MCP 协议,所有工具调用优先读取
result.structuredContent,result.content仅作补充 - 分页参数 :金十数据 MCP 统一使用
cursor分页,不要传offset等未声明参数 - 品种代码确认 :查询报价前建议先读取
quote://codes资源确认品种代码,避免传错 code - API 频率限制:金十数据 API 有调用频率限制,建议快讯接口调用间隔不低于 5 分钟
- 数据延迟:免费 API 可能存在 1-3 分钟延迟,不适合高频交易场景
- 免责声明:所有推送内容应包含"仅供参考,不构成投资建议"的风险提示
6.3 安全建议
- Webhook 安全:飞书自定义机器人建议开启签名校验,防止 Webhook 地址泄露后被滥用
- 密钥管理:API Secret Key 不要硬编码在脚本中,建议使用环境变量或密钥管理服务
- 权限最小化:飞书应用只申请必要的权限,不要过度授权
七、扩展方向
- 多品种监控:扩展到外汇(EUR/USD)、原油(WTI)、主要股指等品种
- 智能止损提醒:当持仓品种价格触及止损线时,立即推送告警
- 周/月报自动生成:利用 OpenClaw 的长文本能力,每周自动生成交易周报
- 回测集成:结合历史数据 MCP,在推送信号的同时展示该策略的历史胜率
- 多通道推送:同时推送到飞书群、企业微信群、个人钉钉,确保不错过重要信号
八、参考资源
- 金十数据官方 MCP Server --- 标准 MCP 协议,Bearer Token 认证
- 金十数据开放平台 --- REST API 备选方案
- OpenClaw 集成飞书官方文档
- 东方财富实时股票 MCP Server
- FinanceMCP-DCTHS 项目
- OpenClaw 定时任务踩坑指南
- OpenClaw 定时推送财经热点实战
免责声明:本文所述策略和信号仅供技术学习和参考,不构成任何投资建议。金融市场存在风险,实际交易请结合自身风险承受能力并咨询专业投资顾问。