EMA 返回 N/A 值?输入值确定正常不是 N/A 值

目前测试了几个品种,都只在5分钟出现问题,其他周期暂时没发现问题,请大佬解惑纯碱 osc 值正常,氧化铝和橡胶返回 N/A 输入的 raw_osc 都正常,非常奇怪这是下面是函数代码部分。 Numeric calculate_oscillator() { Numeric llv = LowestFC(Low, 20); Numeric hhv = HighestFC(High, 20); Numeric numerator = Close - llv; Numeric denominator = hhv - llv; Numeric osc_raw = (numerator / denominator) * 100; Commentary("osc_raw:" + Text(osc_raw)); Commentary("ocs:" + Text(EMA(osc_raw, 4))); Return EMA(osc_raw, 4); }

作为一个程序员的基本常识,看到除法一定要写除数为0的异常处理。

回复:如果还没想明白的话,提醒一点,出无效值的合约数据,一定有一字板吧?而且是一字板之后才无效值的对吗?

回复:非常感谢,我往前翻合约涨停前正常,涨停后就出现这个问题我在python的实现中考虑了除以0的异常(denominator = hhv - llv + 1e-9 # 防止除零)直接改 tb 代码当时报了个错顺手就删除了,太大意了不过我测试python代码一般除以0立马抛出异常中断程序了,所以我刚接触tb中习惯性检查输入值 osc_raw 发现正常所以感到疑惑,所以没有第一时间想明白问题。