Например было так:
Code:
      for (int i = 0; i < P.Count; i++) {
        if (i < Period)
          SMA_[i] = 0;
        else
          for (int j = i - Period + 1; j <= i; j++)
            SMA_[i] += P[j];
        SMA_[i] = SMA_[i]/(Period + 0.0);
      }

А можно примерно так:
Code:
      int count = P.Count;
      int period = Period;
      for (int i = 0; i < count; i++) {
        double s = SMA_[i];
        if (i >= period)
          for (int j = i - period + 1; j <= i; j++)
            s += P[j];
        s /= period;
        SMA_[i] = s;
      }

Повторюсь, большого эффекта это не даст.