EMA指标计算C#代码


计算公式如下
EMA(N) = EMA’×(N-1)/(N+1)+C×2/(N+1)
其中:EMA’为前一日EMA的值,C为当日股价。
注意:人为规定第一日的EMA值为当日股价。

实现代码如下:

static double[] EMA(double[] kvs, int period)
        {
            double[] res = new double[kvs.Length];
            double up = kvs[0];
            res[0] = up; // 第一日 
            double w1 = (period - 1D) / (period + 1);
            double w2 = 2D / (period + 1);
            for (int i = 1; i < kvs.Length; i++)
            {
                up = (up * w1) + (kvs[i] * w2);
                res[i] = up;
            }
            return res;
        }
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐