gpt4 book ai didi

python - 添加一段 True : to a file that gets live stock data every 5 seconds in Python

转载 作者:行者123 更新时间:2023-12-01 00:50:36 24 4
gpt4 key购买 nike

此代码正确地从盈透证券获取实时报价,然后将其发送到包含当前价格的 csv 文本文件。现在,如何让这段代码自动继续运行?我每 15 秒执行一次 sleep 命令。

import csv
from ib_insync import *

stocks = ['TVIX']
test = list()

for stock in stocks:
stock = Stock(stock, 'SMART','USD')
contract = ib.qualifyContracts(stock)
test.append(ib.reqMktData(contract[0],snapshot=True))
ib.sleep(15)

for stock in test:
f = open('tvix-price.csv','w')
f.write(str(stock.last))

f.close()

下面是我迄今为止所拥有的代码...... 我没有收到任何错误,这有点奇怪。什么也没有发生。我将尝试重新启动我的内核以确保我已连接。

再想一想,这样做是最好的方法吗?

while True:

stocks = ['TVIX']
test = list()

for stock in stocks:
stock = Stock(stock, 'SMART','USD')
contract = ib.qualifyContracts(stock)
test.append(ib.reqMktData(contract[0],snapshot=True))
ib.sleep(15)

for stock in test:
f = open('tvix-price.csv','w')
f.write(str(stock.last))
f.close()

最佳答案

您的部分代码缩进不正确,并且您在循环中放置了错误的部分。你应该这样做:

import csv
from ib_insync import *

stocks = ['TVIX']
while True:
test = list()

for stock in stocks:
stock = Stock(stock, 'SMART','USD')
contract = ib.qualifyContracts(stock)
test.append(ib.reqMktData(contract[0],snapshot=True))
ib.sleep(15)

for stock in test:
f = open('tvix-price.csv','w')
f.write(str(stock.last))

f.close()

while True 循环仅重复缩进部分。由于代码的一部分没有缩进到循环之外,因此它没有运行。希望这会有所帮助。

关于python - 添加一段 True : to a file that gets live stock data every 5 seconds in Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56604035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com