2.20K 浏览
0

ticks = api.get_tick_serial("DCE.eg2109")
quote = api.get_quote("DCE.eg2109")
 while True:
    api.wait_update()
    if api.is_changing(quote, "bid_price1"):
        print(ticks.iloc[-1].bid_price1 - ticks.iloc[-2].bid_price1)

需要tick频率的价格变化判断,

以上代码按之前理解打印输出应该是1.0或者-1.0,可是实际输出时还有输出0的情况,

1.这是代表买一价格并没有更新成功吗?

2.是因为quote与tick是不同步的?

尝试过用api.is_changing(ticks, “bid_price1”)以及api.is_changing(ticks.iloc[-1], “bid_price1”)结果输出全部是False。。

3.api.is_changing怎样判断tick里面的某项内容变化?

4.请问怎样查询自己账号下在论坛里的历史记录?

ringo 已回答的问题 2021年7月23日

补充,以上代码有时在 bid_price1 实际有变化的情况下,打印输出也是 0,请问是什么原因呢?
另外论坛历史记录已经找到了。。。

0

因为quote和tick并不是在每个截面完全等价你应该判断的是

api.is_changing(tick.iloc[-1],”last_price”):

xxxxxxxx

ringo 已回答的问题 2021年7月23日
0

更新频率是有一个限制的,最快的就是tick频率约0.5秒,bid_price1并不一定是每个tick都会有变化的,然后关于tick某项可以参考kline的用法,是datafram判断某个值,看看我们文档

silph002 发表新评论 2021年7月23日

如果bid_price1没有变化,上面代码是不是应该就不会进入打印的语句了呢?

是的,按理说是不会满足判断条件的

可是上面这段代码经常会有 0 的输出。。。是为什么呢?