public void CanSerializeToXml_RSIRange() { var source = new RSIRange { Symbol = "A", Date = DateTime.Today, Min = 1.0, Max = 2.0, L5 = 3.0, H5 = 4.0, L10 = 5.0, H10 = 6.0, L15 = 7.0, H15 = 8.0, }; var i = source.ToIndicator(); var target = EntityHelper.DeserializeFromXml <RSIRange>(i.Data); Assert.IsTrue(source.Symbol == target.Symbol); Assert.IsTrue(source.Date == target.Date); Assert.IsTrue(source.Min == target.Min); Assert.IsTrue(source.Max == target.Max); Assert.IsTrue(source.L5 == target.L5); Assert.IsTrue(source.H5 == target.H5); Assert.IsTrue(source.L10 == target.L10); Assert.IsTrue(source.H10 == target.H10); Assert.IsTrue(source.L15 == target.L15); Assert.IsTrue(source.H15 == target.H15); }
public Indicator AnalyzeData(DataState state) { List <double> closePrices = _analyseRepo.LoadClosePriceBySymbol(state.Symbol, true).ToList(); RSIRangeData range = RSICalculator.GetRSIRange(RSICalculator.Period, closePrices); if (range == null) { return(null); } RSIRange value = new RSIRange(); value.Symbol = state.Symbol; value.Date = state.Last.Value; value.Min = range.Min; value.Max = range.Max; value.L5 = range.L5; value.H5 = range.H5; value.L10 = range.L10; value.H10 = range.H10; value.L15 = range.L15; value.H15 = range.H15; return(value.ToIndicator()); }