本文整理汇总了C#中ISeries.Summation方法的典型用法代码示例。如果您正苦于以下问题:C# ISeries.Summation方法的具体用法?C# ISeries.Summation怎么用?C# ISeries.Summation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISeries
的用法示例。
在下文中一共展示了ISeries.Summation方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetWMA
/// <summary>
/// 加權移動平均值
/// </summary>
/// <param name="series">ISeries 類別</param>
/// <param name="length">欲計算平均值的個數</param>
/// <param name="previous">前一筆平均結果值(如果有前一筆平均結果值則可以加快計算速度)</param>
/// <returns>返回值:平均值</returns>
private static double GetWMA(ISeries<double> series, int length, double previous = 0) {
double dValue = 0, dSum = 0, dWeight = 1;
if (previous == 0) {
for (int i = length - 1; i >= 0; i--) {
dSum += dWeight;
dValue += series[i] * dWeight++;
}
dValue /= ((dSum == 0) ? 1 : dSum);
} else {
dSum = series.Summation(length);
//計算出加權移動平均
dWeight = (length * (length + 1)) / 2;
previous *= dWeight;
dValue = (previous + series.Value * length) - dSum;
dValue /= ((dWeight == 0) ? 1 : dWeight);
}
return dValue;
}