zoukankan      html  css  js  c++  java
  • vnpy交易学习接口(2)

    #来源于github下载vnpy版本  20180413

    11、多投资标的情况下,该如何修改?

    10、stop和limit报单有什么区别呢?

     在交易时用得最多的是二类定单,第一类是市价单(Market Order),就是用市场现在的报价成交,这类定单非常简单易懂,不需要多作解释,但第二类的定单相对比较复杂一点,它包括二种定单,一种是限价单,一种是止损单。
           限价单和止损单都属于挂单,也就是用市场以后可能会出现的价格成交,如果设定的价格不出现则不成交,一旦设定的价格出现,挂单就自动转成市价单而成交。

    9、哪里可以看到成交明细?

    8、

    这里是不是写的有问题?是不是应该小于等于?

    7、最后一根bar的时候是如何停止的?

    解答:最后一根bar出来,如果产生交易信号,会存到限价单或者停止单字典中,没有下一个bar出来,就不会交易。

    6、ctaBacktesting.py中的self.workingStopOrderDict和self.workingLimitOrderDict是如何来的?

     解答:是在回测引擎ctaBacktesting.py 的 sendorder() / sendStopOrder()方法倒数第二行代码添加进去的,即这个bar产生信号,把order信号保存进self.limitOrderDict或者self.stopOrderDict字典中。

    self.limitOrderDict[orderID]=order
     或者
    self.workingStopOrderDict[stopOrderID]=so

    5、运行strategyMultiSignal.py时出错:

    Traceback (most recent call last):
      File "E:/vnpy0419/examples/CtaBacktesting/runBacktesting.py", line 42, in <module>
        engine.initStrategy(RsiSignal, d)
      File "E:vnpy0419vnpy	raderappctaStrategyctaBacktesting.py", line 285, in initStrategy
        self.strategy = strategyClass(self, setting)
    TypeError: __init__() takes 1 positional argument but 3 were given

    解决: 暂时放弃

    4、运行时出错:

      File "E:vnpy0419vnpy	raderappctaStrategyctaBacktesting.py", line 304, in crossLimitOrder
        for orderID, order in self.workingLimitOrderDict.items():
    RuntimeError: OrderedDict mutated during iteration

    修改为:

            workingLimitOrderDictCopy=self.workingLimitOrderDict.copy()
            for orderID, order in workingLimitOrderDictCopy.items():

    3、运行strategyAtrRsi策略是出错

      File "E:vnpy0419vnpy	raderappctaStrategyctaBacktesting.py", line 566, in cancelAll
        for stopOrderID in self.workingStopOrderDict.keys():
    RuntimeError: dictionary changed size during iteration

    修改:

    原来:for stopOrderID in self.workingStopOrderDict.keys():
    修改为: for stopOrderID in list(self.workingStopOrderDict.keys()):      

    2、运行runBacktesting.py出错

      File "E:vnpy0419vnpy	raderappctaStrategyctaBacktesting.py", line 839, in <lambda>
        tradeTimeIndex = map(lambda i: tradeTimeIndex[i], xindex)
    TypeError: 'map' object is not subscriptable

    修改为:tradeTimeIndex=list(map(lambda i : tradeTimeIndex[i], xindex))

    1、运行runBacktesting.py出错。

      File "E:vnpy0419vnpy	raderappctaStrategyctaBacktesting.py", line 374, in crossStopOrder
        for stopOrderID, so in self.workingStopOrderDict.items():
    RuntimeError: dictionary changed size during iteration

    解决: 修改为

            # 遍历停止单字典中的所有停止单
            workingStopOrderDictCopy=self.workingStopOrderDict.copy()
            for stopOrderID, so in workingStopOrderDictCopy.items():
  • 相关阅读:
    EF异常:对一个或多个实体的验证失败
    申请一个带表情的个性网站
    第01周学习提升:测试理论及功能测试------测试理论
    学习方向:先学习自动化。
    从0开始学习性能测试
    【CI/CD】使用Jenkins部署VUE项目到windows服务器_配置Jenkins通过SSH连接windows server机器(3)
    【CI/CD】使用Jenkins部署VUE项目到windows服务器_配置Jenkins拉取git代码(2)
    【CI/CD】使用Jenkins部署VUE项目到windows服务器_任务调研+Jenkins安装(1)
    【CI/CD】使用Jenkins部署VUE项目到windows服务器_配置Jenkins项目(4)
    【CI/CD】Jenkins部署项目后发送邮件配置
  • 原文地址:https://www.cnblogs.com/bawu/p/8882658.html
Copyright © 2011-2022 走看看