【点击】传送门-加入 从0到1跑通量化交易 >>>>

<限前500名加入量化训练营>
马上添加助教微信(jwzhujiao2)
发送订单截图申请名额

提要

  • 收到K线推送后的三步
  • 为什么先“生成交易指令”再“计算技术指标”?
  • generateSignal函数,分成三块:初始化检查、平仓撮合、开仓和加仓撮合
  • buy、sell、short、cover这四个交易函数内部的实现
  • 知识点导图

    内容摘录

    在上一集里面我们已经讲到主要的海龟信号的驱动函数是onBar函数,那么收到K线的推送之后:

    • 第一步是更新到我们的ArrayManager(K线的时间序列缓存容器)里面;
    • 第二步是调用我们这里的generateSignal,也就是这一集里面我们重点讲的内容生成买卖指令
    • 但是我们在上一集里面先跳过了它,讲了后面的第三步calculateIndicator计算下一根K线的技术指标值。

    在逻辑上讲,你当然是要先计算出了相应的技术指标值之后,才能去和新来的K线做撮合,然后生成买卖指令。

    但是在实盘运行的过程中,因为我们是永远是用上一根K线的时候计算出来的技术指标值和这一根K线来做撮合,那么只有这样才是符合逻辑的,才不会造成未来函数。

    generateSignal函数,分成三块

    那么在这一集里面,我们就重点来讲generateSignal:def generateSignal(self,bar):唯一的输入参数其实也就是K线的对象了,就是这个bar的对象。代码上可能稍微多一点,比起之前函数可能长一些,有几十行,但是整体上从逻辑上如果你要分的话也就是三块:

    • 检查初始化
    • 平仓撮合
    • 开仓和加仓撮合

    ……