比较精确绘制下一分钟K线

业务需求场景:

在某产品买卖双方拉锯导致价格波动剧烈,或者某平台对K线进行风险控制管控.用户希望在一分钟内看到实时行情变化.

解决方案: 用户端手动绘制下一分钟的K线行情蜡烛

具体操作:

设置一个哨兵定时器,该定时器1秒执行一次,在哨兵定时器中计算当前时间戳是否被60秒整除,如果可以被60秒整除那么执行绘制下一条K线蜡烛数据.

绘制方法如下:

001 获取到当前一分钟K线最后一个行情数据LK

002 新建一个K线对象NK

003 NK的高开低收价格都设置成LK的收盘价

004 NK的之前K线行情数据设置为LK数据

005 NK的时间就是当前时间戳* 1000 这里将时间戳置为长整型数据 这样就就可以避免十字线所指向的时间秒数不准确的问题.

006 NK 初始化MA7等数据

007 将NK数据添加到当前行情数据的最后一个 更新当前行情数据

008 最后渲染K线

绘制完之后延迟3秒开启另一个60秒请求历史K线数据刷新定时器 这样就可以比较精确绘制

这里再做一个优化:

当实时行情推过来的时候将实时价格填充到最后一条K数据中会发现引线不准确这里做出一个优化:

当前价格大于最高价那么最高价置为当前价 如果当前价小于最低价 那么最低价置为当前价

最后进行绘制K线操作操作

 

 

 

你可能感兴趣的:(个人OC知识梳理)