1.第一个疑问,下面是update_tick函数中把tick更新到bar数据中的部分,最高价和最低价,为什么不是直接比较当前bar的最高最低价和tick最高最低价的比较,而是
还要比较上一个tick
self.bar.high_price = max(self.bar.high_price, tick.last_price)
if tick.high_price > self.last_tick.high_price:
self.bar.high_price = max(self.bar.high_price, tick.high_price)
self.bar.low_price = min(self.bar.low_price, tick.last_price)
if tick.low_price < self.last_tick.low_price:
self.bar.low_price = min(self.bar.low_price, tick.low_price)
2.还是这个函数,在更新bar的成交量时候,为什么不是直接累加上新tick的成交量,还要和上一次做差值,再和0比较取最大的加上去
double volume_change = tickData->volume - m_lastTick->volume;
m_Bar->volume= m_Bar->volume+std::max(volume_change, 0.0);