Beispiel #1
0
        public async Task TestFullStoAsync()
        {
            var candles = await ImportCandlesAsync();

            var indicator = new Stochastics.Full(candles, 14, 3, 3);
            var result    = indicator[candles.Count - 1];

            Assert.IsTrue(92.31m.IsApproximatelyEquals(result.K.Value));
            Assert.IsTrue(93.25m.IsApproximatelyEquals(result.D.Value));
            Assert.IsTrue(90.43m.IsApproximatelyEquals(result.J.Value));
        }
Beispiel #2
0
        public async Task TestFullStoAsync()
        {
            var equity = await ImportEquityAsync();

            var indicator = new Stochastics.Full(equity, 14, 3, 3);
            var result    = indicator.ComputeByIndex(equity.Count - 1);

            Assert.IsTrue(92.31m.IsApproximatelyEquals(result.K.Value));
            Assert.IsTrue(93.25m.IsApproximatelyEquals(result.D.Value));
            Assert.IsTrue(90.43m.IsApproximatelyEquals(result.J.Value));
        }
Beispiel #3
0
        public IList <BaseIndicatorValue> ComputeStochastic(IList <Candle> candles, int basePeriod, int smaPeriodK, int smaPeriodD)
        {
            var indicator = new Stochastics.Full(candles.Select(candle => candle.ToInnerModel()), basePeriod, smaPeriodK, smaPeriodD);

            var innerValues = indicator.Compute();

            var outputValues = new List <BaseIndicatorValue>();

            outputValues.AddRange(innerValues
                                  .Where(value => value.DateTime.HasValue)
                                  .Select(value => value.ToStochasticOuterModel()));

            return(outputValues);
        }