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;
}