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:\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)的更多相关文章
- vnpy交易接口学习
1.按照github中环境准备要求,配置好环境要求. https://github.com/vnpy/vnpy mongdb安装在D:\Program Files\MongoDB\Server\3.4 ...
- 从scanf的学习接口设计
对大多数程序员来说scanf可以能是最熟悉,也是陌生的工具.在学习C语言时,大家一定没少用它,但是对它也知道不多.比如说,它有哪些可能的返回值?又比如怎么样才能跳过回车,读一个字符?我们可以一起来研究 ...
- Java基础学习 -- 接口
interface是一种特殊的class 接口是纯抽象类 所有的成员函数都是抽象函数: 所有的成员变量都是public static final; 接口是为了方便类的调用 一个类如果要去实现某个接口, ...
- Java学习----接口
1. interface关键字 2. 接口中的方法全部是抽象方法,不能被实例 3. 接口中的成员变量: public static final 4. 当子类实现接口的时候,必须覆盖接口中所有的方法 / ...
- Java学习——接口Interface
接口: 初期理解可以认为是一个特殊的抽象类 当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示.class用于定义类interface 用于定义接口 接口定义时,格式特点:1,接口中常量见定 ...
- C#学习-接口与抽象类
接口与抽象类的区别 1.抽象类中可以包含虚方法.非抽象方法和静态成员: 当接口中不能包含虚方法和任何静态成员,并且接口中只能定义方法,不能有具体事项,方法的具体实现由实现类完成. 2.抽象类不能实现多 ...
- C#学习-接口的成员
在接口中定义方法不能添加任何访问修饰符,因为接口中的方法是默认为public,如果显式地指定了修饰符,则会出现编译时错误. 定义玩接口之后,如果有类想继承该接口,则它必须显示接口中定义的所有方法. 在 ...
- C#学习-接口
众所周知,电脑有拍照和播放光碟的功能. 现在有一个TakingPhoto类,它提供了拍照的功能:还有一个PlayVCD类,它提供了播放光碟的功能. 电脑同时具有着两个类提供的功能,因此我们希望定义一个 ...
- go语言学习-接口
Go语言中虽然没有传统面向对象语言中类.集成的概念,不过提供了接口的支持,可以使用接口来使用一些面向对象的特性. 在 go 语言中,的接口有下面几个特点: 可以包含0个或多个方法的签名 只定义方法的签 ...
随机推荐
- Spring事务原理分析-部分二
Spring事务原理分析-部分二 说明:这是我在蚂蚁课堂学习了余老师Spring手写框架的课程的一些笔记,部分代码代码会用到余老师的课件代码.这不是广告,是我听了之后觉得很好. 课堂链接:Spring ...
- struts2--通配符映射
1.通配符映射: --规则: > 1)若找到多个匹配,没有通配符的优先: > 2)若指定动作不存在,struts2将会尝试把这个URI与任何一个包含着通配符*的动作名进行匹配: > ...
- mabatis--查询缓存
1.mybatis提供查询缓存,用于减轻数据库压力,提高数据库性能. 2.mybatis提供一级缓存.二级缓存: 3.一级缓存是SqlSession级别的缓存.在SqlSession对象中,存在一个数 ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:"text-muted" 类的文本样式
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- gym 101911
A. Coffee Break 题意:每天有m小时,你喝咖啡需要花一小时,你想在n个时刻都喝过一次咖啡,老板规定连续喝咖啡的间隔必须是d以上,求最少需要多少天才能喝够n次咖啡,并输出每个时刻第几天喝. ...
- OpenResty 实现项目的灰度发布
1.安装 openresty 依赖模块: [root@Centos opt]# yum -y install pcre-devel openssl openssl-devel postgresql-d ...
- 解决使用还原卡的PC在2个月后要重新加入域的问题
客户端正确操作: 1. 启动注册表编辑器. 要这样做, 请依次单击 开始 . 运行 , 类型 regedit 在 打开, 框, 然后单击 确定 . 2. 找到并单击以下注册表子项: HKEY_LOCA ...
- Redis Cluster 强制kill某一个节点和shutdown某一个节点后修复过程
redis cluster 命令行,执行以下命令需登录cluster,是集群所独有的集群(cluster)CLUSTER INFO 打印集群的信息CLUSTER NODES 列出集群当前已知的所有节点 ...
- ROS大型工程学习(三) ROS常用命令行
1.rosbag 对ros包进行操作的命令. (1)录制包: rosbag record -a //录制数据包,所有topic都录制 rosbag record /topic_name1 /topic ...
- java核心-多线程(9)- ThreadLocal类
1.背景 ThreadLocal类我想一般的码农或初级程序员在平时开发中基本上接触不到,但是面试老师会问.往高级点走会遇到这个类.这个类不是为了解决资源的竞争问题,而是为每个线程提供同一个容器 ...