So much software engineering.... so little trading....
In all likelihood, your algo (SMA, std, whatever) will require so little actually processing that you are just wasting your time with all of this; Unless you are doing 2000x2000 matrix inversion in real-time, why bother with all this...