(do (def SMA (fn [length] (do (def history (series :float)) (push history 0) (fn [val] (do (def sum (+ val (history 0))) (push history sum) (/ sum length) (history 0) )) ))) (def sma20 (SMA 20)) (def n 100) (while (> n 0) (do (print "val=" n " sma20=" (sma20 n)) (assign n (- n 1)) )) )