private void OnPriceBreak(IMove newMove) { IMoveAnalyzerStrategy strategy = GetAnalyzerStrategy(newMove); if (strategy == null) { Debugger.Break(); } var result = strategy.Execute(MoveMgr, newMove); ResultSubject.OnNext(result); }
IMoveAnalyzerStrategy GetAnalyzerStrategy(IMove move) { IMoveAnalyzerStrategy retStrategy = null; switch (move.TrendType) { case (int)Trend.TrendType.Up: retStrategy = new LongMoveAnalyzerStrategy(); break; case (int)Trend.TrendType.Down: retStrategy = new ShortMoveAnalyzerStrategy(); break; } return(retStrategy); }