为什么KValue是Series<Numeric> DValue是Numeric 两者的数据类型不一样 感谢!

hi,下图是个KDJ指标 请问:1)为什么KValue是Series<Numeric> , DValue是Numeric ,两者的数据类型不一样 。2)请问下面代码 DValue能否也改成Series<Numeric>数据类型呢 (详见下图红色mark)//------------------------------------------------------------------------// 简称: kdj1// 名称: kdj_me1Params Numeric Length(9); // 也有用14的 即(9,3,3) 或 (14,3,3) Numeric SlowLength(3); Numeric SmoothLength(3);Vars Series<Numeric> HighestValue; Series<Numeric> LowestValue; Series<Numeric> KValue; Numeric DValue; //为什么KValue是Series<Numeric> DValue是Numeric 两者的数据类型不一样 Numeric SumHLValue; Numeric SumCLValue;Events OnBar(ArrayRef<Integer> indexs) { Range[0:DataSourceSize() - 1] { HighestValue = HighestFC(High, length); LowestValue = LowestFC(Low, Length); SumHLValue = SummationFC(HighestValue - LowestValue,slowLength); //过去3根K线的即SlowLength(3) 上轨-下轨的差加起来 H-L 所以是SumHLValue SumCLValue = SummationFC(Close - LowestValue,SlowLength); //过去3根K线的即SlowLength(3) 收盘价-下轨的差加起来 C-L 所以是SumCLValue If(SumHLValue <> 0) { KValue = SumCLValue/SumHLValue*100; }Else { KValue = 0; } DValue = AverageFC(KValue,SmoothLength); // SmoothLength(3) PlotNumeric("K",KValue); PlotNumeric("D",DValue); PlotNumeric("J",3*KValue - 2*DValue); PlotNumeric("Ref1",20); //超卖 跌太多可能反弹 PlotNumeric("Ref2",80); //超买 涨 太多可能反弹 } }

Series<Numeric> KValue;Numeric DValue;一个是序列变量,一个是普通变量序列能继承之前的值至于为什么,看写的人

可能帮你写的人没有强迫症,能跑就行但你把这个作为一个指标的时候,Series<Numeric> 和 Numeric 这两种类型 都可以如果你这是策略的一部分,策略其他部分需要回溯引用 K 、D、J的值,就要用Series<Numeric> 类型。具体数据类型的应用场景可以看 零基础学量化 课程 https://video.tbquant.net/