215600292 发表于 2020-10-25 10:13:07

关于python多品种多策略不同进程下运行,我的解决办法

本帖最后由 215600292 于 2020-10-25 10:15 编辑

为什么我不用tb的代码,而选择使用tbpy?因为tb把硬盘读写取消了,所有的读写都加密,这是我不能接受的,说到底,就是代码不能完全满足我了。
前两天研究了下tbpy给出的均线例子,发现并不难,但当我同时运行两个均线例子的时候,出现了权限报错,估计tbpy初始化的时候就已经锁死本进程,很多参数需要重置才能再次开启,言下之意,tbpy不能简单的通过多py文件的同时运行实现多进程
这就麻烦了,研究了下,只能这样处理:
tbpy的进程,订阅你所想要交易的品种的数据,包括bar数据和tick数据,tbpy进程每次收到数据后,开辟新进程,把bar和tick等数据传参过去运行,这样就实现了多进程。
但是这样有个问题,进程只能在main里面创建,在类里面是没有办法创建的,所以你只能创建进程后,让进程不停的死循环,不停的等待tbpy传参过来然后运行,这个传参的过程就用到pipe管道了。

最后,我这两天研究了下金字塔的python,明显比交易开拓者的傻瓜很多,金字塔的python可以直接插入品种运行,换言之,我不用自己再去分配品种和开辟线程。
说实话,tbpy是给编程牛逼的人用的,一般人根本达不到用tbpy编写多品种多策略多进程运行的水准。金字塔则大众化,可以把精力放在策略实现上,不用去想底层的分配代码。
反过来讲,只要你足够牛逼,tbpy可以实现你所有想法了,这这玩意写多品种多策略多进程程序化交易已经和写个软件差不多了。
我现在在比较重新学习金字塔的时间成本,我真想转过去了,哎~

215600292 发表于 2020-10-25 16:44:05

经测试,我决定转去金字塔了,慢慢熟悉下软件,应该没大问题的
为什么放弃TB?
因为我刚才tbty测试时候发现,品种订阅最多20个品种,这个玩笑就开大了,为什么连品种数量都要限制?不想给客户多品种分散是吗?
编程我可以慢慢写,只要有接口,没有写不出的策略,但你连品种数量都限制死,这摆明了不想给人用python
不玩了,祝你们好运
页: [1]
查看完整版本: 关于python多品种多策略不同进程下运行,我的解决办法