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

如题,vnpy系统很完善,很牛,可是新手想深入应用看的很懵圈.

我就想知道怎么得到当前tick数据,以及下单的代码怎么写(比如某个合约,方向,数量). 就这么简单!

先不考虑timer, 监听,引擎调用什么的. 然后慢慢学习中,或者自己完善一些线程的代码,或者就学会用vnpy的代码了. 肯定大佬看到了给一段!

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

嗯。已经看明白了。

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

框架写得真好,我也正在研究路上。
建议你从app/cta_strategy/strategies/下面随便找一个策略入手,比如:dual_thrust_strategy.py

Member
avatar
加入于:
帖子: 141
声望: 57

yexleo wrote:

代码看了两周了, 每天下班抽空就研究,各种调用嵌套,我已经懵了.可是我现在的需求真的很简单, 就想计算两个期货的价格差套利, 下单! 我就想找到 ctp的接口使用方法....哭.
没个半年还想直接上手套利,你知道做套利要改多少东西吗,欲速则不达

Administrator
avatar
加入于:
帖子: 4500
声望: 320

哈哈哈,这也算是个比较强的需求了,我们后续会提供一个简单的CLI执行工具来实现这个功能

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

初看vnpy, 简直要被搞懵逼的, 原来有张数据流程图还不错.
enter image description here

Member
加入于:
帖子: 7
声望: 0
from vnpy.event.eventEngine import EventEngine
from vnpy.trader.vtEngine import MainEngine
from vnpy.trader.vtObject import VtSubscribeReq,VtOrderReq
from vnpy.trader.vtConstant import *
from vnpy.trader.vtEvent import EVENT_TICK
from vnpy.trader.gateway import ctpGateway



def get_tick(event):
    print event
    tick = event.dict_['data']
    print tick
    for k,v in tick.__dict__.items():
        print k,',',v

def main():
    ee = EventEngine()
    ee.register(EVENT_TICK,get_tick)
    me = MainEngine(ee)
    me.addGateway(ctpGateway)
    me.connect('CTP')

    req = VtSubscribeReq()
    req.symbol = 'rb1910'
    me.subscribe(req,'CTP')

    order_req = VtOrderReq()
    order_req.symbol = 'rb1910'
    order_req.direction = DIRECTION_LONG
    order_req.offset = OFFSET_OPEN
    order_req.price = 3800
    order_req.priceType = PRICETYPE_LIMITPRICE
    order_req.volume = 1

    me.sendOrder(order_req,'CTP')


if __name__ == '__main__':
    main()

在家下了个2.01 还没能跑起来,就用1.9的写一个吧。
发单的可能有点不对,但基本上是这个套路了。
收tick,初始化引擎,注册事件(vnpy1.9自带的引擎dataEngine 和新的oms都有注册过),登录,订阅,等着就行了。
发单的话,就是做一个发单请求然后传给对应的函数就可以了。
实际用的时候退出的时候要做一个退出的方法,不然反复链接后会出问题(simnow的账号是这样的,实盘还没用过)

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

沪公网安备 31011502017034号

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