掘金社区

Gmsdk Python3 Linux64版本mode=3不来数据Pinned highlighted

DanFa 发表在掘金2 2015-11-30 09:43:57

掘金2
1212
4
0

今天才才加入的菜鸟一枚,想咨询下为何test_md_live.py 在盘后设置了mode=3 ,没有tick 或bar数据呢 ? 由于是用的Linux版,所以没有装掘金量化交易平台V2.1.1 (实际上装了,在Win10 上装不上)。 求客服或前辈解答。先谢了!

[root@localhost ~]# cat test_md_live.py

-- coding: utf-8 --

import time
from gmsdk.api import md
import arrow

def to_local(utc):
return arrow.get(utc).to('local')

def on_tick(tick):
print('%s %s %s %s' % (to_local(time.time()), tick.strtime, tick.sec_id, tick.last_price))

def on_bar(bar):
print('%s %s %s %s %s %s %s %s' % (to_local(time.time()), bar.strtime, bar.sec_id, bar.bar_type, bar.open, bar.high, bar.low, bar.close))

def on_error(code, message):
print (code, message)

md.ev_tick += on_tick
md.ev_bar += on_bar
md.ev_error += on_error

ret = md.init(
username='xxxxxxxxxxxxx',
password='xxxxxx',
mode=3,
subscribe_symbols="SZSE.000001.tick,SHSE.600000.tick",
)

print('init result: ', ret)

评论: 4
  • 补充说明: 可能是V2.1.0装不上,看V2.1.1说fix了win8/win10上的安装问题,下班回家试试。
    又: 升级到gmsdk V2.6.1 之后用mode=3还是没有tick数据打印出来.

    2015-11-30 09:58:11
  • [quote="KingZhang, post:3, topic:2539"]
    import timefrom gmsdk.api import md

    def on_tick(tick): print('%s %s %s %s' % (tick.utc_time, tick.strtime, tick.sec_id, tick.last_price))

    def on_error(code, message): print (code, message)

    md.ev_tick += on_tickmd.ev_error += on_error

    ret = md.init(username='demo@myquant.cn', password='123456', mode=4, subscribe_symbols='SZSE.000001.tick', start_time='2015-11-27 09:30:00', end_time='2015-11-27 10:00:00')

    print('init result: ', ret)md.run()
    [/quote]

    sorry ,拷掉了md.run() 加上后还是不行。 正如你例子中所写,只有用mode=4 ,定义上start_time,end_time限定时间范围后,才能很快的取到数据。 又: win10可以安装今天发布的V2.1.1了

    2015-11-30 13:14:32
  • 谢谢@KingZhang。

    mode=3是依次轮播历史行情,如果订阅的数据还没轮到,就收不到数据。后续我们可能修改轮播指定代码,这样会少很多疑惑。

    2015-12-01 01:03:46
  • 目前mode=3轮一遍总共要花多少时间?

    2015-12-01 02:21:09

Looks like your connection to 掘金量化社区 - 量化交易者的策略交流学习社区 was lost, please wait while we try to reconnect.