版主大大您好,我在调用易盛接口的时候,遇到一个问题,我看到我们vnpy的模块在OmsEngine类中有get_all_contracts方法,但是在使用get_all_contracts获取所有合约时提示get_all_contracts这个方法没有声明,这么怎么回事?下面是我的代码,麻烦看下是不是哪里出了错误,谢谢!
class MyTap(object):
def __init__(self):
event_engine = EventEngine()
main_engine = MainEngine(event_engine)
main_engine.init_engines()
tap_gateway = main_engine.add_gateway(MyTapGateway)
try:
authorization_code = """B112F916FE7D27BCE7B97EB620206457946CED32E26C1EAC946CED32E26C1EAC946CED32E26C1EAC
946CED32E26C1EAC5211AF9FEE541DDE9D6F622F72E25D5DEF7F47AA93A738EF5A51B81D8526AB6A9D19E65B41F59D6A946CED32
E26C1EACCAF8D4C61E28E2B1ABD9B8F170E14F8847D3EA0BF4E191F5DCB1B791E63DC196D1576DEAF5EC563CA3E560313C0C3411
B45076795F550EB050A62C4F74D5892D2D14892E812723FAC858DEBD8D4AF9410729FB849D5D8D6EA48A1B8DC67E037381A279CE
9426070929D5DA085659772E24A6F5EA52CF92A4D403F9E46083F27B19A88AD99812DADA44100324759F9FD1964EBD4F2F0FB50B
51CD31C0B02BB437"""
td = {'行情账号': 'ES', "行情密码": '123456', "行情服务器": '61.163.243.173', "行情端口": 7171,
"授权码": authorization_code, "交易账号": 'q123456', "交易密码": '******', "交易服务器": '61.163.243.173',
"交易端口": 8383}
main_engine.connect(td, "TAP")
contract_list = main_engine.engines["oms"].get_all_contracts() # 这里想获取所有合约,但是提示get_all_contracts这个方法没有声明
print('所有合约===', contract_list)
print(dir(main_engine.engines["oms"])) # 上面虽然提示get_all_contracts没有声明,但是这里输出的所有方法中却包含get_all_contracts这个方法, 输出结果:[...,'get_all_active_orders', 'get_all_contracts', 'get_all_orders', ...]
except Exception as err:
print(err)