六帖のかたすみ

DVを受けていた男性。家を脱出して二周目の人生を生きています。自閉症スペクトラム(受動型)です。http://rokujo.org/ に引っ越しました。

n日移動平均

意外と簡単だった。

/**
n日移動平均を求める
*/
public static CalcSMA(hiashiArr: Array<Hiashi>, days: number): Array<DateVal> {
    var retArr: Array<DateVal> = [];

    var currentSum: number = 0;
    for (var i in hiashiArr) {
        var hiashi: Hiashi = hiashiArr[i];
        var dv: DateVal = new DateVal;
        dv.date = new Date(hiashi.ymd);
        currentSum += Number(hiashi.close);
        if (i >= days) {
            var nPrevHiashi = hiashiArr[i - days];
            currentSum -= Number(nPrevHiashi.close);
            dv.val = currentSum / days;
        } else {
            dv.val = currentSum / (i + 1);
        }
        retArr[i] = dv;
    }
    return retArr;
}


緑:25日平均、青:75日平均
今日はここまで。