#来源于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:\vnpy0419\vnpy\trader\app\ctaStrategy\ctaBacktesting.py", line 285, in initStrategy
self.strategy = strategyClass(self, setting)
TypeError: __init__() takes 1 positional argument but 3 were given

解决: 暂时放弃

4、运行时出错:

  File "E:\vnpy0419\vnpy\trader\app\ctaStrategy\ctaBacktesting.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:\vnpy0419\vnpy\trader\app\ctaStrategy\ctaBacktesting.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:\vnpy0419\vnpy\trader\app\ctaStrategy\ctaBacktesting.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:\vnpy0419\vnpy\trader\app\ctaStrategy\ctaBacktesting.py", line , 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():

vnpy交易学习接口(2)的更多相关文章

  1. vnpy交易接口学习

    1.按照github中环境准备要求,配置好环境要求. https://github.com/vnpy/vnpy mongdb安装在D:\Program Files\MongoDB\Server\3.4 ...

  2. 从scanf的学习接口设计

    对大多数程序员来说scanf可以能是最熟悉,也是陌生的工具.在学习C语言时,大家一定没少用它,但是对它也知道不多.比如说,它有哪些可能的返回值?又比如怎么样才能跳过回车,读一个字符?我们可以一起来研究 ...

  3. Java基础学习 -- 接口

    interface是一种特殊的class 接口是纯抽象类 所有的成员函数都是抽象函数: 所有的成员变量都是public static final; 接口是为了方便类的调用 一个类如果要去实现某个接口, ...

  4. Java学习----接口

    1. interface关键字 2. 接口中的方法全部是抽象方法,不能被实例 3. 接口中的成员变量: public static final 4. 当子类实现接口的时候,必须覆盖接口中所有的方法 / ...

  5. Java学习——接口Interface

    接口: 初期理解可以认为是一个特殊的抽象类 当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示.class用于定义类interface 用于定义接口 接口定义时,格式特点:1,接口中常量见定 ...

  6. C#学习-接口与抽象类

    接口与抽象类的区别 1.抽象类中可以包含虚方法.非抽象方法和静态成员: 当接口中不能包含虚方法和任何静态成员,并且接口中只能定义方法,不能有具体事项,方法的具体实现由实现类完成. 2.抽象类不能实现多 ...

  7. C#学习-接口的成员

    在接口中定义方法不能添加任何访问修饰符,因为接口中的方法是默认为public,如果显式地指定了修饰符,则会出现编译时错误. 定义玩接口之后,如果有类想继承该接口,则它必须显示接口中定义的所有方法. 在 ...

  8. C#学习-接口

    众所周知,电脑有拍照和播放光碟的功能. 现在有一个TakingPhoto类,它提供了拍照的功能:还有一个PlayVCD类,它提供了播放光碟的功能. 电脑同时具有着两个类提供的功能,因此我们希望定义一个 ...

  9. go语言学习-接口

    Go语言中虽然没有传统面向对象语言中类.集成的概念,不过提供了接口的支持,可以使用接口来使用一些面向对象的特性. 在 go 语言中,的接口有下面几个特点: 可以包含0个或多个方法的签名 只定义方法的签 ...

随机推荐

  1. Sqlserver 基本面试题

    一 单词解释(2分/个) 34分 Data 数据 Database 数据库 RDBMS 关系数据库管理系统 GRANT 授权 REVOKE 取消权限 DENY 拒绝权限 DECLARE 定义变量 PR ...

  2. redis5.5官方文档

    https://www.cnblogs.com/zsl-find/articles/11780974.html 博客 https://redis.io/topics/cluster-tutorial ...

  3. PostGIS 常用函数中文介绍说明

    1.OGC标准函数 管理函数: 添加几何字段 AddGeometryColumn(, , , , , ) 删除几何字段 DropGeometryColumn(, , ) 检查数据库几何字段并在geom ...

  4. POJ 3050 Hopscotch 四方向搜索

    Hopscotch Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6761   Accepted: 4354 Descrip ...

  5. 设备树DTS 学习:2-设备树语法

    背景 通过上一讲了解完设备树DTS有关概念,我们这一讲就来基于设备树例程,学习设备树的语法规则. 参考:设备树详解dts.设备树语法详解.设备树使用总结 设备树框架 1个dts文件 + n个dtsi文 ...

  6. CC26XX开发

    [CC26XX开发] 2016-01-26 [CC2650 入门] CC2650 sensortag入门 http://processors.wiki.ti.com/index.php/CC2650_ ...

  7. linux网络编程之shutdown() 与 close()函数详解

    linux网络编程之shutdown() 与 close()函数详解 参考TCPIP网络编程和UNP: shutdown函数不能关闭套接字,只能关闭输入和输出流,然后发送EOF,假设套接字为A,那么这 ...

  8. Golang gin开源实例——表设计

    UML Model 基本模型定义 type Model struct { ID int `gorm:"primary_key" json:"id"` Creat ...

  9. 【转】转帖并注释:Java中的事件处理机制--事件监听器的四种实现方式

    原文地址:http://blog.sina.com.cn/s/blog_4b650d650100nqws.html Java中四种事件监听器的实现方式分别为: 自身类做为事件监听器 外部类作为事件监听 ...

  10. windows搭建安装react-native环境

    在win10环境下,利用Genymotion模拟器,配置react-native的环境. 一.安装JDK 在网上下载jdk,版本最好是1.8以上.安装后要对环境变量进行配置. 同时在 Path 中配置 ...