4.22K 浏览
0

假如有这样的应用场景: 想研究砖头图, 那么一般思路是用tq的.get_quote数据模式  每个update进行砖头的合成 (类似生成k线),如果生成,开始计算策略,假如策略运行时间是超过1秒,那么理论上会丢失2个行情截面数据,那么下一轮的砖头生成的数据就不准确了。

想到的思路是专门一个线程合成砖头,另外一个线程共享合成后的数据,这样行情接收—-数据合成—策略计算都是独立的  ,不会丢tick。

但因水平有限,没有试验成功,请大神们指点,如果天勤官方能出个示例就更好了。

谢谢!

lookis 已回答的问题 2020年11月5日
0

可以先不要用异步,对新手不友好,可以只用多线程来做:

from queue import Queue
q = Queue()
# 线程一
while True:
    api.wait_update()
    t = api.get_tick_serial(symbol)
    if can_merge_new_kline(t):
        new_kline = merge_new_kline(t)
        q.put(new_kline)
 # 线程二
while True:
    new_kline = q.get()
    #....
    pass

shen liu 发表新评论 2020年11月6日

万分感谢大神的帮助,代码牛x,完美解决问题!

您正在查看2个答案中的1个,单击此处查看所有答案。