Skip to content

SMA(简单均线) 计算是错误的  #1

@findM

Description

@findM

/// SMA(简单均线)
///
/// - Parameters:
/// - dayCount: 天数
/// - data: 数据集
/// - Returns: 均值数据
fileprivate static func calculateSMA(dayCount: Int, datas: [KLineModel]) -> [Double] {
let dayCount = dayCount - 1

    var result = [Double]()
    for i in 0 ..< datas.count {
        if (i < dayCount) {
            result.append(Double.nan)
            continue
        }
        var sum: Double = 0.0
        for j in 0 ..< dayCount {
            sum = sum + datas[i - j].close
        }
        result.append(abs(sum / Double(dayCount)))
    }
    return result
}

这样计算出的是 前四天的均值

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions