(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 (- length 1))))) (push history val) (assign sum (+ sum val)) (if (>= hist_len length) (/ sum length)) ))))) )