SMA = {} SMA.P = 5 // (a default; may be overridden) SMA.buffer = null SMA.next = function(n) if self.buffer == null then self.buffer = [] self.buffer.push n if self.buffer.len > self.P then self.buffer.pull return self.buffer.sum / self.buffer.len end function sma3 = new SMA sma3.P = 3 sma5 = new SMA for i in range(10) num = round(rnd*100) print "num: " + num + " sma3: " + sma3.next(num) + " sma5: " + sma5.next(num) end for