vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 12
声望: 0

调试易盛tap发现行情订阅,不支持ICE的合约(YG1911.ICE),
订阅错误代码:SubscribeQuote:(72103, 7),查阅api文档是:品种不存在。但是debug发现品种是YG没有问题,哪位大神帮忙看看怎么回事。

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

阅读2.05代码有个疑问:
为什么ICUS(ICE美国)和ICEU(ICE欧洲),定义枚举类型都是Exchange.ICE
枚举和字符串转换是是不是会出问题啊。

Administrator
avatar
加入于:
帖子: 4033
声望: 221
  1. 测试环境大部分合约都没有行情,测试时我们发现CME的几个外汇是好的,比如JPY
  2. 类型转换这块目前我们没遇到问题,如果发现了请联系我们
Member
avatar
加入于:
帖子: 12
声望: 0

用Python的交易员 wrote:

  1. 测试环境大部分合约都没有行情,测试时我们发现CME的几个外汇是好的,比如JPY
  2. 类型转换这块目前我们没遇到问题,如果发现了请联系我们

刚刚研究vnpy,python也是小白,不太敢确定是否有问题。
debug时发现YG1911.ICE的交易所no(应该ICUS,结果获取到ICEU),
可能的问题EXCHANGE_VT2TAP上,debug信息如下:

 ContractInfo(name='Mini Gold 1911', exchange_no=**'ICUS'**, commodity_type='F', commodity_no='YG', contract_no='1911')
 tap_contract.Commodity.ExchangeNo = EXCHANGE_VT2TAP[req.exchange] 执行后:
 tap_contract.Commodity
                      --CommodityNo='YG'
                      --CommodityType='F'
                      --ExchangeNo=‘ICEU’

因此做了下面修改,觉得应该是对的。
tap_contract.Commodity.ExchangeNo = contract_info.exchange_no

    def subscribe(self, req: SubscribeRequest):
        """
        Subscribe to new market data update.
        """
        contract_info = contract_infos.get((req.symbol, req.exchange), None)
        if not contract_info:
            self.gateway.write_log(
                f"找不到匹配的合约:{req.symbol}和{req.exchange.value}")
            return

        tap_contract = TapAPIContract()
        # tap_contract.Commodity.ExchangeNo = EXCHANGE_VT2TAP[req.exchange]
        tap_contract.Commodity.ExchangeNo = contract_info.exchange_no
        tap_contract.Commodity.CommodityType = contract_info.commodity_type
        tap_contract.Commodity.CommodityNo = contract_info.commodity_no
        tap_contract.ContractNo1 = contract_info.contract_no
        tap_contract.CallOrPutFlag1 = TAPI_CALLPUT_FLAG_NONE
        tap_contract.CallOrPutFlag2 = TAPI_CALLPUT_FLAG_NONE

        self.api.SubscribeQuote(tap_contract)
Administrator
avatar
加入于:
帖子: 4033
声望: 221

方便的话请在Github开个issue吧,我们下个版本来修复

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