985 浏览
0

实盘交易,用insert_order和对手价做平仓价,请问为什么价格都已经突破或者跌破我设置的点位还不成交?如果价格突破或跌破后还在我设置的点位附近,还要隔一会才能成交?

用python的ethan 编辑评论 2022年5月20日

请问怎么解决此类问题?

初步发现可能是因为每一段执行开仓或者平仓的代码都会先用if api.is_changing(quote)来判断一下。我把开平仓函数中的if api.is_changing(quote)删掉之后,暂时没有出现到价不成交的情况了(同样的代码,删掉api.is_changing(quote)比未删除的程序开平仓速度更快,而且价格到了立刻会成交)。
但是又出现一个问题,独立追踪k线的函数,本身就没有用过if api.is_changing(quote),只用了if api.is_changing(kline.iloc[-1], ‘datetime’),可删除开平仓函数中的if api.is_changing(quote),追踪k线的函数却莫名其妙的缺k线的数据,最高价最低价都有缺失。
请问为什么会导致这个问题呢?我必须再if api.is_changing(kline.iloc[-1], ‘datetime’)前面再加一句if api.is_changing(quote)?
还有,如果api.wait_update()之后没有if api.is_changing(quote),而是直接跟开平仓的函数,而函数中会用到quote,还会导致什么问题发生呢?