老师好!
我现在是可以访问到: CtpTdApi 中自建的属性,但仍然无法读取合约的保证金数据:
1、我可以访问CtpTdApi中的:reqQryInstrumentMarginRate, reqQryInstrument;
def query_margin_ratio(self):
"""查询保证金数据"""
print(f"打印合约数据aaaabbbb")
margin_ratio_req = {}
margin_ratio_req['BrokerID'] = self.brokerid
margin_ratio_req['InvestorID'] = self.userid
margin_ratio_req['InstrumentID'] = "rb2210.SHFE"
margin_ratio_req['HedgeFlag'] = THOST_FTDC_HF_Speculation
self.reqid += 1
# 请求查询保证金率
self.reqQryInstrumentMarginRate(margin_ratio_req, self.reqid)
self.reqQryInstrument(margin_ratio_req, self.reqid)
2、但CtpTdApi 中,并没有相应的接受函数,甚至然错误处理也没有,这是要我们自己手动添加吗?添加后需要重新编译吗?
3、我自己手动添加以后,并不能接受到相应的应答消息:
def onRspError(self, error: dict, reqid: int, last: bool) -> None:
"""请求报错回报"""
self.gateway.write_error("行情接口报错", error)
print("行情接口报错", error)
def onReqError(self, error: dict, reqid: int, last: bool) -> None:
"""请求报错回报"""
self.gateway.write_error("行情接口报错", error)
print("行情接口报错", error)
def OnRspQryInstrumentMarginRate(self, data: dict, error: dict, reqid: int, last: bool) -> None:
"""合约查询回报"""
print("aaaaa")
这里的: onRspError, onReqError, OnRspQryInstrumentMarginRate 都没有响应。
请问:
1、CtpTdApi 为什么没有相关的错误提示函数?
2、或者:我如何知道访问 reqQryInstrumentMarginRate 到底是参数问题,还是语法问题?目前可以访问,但不报错,也没有任何消息提示;
3、我该如何读取到合约的保证金率数据?