Python 如何在循环中请求历史数据?(tws api)

Python 如何在循环中请求历史数据?(tws api),python,loops,tws,Python,Loops,Tws,我对twsapi很陌生,我正试图编写一个程序,根据股票的历史价格下订单。我试图从excel文件中获取股票行情,然后在循环中调用reqMktdata: 类TestApp(EClient、EWrapper): def main(): 如果name==“main”: main() 但是,当我试图打印历史数据时,它只打印第一个符号的历史数据并停止。有人能指出我在这里做错了什么,或者有人在循环中获取数据吗?非常感谢。您需要按照合同执行: def start(self): wb = Workbook

我对twsapi很陌生,我正试图编写一个程序,根据股票的历史价格下订单。我试图从excel文件中获取股票行情,然后在循环中调用reqMktdata: 类TestApp(EClient、EWrapper):

def main():

如果name==“main”: main()


但是,当我试图打印历史数据时,它只打印第一个符号的历史数据并停止。有人能指出我在这里做错了什么,或者有人在循环中获取数据吗?非常感谢。

您需要按照合同执行:

def start(self):
    wb = Workbook.load_workbook('StockTickers.xlsx')
    sheet_ranges = wb['Sheet1']

    for cell in ['A3', 'A4', 'A5']:
        contract = Contract()
        contract.symbol = str(sheet_ranges[cell].value)
        contract.secType = "STK"
        contract.exchange = "SMART"
        contract.currency = "USD"
        contract.primaryExchange = "NASDAQ"
        self.reqHistoricalData(1, contract, "", "26 W", "1 day", "MIDPOINT", 0, 1, False, [])
app = TestApp()
app.nextOrderId=0
app.connect("127.0.0.1", 7497, 0)
Timer(3, app.stop).start()


app.run()
def start(self):
    wb = Workbook.load_workbook('StockTickers.xlsx')
    sheet_ranges = wb['Sheet1']

    for cell in ['A3', 'A4', 'A5']:
        contract = Contract()
        contract.symbol = str(sheet_ranges[cell].value)
        contract.secType = "STK"
        contract.exchange = "SMART"
        contract.currency = "USD"
        contract.primaryExchange = "NASDAQ"
        self.reqHistoricalData(1, contract, "", "26 W", "1 day", "MIDPOINT", 0, 1, False, [])