多图层计算期权隐含波动率等指标,期权合约K线加载不出来

策略在动态订阅期权和动态取消订阅期权。 图层1是主连合约,动态加载期权合约,5分钟K线 range[]图层,计算myImVolatility时,第二图层K线就消失了,bar信息没有、comment()信息也没有了,提示有无穷大。类似情况Delta、Theta计算时也同样出现。 怀疑是在bar计算时,某个bar里计算出不正常的值了。想通过if(myImVolatility == InvalidNumeric)去过滤值,没有效果。 有时候是正常显示的,有时候会出现这个问题。无法确定原因。 //期权隐含波动率 myImVolatility = ImpliedVolatility(TradingDayLeft, StrikePrice, data0.Close, 1.5, Close, OptionType, OptionStyle); if(myImVolatility == InvalidNumeric or myImVolatility>999 or myImVolatility<-999) myImVolatility = 10;//无法解决

策略有些乱,不方便贴。我后来发现,并不是什么指标计算的问题。是订阅合约、取消订阅引起。同一种场景下,我K线图下,我点击“刷新”,大概20次有一次是完全正常显示的;大概有10次可以在期权上显示信号(还是无穷大处,不显示K线);大概有10次是什么都不显示(信号、K线全无)。猜测,是因为“期权数据不完整”导致的显示问题。但不影响后台实际交易,仅仅是显示问题而已。

方便提供一下完整代码以便我们复现吗