Chinaunix首页 | 论坛 | 博客
  • 博客访问: 949941
  • 博文数量: 264
  • 博客积分: 10107
  • 博客等级: 上将
  • 技术积分: 2455
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-09 16:34
文章分类

全部博文(264)

文章存档

2012年(1)

2011年(11)

2010年(128)

2009年(82)

2008年(42)

我的朋友

分类: 系统运维

2010-09-20 14:24:41

来源:riafan.com 作者:Flying 2010年05月31日 14:51  点击: 697

移动平均线通常是指算术移动平均线,在计算移动平均值时,通常采用最近n天的收市价格。我们把新的收市价格逐日地加入数组,而往前倒数的第n+1个收市价则被剔去。然后再把新的总和除以n,就得到了新的一天的平均值(n天平均值)。

那如何在Flex Chart中画移动平均线呢?请看下面的方法:

private function getMACollection(collection:ArrayCollection, offset:int):ArrayCollection
{
 var newCollection:ArrayCollection = new ArrayCollection();
 var len:int = collection.length;
 for (var i:int = 0; i < len - offset + 1; i++) 
 {
  var sumClose:Number = 0;
  for (var j:int = i ; j < offset + i; j++) 
  {
   var o:Object = collection.getItemAt(j);
   sumClose +=  o.stockA;
  } 
  var item:Object = new Object();
  item.date = collection.getItemAt(i  + offset - 1).date; 
  item.stockA = sumClose/offset;
  newCollection.addItem(item);
 } 
 return newCollection;
}


查看该实例最终效果:
下载该实例的源码:

阅读(573) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~