2016-12-05 23:44:36 +01:00
|
|
|
|
class sma_generator(period, list=[], sum=0) {
|
|
|
|
|
|
|
|
|
|
|
|
method SMA(number) {
|
|
|
|
|
|
list.append(number)
|
|
|
|
|
|
sum += number
|
|
|
|
|
|
if (list.len > period) {
|
|
|
|
|
|
sum -= list.shift
|
|
|
|
|
|
}
|
|
|
|
|
|
(sum / list.len)
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
var ma3 = sma_generator(3)
|
|
|
|
|
|
var ma5 = sma_generator(5)
|
|
|
|
|
|
|
2017-09-23 10:01:46 +02:00
|
|
|
|
for num (1..5, flip(1..5)) {
|
|
|
|
|
|
printf("Next number = %d, SMA_3 = %.3f, SMA_5 = %.1f\n",
|
2016-12-05 23:44:36 +01:00
|
|
|
|
num, ma3.SMA(num), ma5.SMA(num))
|
|
|
|
|
|
}
|