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)); }
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)); }
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); }