5.68K 浏览
0

一开始用“每个进程执行一个策略实例”的方法,后面发现同一网络最大只能启动30个API.

经管理员介绍:目前按https://doc.shinnytech.com/pysdk/latest/advanced/multi_strategy.html

经真实代码测试,程序只创建1个线程,但在感应价格跳动时,总是会慢,随着时间的推移,相差时间越来越长。

而不用线程的方法,同一台电脑,“每个进程执行一个策略实例”,就不会有时间延迟的问题。这是什么原因呢?

按下图的时间跳动,已经跟系统时间相差5分钟左右了,打印时间是14:49:40,系统时间:14:54。系统时间是与网络同步的。

参考的例子如下:

Paul Yu 已回答的问题 2020年2月26日
0

python的多线程就是有性能问题啊。

我的策略,最初多线程版本挺好的。当时限制只有5个线程。后来真正实用的时候,加到20个线程以上,python的性能,完全无法胜任。

你百度搜python GIL就知道了。

ishanning 发表新评论 2020年2月26日

感谢分享。

用多线程也是没办法的事情,因为平台限制同一IP最大30 API。

我现在的想法是这样:成交量较大的合约大概50个,初步拆成5个合约共用一个进程,等于要启动10个进程,分两台电脑跑,每台跑5个。

方便私信留个联系方式吗?以后多交流。

您正在查看3个答案中的1个,单击此处查看所有答案。