1.06K 浏览
0
from tqsdk import TqApi, TqAuth, TqAccount, TargetPosTask
import datetime
import pandas as pd
 # api = TqApi(TqAccount("H海通期货", "320102", "123456"), auth=TqAuth("信易账户", "账户密码"))
api = TqApi(auth=TqAuth("account", "pwd"))
 # 获得 i2209 tick序列的引用
# ticks = api.get_tick_serial("DCE.i2209")
# 获得 i2209 10秒K线的引用
symbol = ['DCE.i2209']
klines = api.get_kline_serial(symbol, 60, 30)
print(datetime.datetime.fromtimestamp(klines.iloc[-1]["datetime"] / 1e9))
pd.set_option('display.max_columns', None)
while True:
    api.wait_update()
    if api.is_changing(klines.iloc[-1], "datetime"):
        klines_close = klines.filter(regex='(datetime)|close\d*$').copy()
        klines_close = klines.copy()
        datetime_format = datetime.datetime.fromtimestamp(klines_close.iloc[-1]["datetime"] / 1e9)
         print('新K线触发:', datetime_format)
        klines_close['datetime'] = klines_close['datetime'].apply(lambda x: datetime.datetime.fromtimestamp(x / 1e9))
        print('klines_close:', klines_close)

李思恒 已回答的问题 2022年8月10日
0

因为你一变化的时候就取,这时候是没有数据的,我们的K线是连续的,open=上一根的close,这时候高开低收都是这个open的价格。最后你的截图好像有账号密码,如果是你的话记得删帖

李思恒 已回答的问题 2022年8月10日