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():
  • 相关阅读:
    Java核心技术 卷一 笔记四 库类的直接使用
    Java核心技术 卷一 笔记三 大数值及数组
    Java核心技术 卷一 笔记2 字符串的复制
    Java核心技术 卷一 笔记1
    修改css 样式后, hover事件 不生效
    修改 element ui input 输入框 样式不生效问题
    css3 计算属性
    Vue3 改动系列
    浏览器实现,向下滑动 鼠标滚轮,页面横向移动
    linux ceont0s7 vue 打包压缩图片 一直报错
  • 原文地址:https://www.cnblogs.com/bawu/p/8882658.html
Copyright © 2011-2022 走看看