VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 104
声望: 5

1.有没什么方法可以同时启动多个vntrader?

  1. 不同vntrader启动后是公用用户目录下的strategy?
  2. 启动不同的vntraer,连接不同的账户,是不是就实现了多账户登录?
Member
avatar
加入于:
帖子: 104
声望: 5

试了下,在默认的启动位置,打开vnstation两次,输入不同的账号,账号是公用了策略,不同账户资金好像只是默认了一个账户资金

Member
avatar
加入于:
帖子: 4684
声望: 285

可参考
https://www.vnpy.com/forum/topic/1467-vnpyke-yi-duo-zhang-hu-yun-xing-ma
https://www.vnpy.com/forum/topic/2115-jiao-ben-ce-lue-ru-he-deng-lu-duo-ge-qi-huo-zhang-hu

Member
avatar
加入于:
帖子: 104
声望: 5

多谢!
把里面遇到的细节记录下:
在F盘创建了trader文件夹,然后按照https://www.vnpy.com/forum/topic/1467-vnpyke-yi-duo-zhang-hu-yun-xing-ma,创建了.vntrader,放入run.py
1.其中每个目录下放一个run.py,其中包含你要使用的底层接口和上层应用,这块要看清楚些,在vnpy—example——vn_trader里面复制的run.py,有很多底层接口,和上层应用加了#注释,需要哪个去掉#;不然打开vntrader ui后,点击功能按钮是无内容的
2.上述完成后,在trader文件夹下powershell运行run.py,就打开了新的vntrader,且工作目录换成了F:/trader,点击系统----连接ctp,添加参数后,发现只能连接行情服务器;直接复制原来工作目录.vntrader(c:/user/电脑名字/.vntrader)下内容到F:/trader/.vntrader即可;
3.发现新工作区无法共享strategy,把原工作目录下strategy直接copy到f:/trader下即可

Member
avatar
加入于:
帖子: 59
声望: 4

复制 C:\vnstudio\Lib\site-packages\vnstation\下的 run.py 底层接口和上层应用加载的比较全
一共有三个文件需要复制拷贝,run.py文件,strategies文件夹和.vntrader 文件夹
文件夹.vntrader 和strategies可能在C:\Users\Administrator 路径下

个人理解的新建账户的过程:
1、新建文件夹 traders
2、在traders中拷贝进run.py文件,strategies文件夹和.vntrader夹
3、在traders中启动run.py文件

Member
avatar
加入于:
帖子: 8
声望: 0

Traceback (most recent call last):
File "run.py", line 106, in <module>
main()
File "run.py", line 92, in main
main_engine.add_app(ExcelRtdApp)
File "F:\vnstudio\lib\site-packages\vnpy\trader\engine.py", line 99, in add_app
engine = self.add_engine(app.engine_class)
File "F:\vnstudio\lib\site-packages\vnpy\trader\engine.py", line 74, in add_engine
engine = engine_class(self, self.event_engine)
File "F:\vnstudio\lib\site-packages\vnpy_excelrtd\engine.py", line 32, in init
self.server.start(REP_ADDRESS, PUB_ADDRESS)
File "F:\vnstudio\lib\site-packages\vnpy\rpc__init.py", line 119, in start
self.
socket_rep.bind(rep_address)
File "F:\vnstudio\lib\site-packages\zmq\sugar\socket.py", line 214, in bind
super().bind(addr)
File "zmq\backend\cython\socket.pyx", line 540, in zmq.backend.cython.socket.Socket.bind
File "zmq\backend\cython\checkrc.pxd", line 28, in zmq.backend.cython.checkrc._check_rc
zmq.error.ZMQError: Address in use
QObject::~QObject: Timers cannot be stopped from another thread
照上面步骤,为什么出来上面的错误呢?

Member
avatar
加入于:
帖子: 1468
声望: 105

启动了多次RPC服务器程序,同时地址冲突了

Member
avatar
加入于:
帖子: 21
声望: 2

目前比较方便的做法是,将.vntrader文件和相关策略文件复制多份,每个账户启动一个程序进行运行,互不干扰。
还有一种方法是更改CTP底层文件,实现一个程序多个账户同时登录交易
description

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】