通过IBKR TWS Python API运行一个简单的数据下载请求 遵循其中一个教程:https://www.youtube.com/watch?time_continue=1065&v=GmTPDzcko6k
调试产生app.reqContractDetails(1, contract)
返回{
关于这个问题的信息似乎有限
from ibapi.client import EClient
from ibapi.wrapper import EWrapper
from ibapi.contract import Contract
class TestApp(EWrapper, EClient):
def __init__(self):
EClient.__init__(self, self)
def error(self, reqId, errorCode, errorString):
print("Error: ", reqId, " ", errorCode, " ", errorString)
def contractDetails(self, reqId, contractDetails):
print("contractDetails: ", reqId, " ", contractDetails)
def main():
app = TestApp()
app.connect("127.0.0.1", 7496, 0)
contract = Contract()
contract.symbol = "BYND"
contract.secType = "STK"
contract.exchange = "SMART"
contract.currency = "USD"
contract.primaryExchange = "NASDAQ"
print (app.reqContractDetails(1, contract))
app.run()
app.reqContractDetails(2, contract)
if __name__ == "__main__":
main()
实际:
^{pr2}$更新:
按照布莱恩的建议尝试了以下方法-仍然什么也没做:(:
class TestApp(EWrapper, EClient):
def __init__(self, addr, port, client_id):
EWrapper.__init__(self)
EClient.__init__(self, self)
self.connect(addr, port, client_id)
thread = Thread(target=self.run)
thread.start()
def error(self, reqId, errorCode, errorString):
print("Error: ", reqId, " ", errorCode, " ", errorString)
def contractDetails(self, reqId, contractDetails):
print("contractDetails: ", reqId, " ", contractDetails)
def main():
app = TestApp("127.0.0.1", 4002, 0)
app.run()
contract = Contract()
contract.symbol = "BYND"
contract.secType = "STK"
contract.exchange = "SMART"
contract.currency = "USD"
contract.primaryExchange = "NASDAQ"
app.reqContractDetails(1, contract)
time.sleep(3)
app.disconnect()
if __name__ == "__main__":
main()
问题是你的客户机线程没有等待服务器的响应。也就是说,调用
reqContractDetails
的线程需要等到运行contractDetails
的线程完成。在延迟主线程的一个简单方法是调用
time.sleep
。下面的代码创建一个协定并将线程设置为休眠3秒钟。在如果这不能解决您的问题,您可能需要尝试从构造函数启动线程:
^{pr2}$祝你好运!在
我不认为那是我的建议。以下是链接问题的确切代码和一些注释。在
请注意,第一个代码中的
print (app.reqContractDetails(1, contract))
正在打印一个不返回任何内容的方法调用。该程序是异步的,意味着您请求某些内容,稍后将返回到回调方法,在本例中,reqContractDetails
稍后将数据返回到contractDetails
。在相关问题 更多 >
编程相关推荐