Я играл с функцией ActiveQuant FinancialLibrary SimpleMovingAverage SMA () ниже:
Есть ли ошибка в алгоритме ниже, где он вычисляет среднее значение, заглядывая «в будущее» (как это делает я <(period + skipdays))? </p>
public static double SMA(int period, double[] vals, int skipdays) {
double value = 0.0;
for (int i = skipdays; i < (period + skipdays); i++) {
value += vals[i];
}
value /= (double) period;
return value;
}
Цикл for можно заменить на цикл ниже, где он смотрит назад.
for (int i = skipdays - period; i < skipdays; i++) {
value += vals[i];
}
Я что-то упустил?