3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 量化交易平台中,你可以使用内置的 set_email_info 函数来配置邮件发送功能。当策略在交易过程中发生报错终止时,系统会自动向你配置的邮箱发送提示邮件。
根据 ptrade API 文档,目前系统仅支持设置 QQ 邮箱,并且发送方与接收方必须是同一个邮箱地址。
set_email_info(email_address, smtp_code, email_subject)
12345678@qq.com)。【PTrade量化-策略异常提醒】)。def initialize(context):
g.security = "600570.SS"
set_universe(g.security)
# 设置邮件信息,当策略异常终止时会触发发送
is_success = set_email_info("你的QQ号@qq.com", "你的SMTP授权码", "【PTrade实盘-策略异常终止提醒】")
log.info("邮件配置状态: %s" % is_success)
def before_trading_start(context, data):
# 模拟一个异常来测试邮件发送
# raise BaseException("测试发送报错邮件")
pass
def handle_data(context, data):
pass
[Errno-2] Name or service not known?如果你在配置或触发邮件发送时遇到了 [Errno-2] Name or service not known 错误,这通常不是你的代码写错了,而是运行环境的网络限制导致的。
这个错误是一个底层的 DNS 解析错误。当 ptrade 尝试连接 QQ 邮箱的 SMTP 服务器(通常是 smtp.qq.com)时,它需要将这个域名解析为 IP 地址。如果解析失败,就会报这个错。
在量化实盘交易中,券商为了保证交易系统的绝对安全,通常会将 ptrade 所在的服务器部署在严格隔离的内网环境中。这意味着服务器无法访问外部的互联网(外网),自然也就无法解析 smtp.qq.com 的域名,从而导致邮件发送失败。
smtp.qq.com 的网络白名单或 DNS 解析权限。send_qywx,前提是券商支持并配置了相关通道),或者通过轮询本地日志文件的方式在外部监控策略状态。