【零基础】极星量化入门十:将重要事件推送到微信

一、前言

  经常有童鞋担心量化要是运行着挂了怎么办,程序崩溃了怎么办,策略错误疯狂开仓怎么办,有没有什么办法让策略给我发消息呢?

  办法自然是有的,python无所不能嘛。其实很简单,一段代码就搞定了。

二、原理

  微信公众号(服务号)有一个功能就是向用户主动推送消息,一般来说要实现这个功能你得有一个公众号,还得认证企业、认证服务号,还得有个服务器、域名XXXX,反正就是很麻烦还得花钱。

  不过互联网时代只要你多百度总能找到更好的解决方案,所以今天隆重介绍ServerChan这个服务,作者完成了前面所述的全部困难工作,我们剩下的工作就只是调用一行代码即可(而且不要钱):

requests.get('https://sc.ftqq.com/'+SCKEY+'.send?text='+text+'&desp='+desp)

  这是利用了python的一个叫requests的模块,模拟了一次GET访问,访问的就是https://sc.ftqq.com/XXX这个URL。其中SCKEY是你在ServerChan上申请的KEY,text和desp是你向微信推送的消息内容。

三、准备工作

  1、绑定微信

  http://sc.ftqq.com/3.version

  首先你得在ServerChan(上面的链接)注册一个账户,然后将你的微信和ServerChan的公众号绑定,接着你会得到一个SCKEY,大概长这样:

 

  你可以直接在这个页面体验一下微信推送(当然这也是一个web版的消息推送渠道)。

  2、推送限制

  推送自然是不可能让你无限制狂发的(服务器受不了、微信也不会让你发太多),限制如下:

 

四、功能实现

  如果只是简单的调用一行代码做个范例那不是我的性格,所以我还是使用了BOLL指标做了个范例,并且根据发送规则封装了一个sendWX函数,可以帮助你自动处理发送间隔、日发送限制的问题。

  1、初始化

  初始化这里增加了关于时间的保存,一个是当前“时间”用以留作后面做时间比较,另一个是记录下当前“日期”,后面也是做比较,当日期变化时我们好知道隔日了,又可以多发500条消息了。

 

  我在最前面定义了一些参数对消息发送做了限制,都注释好了。

 

   2、消息发送函数

  使用时,text是消息的标题,建议将具体内容就写到这里。desp是消息的正文,你可以写一些详细的描述,最好像我那要将这是第几条消息表述在这里(避免短时间内发送重复内容)。

 

   3、调用消息推送

  消息推送只需要简单的调用sendWX即可,你可以将它放在需要提醒的地方,或者也可以每隔几分钟调用一次,提醒自己程序还没崩溃。

 

五、回顾

  这节我们实现了从量化系统中向微信推送消息,那么有没有可能在微信或web中向量化系统推送消息呢?比如远程关闭、暂停或启动策略?肯定是可以的,不过我现在还没百度,这些内容留到以后再说吧。

  示例代码:

https://share.weiyun.com/5ljg1xJ

 

posted @ 2020-03-26 21:25  布兰姥爷  阅读(645)  评论(0编辑  收藏  举报