使用Flex Chart画移动平均线

移动平均线通常是指算术移动平均线,在计算移动平均值时,通常采用最近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;
}

点击此处查看该实例最终效果,点击此处下载该实例的源码。

发表评论

电子邮件地址不会被公开。 必填项已用*标注