有奖哦!我在pycharm中获取两个数据,在交易时间(9点-11点半,13点半-15点,21点-23点)代码可直接使用,现需要,以时间为X坐标,数据1和数据2在Y坐标上能成两条线,最好是完整代码,十分感谢!
from tqsdk import TqApi, TqKq, TqAuth #数据导入模块installing tqsdk
SYMBOL = "DCE.i2505" #指定数据合约
api = TqApi(TqKq(), auth=TqAuth("890727", "150402")) #模拟帐号tqsdk
quote = api.get_quote(SYMBOL) #获取合约基本
klines = api.get_kline_serial(SYMBOL, 12) ##获取合约12秒内K线
### 定义数据1 和数据2
def get_index_line(klines):
volume = (klines.volume .iloc[-2] + klines.volume .iloc[-3] + klines.volume .iloc[-4] + klines.volume .iloc[-5] +
klines.volume .iloc[-6]) / 5
open_oi = (klines.open_oi.iloc[-2] + klines.open_oi.iloc[-3] + klines.open_oi.iloc[-4] + klines.open_oi.iloc[-5] +
klines.open_oi.iloc[-6] ) / 5
close_oi = (klines.close_oi.iloc[-2] + klines. close_oi.iloc[-3] + klines. close_oi.iloc[-4] + klines. close_oi.iloc[-5] +
klines. close_oi.iloc[-6] ) / 5
close = (klines.close.iloc[-2] + klines.close.iloc[-3] + klines.close.iloc[-4] + klines.close.iloc[-5] +
klines.close.iloc[-6]) / 5
shuju1 = (close_oi - open_oi) / volume * 100 #数据1
shuju2 = close / 100 #数据2
print("数据1: %.2f, 数据2: %.2f" % (shuju1, shuju2))
return shuju1, shuju2
while True:
api.wait_update() #等待行情更新
if api.is_changing(klines.iloc[-1], "datetime"): # 合约行情更新时计算数据1和数据2
shuju1, shuju2 = get_index_line(klines)
print("数据1: %.2f, 数据2: %.2f" % (shuju1, shuju2))
```