5.43K 浏览
0
wait_update()更新速度我看大约是1秒一次,可以设置参数调整为60秒或者更低频吗?

或者如果想让监控数据的过程慢下来,有什么办法?  比如上一次数据print('close')之后,我想5分钟之后再print('close')做对比。
葫芦-量化交易服务 已回答的问题 2019年10月28日
1

from tqsdk import TqApi,TqBacktest,TqSim
import datetime
from datetime import date

api = TqApi(TqSim(),backtest=TqBacktest(start_dt=date(2019, 5, 1), end_dt=date(2019, 10, 1)))
klines = api.get_kline_serial(“DCE.m2001″, 10) # 引用m2001 10s K线
while True:
api.wait_update()
if api.is_changing(klines.iloc[-1],”datetime”):
print(datetime.datetime.fromtimestamp(klines.iloc[-1][“datetime”] / 1e9))
print(klines.iloc[-5:])
api.close()

ethan gu 发表新评论 2019年10月28日

good!!,原来问题是在.iloc[-1]这里,搞定了,谢谢

1

可以自行设置。可以通过wait_update()与is_changing()搭配使用。

可以通过根据对象quote、kline、account等相应字段的更新频率来自行设置策略主体的更新,更新规则参考论坛已回答问题https://www.shinnytech.com/question/7359/

ethan gu 编辑评论 2019年10月28日

klines = api.get_kline_serial(“DCE.m2001”, 10) # 引用m2001 1分钟K线
print(klines[-5:])

while True:
api.wait_update()
if api.is_changing(klines.open):
print(klines[-5:])

尝试写了一下您说的这个方式,我想实现10秒后打印出最后5个K线数据,但是没有成功,请协助修正一下