;; Skip: work in progress — requires external RTL module (SMA not yet implemented) #use rtl (do (def src (create-random-ohlc 42 200)) (macro printx [s] `(fn [x] (print ~s x))) (pipe src print) (pipe [(pipe [(.close src)] (SMA 20))] (printx "sma20=")) (pipe [(pipe [(.close src)] (SMA 5))] (printx "sma5=")) (pipe [(pipe [(.close src)] (SMA 100))] (printx "sma100=")) (macro cache [lookback type src] `(do (def data (series ~lookback ~type)) (pipe [~src] (fn [s] (do (push data s)))) data)) ; (def bars (series 20 :float)) ; (pipe [src] (fn [s] (do (push bars (.close s))))) (cache 20 :float src) )