Sammo 2011年05月08日
恭请诸位高手进来:求SMA和EMA函数的C#写法。
没写过这类函数,来此求助:
一、SMA(X,N,M)的函数算法:
SMA(X,N,M),求X的N日移动平均,M为权重。
算法: 若Y=SMA(X,N,M)
则 Y=[M*X+(N-M)*Y')/N,其中Y'表示上一周期Y值,N必须大于M。

二、EMA(X,N)的函数算法:
EMA(X,N),求X的N日指数平滑移动平均。
算法:若Y=EMA(X,N)
则Y=[2*X+(N-1)*Y']/(N+1),其中Y'表示上一周期Y值。

假设有一数组:decimal[] X=new decimal[100];
如何编写这两个函数,可以实现把X代入函数后,可以实现求出X[0]到X[99]的SMA和EMA的Y值。
还有一个细节就是:如果设定的N值为5天,那么无法求出X[96]到X[99]的Y值,直接返回值为0。

谢谢!!!
...全文
178 点赞 收藏 6
写回复
6 条回复

还没有回复,快来抢沙发~

发动态
发帖子
C#
创建于2007-09-28

8.4w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告