public override TradingSignalType Analysis(IEnumerable <Candle> candles, IIndicatorService indicatorService) { var result = new List <TradingSignalType>(); var lastCandle = candles.Last(); var _macd = indicatorService.Macd(candles, 12, 26, 9); var difLast = _macd.DIF.Last(); var demLast = _macd.DEM.Last(); var oscLast = _macd.OSC.Last(); var _rsi = indicatorService.Rsi(candles, 14); var last = _rsi.Last(); if (/*(decimal)oscLast > 0 &&*/ last < 40) { return(TradingSignalType.Buy); } else if (/*(decimal)oscLast < 0 &&*/ last > 65) { return(TradingSignalType.Sell); } else { return(TradingSignalType.Hold); } /*for (int i = 0; i < candles.Count(); i++) * { * if (_rsi[i] > 70 && (_macd.Value[i] - _macd.Signal[i]) < 0) * result.Add(TradingSignalType.Sell); * else if (_rsi[i] < 30 && (_macd.Value[i] - _macd.Signal[i]) > 0) * result.Add(TradingSignalType.Buy); * else * result.Add(TradingSignalType.Hold); * } * * return result.Last();*/ }