public Task <SignalStrength> ProcessSignalAsync(TimePeriod timePeriod, CandleDto[] candles) { var cmo = new CMO().Calculate(candles, 9); var cci = new CCI().Calculate(candles, 20); var mfi = new MFI().Calculate(candles, 14); var cmoUnit = TraderUtils.NormaliseAndClamp(cmo.First(), -50, 50); var cciUnit = TraderUtils.NormaliseAndClamp(cci.First(), -100, 100); var mfiUnit = TraderUtils.NormaliseAndClamp(mfi.First(), 10, 80); var avg = (cmoUnit + cciUnit + mfiUnit) / 3; return(Task.FromResult(TraderUtils.ToSignalStrength(avg))); }