From 83b600be49a45b65c697777fa7cf57f0cf015f06 Mon Sep 17 00:00:00 2001 From: yangyang Date: Mon, 26 Mar 2018 15:23:14 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E9=92=88=E5=AF=B9=E5=A4=A9=E5=8B=A4?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=8D=8F=E8=AE=AE=E4=B8=AD=E5=90=88=E7=BA=A6?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=A7=84=E5=88=99=E5=8F=98=E6=9B=B4,=20?= =?UTF-8?q?=E7=9B=B8=E5=BA=94=E8=B0=83=E6=95=B4demo=E5=8F=8A=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vnpy/data/tq/test.py | 2 +- vnpy/data/tq/vntq.py | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/vnpy/data/tq/test.py b/vnpy/data/tq/test.py index bbcb590f..0392ff22 100644 --- a/vnpy/data/tq/test.py +++ b/vnpy/data/tq/test.py @@ -32,7 +32,7 @@ def onChart(symbol, seconds): if __name__ == "__main__": - symbol = 'IF1710' + symbol = 'CFFEX.IF1710' api = TqApi() diff --git a/vnpy/data/tq/vntq.py b/vnpy/data/tq/vntq.py index a123a0d8..76b1aa79 100644 --- a/vnpy/data/tq/vntq.py +++ b/vnpy/data/tq/vntq.py @@ -4,6 +4,7 @@ 对接天勤行情的网关接口,可以提供国内期货的报价/K线/Tick序列等数据的实时推送和历史仿真 使用时需要在本机先启动一个天勤终端进程 天勤行情终端: http://www.tq18.cn +天勤接口文档: http://doc.tq18.cn/tq/latest/extension/wsapi/index.html """ @@ -47,10 +48,15 @@ class TqApi(object): 订阅实时行情. 指定一个合约列表,订阅其实时报价信息 每次调用此函数时,都会覆盖前一次的订阅设定,不在订阅列表里的合约,会停止行情推送 - :param ins_list: ins_list 是一个列表,列出全部需要实时行情的合约代码。 + :param ins_list: ins_list 是一个列表,列出全部需要实时行情的合约代码。注意:天勤接口从0.8版本开始,合约代码格式变更为 交易所代码.合约代码的格式. 交易所代码如下: + CFFEX: 中金所 + SHFE: 上期所 + DCE: 大商所 + CZCE: 郑商所 + INE: 能源交易所(原油) :param callback_func (可选): callback_func 是一个回调函数,每当有报价数据变更时会触发。此函数应该接受一个参数 ins_id :example: - 订阅 cu1803,SR709,IF1709 这三个合约的报价: subscribe_quote(["cu1803", ”SR709", "IF1709"]) + 订阅 SHFE.cu1803,CZCE.SR709,CFFEX.IF1709 这三个合约的报价: subscribe_quote(["SHFE.cu1803", ”CZCE.SR709", "CFFEX.IF1709"]) """ if callback_func: self.quote_callback_func = callback_func @@ -74,8 +80,8 @@ class TqApi(object): :param data_length: 需要获取的序列长度。每个序列最大支持请求 8964 个数据 :param callback_func (可选): callback_func 是一个回调函数,每当序列数据变更时会触发。此函数应该接受2个参数 ins_id, duration_seconds :example: - 订阅 cu1803 的1分钟线: subscribe_chart("cu1803", 60) - 订阅 IF1709 的tick线: subscribe_chart("IF1709", 0) + 订阅 SHFE.cu1803 的1分钟线: subscribe_chart("SHFE.cu1803", 60) + 订阅 CFFEX.IF1709 的tick线: subscribe_chart("CFFEX.IF1709", 0) """ chart_id = self._generate_chart_id(ins_id, duration_seconds) @@ -102,7 +108,7 @@ class TqApi(object): :return: 若指定的数据不存在,返回None,否则返回如下所示的一个dict { u'datetime': u'2017-07-26 23:04:21.000001',# tick从交易所发出的时间(按北京时区) - u'instrument_id': u'SR801', # 合约代码 + u'instrument_id': u'CZCE.SR801', # 合约代码 u'last_price': 6122.0, # 最新价 u'bid_price1': 6121.0, # 买一价 u'ask_price1': 6122.0, # 卖一价 From 880e0b3868188748425b5c3dace02fa53f8171ac Mon Sep 17 00:00:00 2001 From: yangyang Date: Mon, 26 Mar 2018 15:56:11 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=A4=A9=E5=8B=A4?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=94=B6=E5=88=B0=E9=9D=9E=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=8C=85=E6=97=B6=E6=8A=9B=E5=87=BAexception=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vnpy/data/tq/vntq.py | 1 + 1 file changed, 1 insertion(+) diff --git a/vnpy/data/tq/vntq.py b/vnpy/data/tq/vntq.py index 76b1aa79..8f3a9797 100644 --- a/vnpy/data/tq/vntq.py +++ b/vnpy/data/tq/vntq.py @@ -222,6 +222,7 @@ class TqApi(object): l = pack["data"] else: print u'on_receive_msg收到的数据中没有data字段,数据内容%s' %str(pack) + return for data in l: # 合并更新数据字典