如何连接

从gateway文件夹上引入接口程序,通过add_gateway()函数调动,最终展示到图形化操作界面VN Trader中。

在菜单栏中点击”系统”->”连接CTP”按钮会弹出如图账号配置窗口,输入账号、密码等相关信息即连接接口,并立刻进行查询工作: 如查询账号信息、查询持仓、查询委托信息、查询成交信息等。

https://vnpy-community.oss-cn-shanghai.aliyuncs.com/forum_experience/yazhang/gateway/login.png

加载需要用的接口

加载接口示例在根目录”tests\trader”文件夹的run.py文件中。

  • 从gateway文件夹引入接口类文件,如from vnpy.gateway.ctp import CtpGateway;

  • 创建事件引擎对象并且通过add_gateway()函数添加接口程序;

  • 创建图形化对象main_window,以VN Trader操作界面展示出来。

  1. from vnpy.gateway.ctp import CtpGateway
  2. def main():
  3. """"""
  4. qapp = create_qapp()
  5. main_engine = MainEngine(event_engine)
  6. main_engine.add_gateway(CtpGateway)
  7. main_window = MainWindow(main_engine, event_engine)
  8. main_window.showMaximized()
  9. qapp.exec()

配置和连接

打开cmd窗口,使用命令“Python run.py”即可进入VN Trader操作界面。在左上方的菜单栏中点击”系统”->”连接CTP”按钮会弹出账号配置窗口,输入账号、密码等相关信息即连接接口。

连接接口的流程首先是初始化账户信息,然后调用connet()函数来连接交易端口和行情端口。

  • 交易端口:查询用户相关信息(如账户资金、持仓、委托记录、成交记录)、查询可交易合约信息、挂撤单操作;

  • 行情端口:接收订阅的行情信息推送、接收用户相关信息(如账户资金更新、持仓更新、委托推送、成交推送)更新的回调推送。

修改json配置文件

接口配置相关保存在json文件中,放在如图C盘用户目录下的.vntrader文件夹内。

https://s3.ax1x.com/2021/01/18/s678IA.png

所以要修改接口配置文件,用户即可以在图形化界面VN Trader内修改,也可以直接在.vntrader修改json文件。 另外将json配置文件分离于vnpy的好处在于:避免每次升级都要重新配置json文件。

查看可交易的合约

先登录接口,然后在菜单栏中点击”帮助”->”查询合约”按钮会空白的“查询合约”窗口。点击“查询”按钮后才会显示查询结果,如图。

https://vnpy-community.oss-cn-shanghai.aliyuncs.com/forum_experience/yazhang/gateway/query_contract.png