(do (def SMA (fn [length] (do (def history (series :float)) (def sum 0.0) (fn [val] (do (def hist_len (len history)) (if (>= hist_len length) (assign sum (- sum (history (- hist_len 1)))) ...) (push history val) (assign sum (+ sum val)) (/ sum (len history)) ))))) (def sma10 (SMA 10)) (sma10 1) (sma10 2) (sma10 3) (sma10 4) (sma10 5) (sma10 6) (sma10 7) (sma10 8) (sma10 9) (sma10 10) (sma10 11) )