Exemple #1
0
        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)));
        }