3.04K 浏览
0

from tqsdk import TqApi, TqAuth, TqSim, TqBacktest, TargetPosTask, tafunc, BacktestFinished
from tqsdk.objs import Quote
from datetime import datetime, date, time
 beg_dt = datetime(2021, 1, 22)
end_dt = datetime(2021, 3, 16)
 sim_acc = TqSim(init_balance=1e9)
api = TqApi(
    sim_acc,
    backtest=TqBacktest(start_dt=beg_dt, end_dt=end_dt),
    auth=TqAuth(),
    web_gui=False
)
symbol = "DCE.i2105"
quote = api.get_quote(symbol)
k_1d = api.get_kline_serial(symbol, 86400, 3)
 while True:
    api.wait_update()
    if api.is_changing(quote, "last_price"):
        print(tafunc.time_to_datetime(quote.datetime))
        print(quote.last_price, quote.lowest, quote.highest)

打印出来是这样的

原因在哪

zwj_0w0 编辑问题 2021年3月19日
0

试试最简代码只打印quote看看,其他的判断条件都去掉

zwj_0w0 发表新评论 2021年3月19日

试了,还是不行,把代码放在问题里了,您看下

https://doc.shinnytech.com/tqsdk/latest/reference/tqsdk.backtest.html?highlight=
看一下这个文档,回测中是没有这些数据如果只订阅quote,需要同时订阅get_tick_serial

我只想要当天实时的最高最低价,订阅tick回测实在太慢了