#来源于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. centos搭建单节点hadoop

    由于本地机器资源有限,搭建单节点hadoop供开发.测试. 1.安装java mkdir /usr/local/java cd /usr/local/java tar zxvf jdk-8u181-l ...

  2. 获取JSHANDLE句柄

    A string can also be passed in instead of a function: const aHandle = await page.evaluateHandle('doc ...

  3. Eclipse启动选择启动空间

    window -->preferences-->General-->Startup and Shutdown -->Workspaces-->勾选Prompt for w ...

  4. firewalld学习--service的使用和配置

    service配置文件 firewalld默认给我们提供的ftp的service配置文件ftp.xml <?xml version="1.0" encoding=" ...

  5. C++编程学习(十一) 指针和引用的区别

    1.指针有自己的一块空间,而引用只是一个别名: 2.使用sizeof看一个指针的大小是4,而引用则是被引用对象的大小: 3.指针可以被初始化为NULL,而引用必须被初始化且必须是一个已有对象 的引用: ...

  6. 洛谷 P3801 红色的幻想乡

    题目背景 蕾米莉亚的红雾异变失败后,很不甘心. 题目描述 经过上次失败后,蕾米莉亚决定再次发动红雾异变,但为了防止被灵梦退治,她决定将红雾以奇怪的阵势释放. 我们将幻想乡看做是一个n*m的方格地区,一 ...

  7. 07.swoole学习笔记--tcp客户端

    <?php //创建tcp客户端 $client=new swoole_client(SWOOLE_SOCK_TCP); //连接服务器 $client->connect(,) or di ...

  8. 008-PHP定义数组

    <?php /*定义数组$Cities[]*/ $Cities[0] = "北京"; $Cities[1] = "天津"; $Cities[2] = &q ...

  9. 0104 gradle入门

    背景 gradle的官网是 www.gradle.org,标题介绍是: accelerate developer productivity,翻译过来:提高开发者的生产率: 简要介绍:从手机app到微服 ...

  10. NirSoft 实用程序

    64-bit (x64) utilities package 此软件包包含NirSoft中的所有实用程序,这些实用程序具有64位版本(x64)Windows的独立构建. 此程序包包含下面列表中每个实用 ...