Major refactoring, extracting common trading rationale from both back testing strategy and actual strategy