小编zoz*_*zed的帖子

如何在C#中更快地计算出简单的移动平均线?

用于计算简单移动平均值的最快库/算法是什么?我写了自己的,但是在33万项十进制数据集上花了太长时间.

  • 期间/时间(ms)
  • 20/300;
  • 60/1500;
  • 120/3500.

这是我的方法的代码:

public decimal MA_Simple(int period, int ii) {
    if (period != 0 && ii > period) {
        //stp.Start();
        decimal summ = 0;
        for (int i = ii; i > ii - period; i--) {
            summ = summ + Data.Close[i];
        }
        summ = summ / period;
        //stp.Stop();
        //if (ii == 1500) System.Windows.Forms.MessageBox.Show((stp.ElapsedTicks * 1000.0) / Stopwatch.Frequency + " ms");
        return summ;
    } else return -1;
}
Run Code Online (Sandbox Code Playgroud)

Data.Close[]是一个固定大小(1 000 000)的十进制数组.

c# algorithm financial moving-average

15
推荐指数
4
解决办法
6万
查看次数

标签 统计

algorithm ×1

c# ×1

financial ×1

moving-average ×1