zoukankan      html  css  js  c++  java
  • 【零基础】极星量化入门十一:远程遥控的简单办法

    一、前言

      前面实现了通过微信公众号推送重要消息,又有童鞋问了,那能不能通过微信对策略进行遥控呢?比如启动、暂停、停止等等?

      百度了下,在前两年是可以做到的,如果有一定的编程基础通过微信公众号也是可以做的,但是玩量化的童鞋大部分都不是土生的程序员,所以搞太复杂不行。

      于是我就想了个比较“土”,但也比较容易实现的办法。

      简单来说:

        1)你得有个博客,或者任何你可以修改编辑的‘网页’。

        2)在极星量化中,通过requests模块,依然是GET上面说的“你可以修改的页面”

        3)现在你就可以在极星量化中使用requests读取到“你可以修改的页面”内容,你可以写个“启动”,然后代码就执行启动,写个“停止”,代码就执行停止

    二、实现

      1、找一个可以修改的网页

      这一步最重要,很多童鞋可能会想不明白的是,极星量化的代码执行怎么跟一个网页关联起来呢?其实有点基础的童鞋就会知道requests可以读取网页上的内容,所以你如果可以修改某个页面的内容,再通过requests去读取,最后在极星量化代码执行前做一个判断,那不就很容易实现了“遥控”?

      这里我就用自己的博客,页面链接如下

      https://www.cnblogs.com/cation/p/12663703.html

      我已经写好了一个暗语,需要注意的是,由于博客类网站的页面内容比较复杂,保不齐就出现了“启动”、“停止”这一类词,所以你的暗语最好是复杂点的,比如我这个就很复杂:

       而且保不齐有热心人在后面加评论,把你的量化搞瘫就不好了,所以停止的暗语最好不要跟启动的暗语相似,比如我们可以用:

      叽里咕噜呱“停止”!

      又或者你可以随便写一些迷惑性强的,比如:

      小明吃了三个汉堡啥的

      2、代码执行前做判断

      现在我们已经准备好了暗语的页面,接着就简单做一下判断就好了,我们知道极星量化里行情每一次触发就执行一次handle_data函数,所以handle_data里就是执行量化策略的地方,那么暗语判断就放在handle_data最前面即可。

      

      3、运行效果和问题

      运行策略后,一开始日志输出的是“这里执行策略”,当我将博客的内容修改为“叽里咕噜呱“停止”!”时,下一次触发handle_data输出的就是“策略停止”了。

      这个办法固然是非常简单了,但是也有个缺陷,那就是网站可能并不允许你太过高频的访问。使用requests每一次获取页面的内容,对于网站来说就是一次访问,有些网站可能会限制日访问次数(具体多少谁也不知道)。所以如果你的策略频率比较高(比如几秒钟一次),那还是不要使用这个办法。如果是5分钟或以上的策略,一般的网站就不会有太多限制。

      其次保不齐这些网站自己出现故障访问不了,所以你也可以考虑多准备几个网站,做多次的判断,确保OK。

       有一点基础的童鞋还可以租个服务器搞个WEB服务来做类似的事情,不过自己租服务器可能还不如多找几个博客备着呢。

    三、回顾

      这一节用一个简单的办法实现了远程控制极星量化代码的运行,除了启动、停止,其实还可以做更多的应用,这就需要你发动脑神经了。结合前一节“将重要信息推送到微信”,我们就实现了一个通知->控制->通知的闭环。有时候策不策略的不说,这种小应用挺有意思的。

      示例的代码:

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

  • 相关阅读:
    ajax异步更新的理解
    Java 中的匿名内部类
    Java 中的方法内部类
    Java 中的静态内部类
    Java 中的成员内部类
    Java 中的 static 使用之静态方法(转)
    构造方法
    成员变量与局部变量的区别
    script标签属性sync和defer
    jsonp原理
  • 原文地址:https://www.cnblogs.com/cation/p/12663959.html
Copyright © 2011-2022 走看看