本文共 2597 字,大约阅读时间需要 8 分钟。
上一个篇文章已经安装好了,但是未配置账号.这篇继续
配置账号的参考这篇文章就行了
地址:
quick start部分。
在注册CTP仿真账号,记下你的账号、密码、经纪商编号,然后下载快期查询你的交易和行情服务器地址BrokerID统一为:9999
标准CTP: 第一组:Trade Front:180.168.146.187:10000,Market Front:180.168.146.187:10010;【电信】 第二组:Trade Front:180.168.146.187:10001,Market Front:180.168.146.187:10011;【电信】 第三组:Trade Front:218.202.237.33 :10002,Market Front:218.202.237.33 :10012;【移动】找到vn.py应用示例目录examples,打开examples\VN Trader\CTP_connect.json,修改账号、密码、服务器等为上一步注册完成后你的信息(注意使用专门的编程编辑器,如Sublime Text等,防止json编码出错)
找到VN Trader的启动入口run.py,并双击运行(若无法双击,则在当前目录按住Shift点鼠标右键,打开cmd输入python run.py运行),run.py内容如下:
# encoding: UTF-8import sysreload(sys)# vn.trader模块from vnpy.event import EventEnginefrom vnpy.trader.vtEngine import MainEnginefrom vnpy.trader.uiQt import createQAppfrom vnpy.trader.uiMainWindow import MainWindow# 加载底层接口from vnpy.trader.gateway import ctpGateway, ibGateway# 加载上层应用from vnpy.trader.app import (riskManager, ctaStrategy, spreadTrading, algoTrading)#----------------------------------------------------------------------def main(): """主程序入口""" # 创建Qt应用对象 qApp = createQApp() # 创建事件引擎 ee = EventEngine() # 创建主引擎 me = MainEngine(ee) # 添加交易接口 me.addGateway(ctpGateway) me.addGateway(ibGateway) # 添加上层应用 me.addApp(riskManager) me.addApp(ctaStrategy) me.addApp(spreadTrading) me.addApp(algoTrading) # 创建主窗口 mw = MainWindow(me, ee) mw.showMaximized() # 在主线程中启动Qt事件循环 sys.exit(qApp.exec_())if __name__ == '__main__': main()
如果出现错误:
2019-03-23 19:16:56,273 INFO: MAIN_ENGINE MongoDB连接成功
Traceback (most recent call last): File "/home/john/anaconda3/envs/vnpy27/lib/python2.7/site-packages/vnpy-1.9.2-py2.7.egg/vnpy/trader/uiBasicWidget.py", line 298, in updateEvent self.updateData(data) File "/home/john/anaconda3/envs/vnpy27/lib/python2.7/site-packages/vnpy-1.9.2-py2.7.egg/vnpy/trader/uiBasicWidget.py", line 496, in updateData super(LogMonitor, self).updateData(data) File "/home/john/anaconda3/envs/vnpy27/lib/python2.7/site-packages/vnpy-1.9.2-py2.7.egg/vnpy/trader/uiBasicWidget.py", line 342, in updateData content = safeUnicode(data.__getattribute__(header)) File "/home/john/anaconda3/envs/vnpy27/lib/python2.7/site-packages/vnpy-1.9.2-py2.7.egg/vnpy/trader/vtFunction.py", line 31, in safeUnicode return text_type(value) UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 2: ordinal not in range(128)就说明文件编码可能有问题,在代码的
reload(sys)下一行加上sys.setdefaultencoding('utf8'),再保存就行了
做完这些之后发现,登录后还是没有行情,在vntrade的日志部分,可以看到提示“首次CTP登录需要修改密码”
那就去修改呗。
但simnow和vntrade终端都没有修改的入口,网上查了查可以重置,那就重置下,重置后在登录就好了
转载地址:http://vhyws.baihongyu.com/