public static DoubleRange GetPriceVisibleRange(IOhlcDataSeries <DateTime, double> series, IRange xRange) { try { var yRange = series.GetWindowedYRange(xRange); double?max = yRange.Max as double?; double?min = yRange.Min as double?; DoubleRange newRange = new DoubleRange(); if (max != null && min != null) { double maxD = (double)max; double minD = (double)min; double diff = (maxD - minD) * .1; if (diff < 1 && maxD < 10) { newRange = new DoubleRange(-1, 11); } else { newRange = new DoubleRange(minD - diff, maxD + diff); } } return(newRange); } catch (Exception err) { //LoggerHome.GetLogger(new ChartUtility()).Error("Error in GetPriceVisibleRange : ", err); throw new Exception("Error in GetPriceVisibleRange : ", err); return(new DoubleRange(0, 10)); } }
public MainViewModel() { var instrument = _dataManager.AvailableInstruments.FirstOrDefault(x => x.Symbol == "INDU"); var timeFrame = _dataManager.GetAvailableTimeFrames(instrument).First(); var priceData = _dataManager.GetPriceData(instrument.Symbol, timeFrame); _dataSeries = new OhlcDataSeries <DateTime, double>(); _dataSeries.Append(priceData.TimeData, priceData.OpenData, priceData.HighData, priceData.LowData, priceData.CloseData); }
public static double GetAverageVisibleValue(IOhlcDataSeries <DateTime, double> series) { double average = 0.0; try { if (series.Count > 150) { var high150Values = series.HighValues.Skip(Math.Max(0, series.HighValues.Count - 150)).Take(150); average = high150Values.Average(); } else { average = series.HighValues.Average(); } } catch (Exception err) { throw new Exception("Error in GetAverageVisibleValue : ", err); } return(average); }
public static double GetAverageVisibleValue(IOhlcDataSeries<DateTime, double> series) { double average = 0.0; try { if (series.Count > 150) { var high150Values = series.HighValues.Skip(Math.Max(0, series.HighValues.Count - 150)).Take(150); average = high150Values.Average(); } else { average = series.HighValues.Average(); } } catch (Exception err) { throw new Exception("Error in GetAverageVisibleValue : ", err); } return average; }
public static DoubleRange GetPriceVisibleRange(IOhlcDataSeries<DateTime, double> series, IRange xRange) { try { var yRange = series.GetWindowedYRange(xRange); double? max = yRange.Max as double?; double? min = yRange.Min as double?; DoubleRange newRange = new DoubleRange(); if (max != null && min != null) { double maxD = (double)max; double minD = (double)min; double diff = (maxD - minD) * .1; if (diff < 1 && maxD < 10) { newRange = new DoubleRange(-1, 11); } else newRange = new DoubleRange(minD - diff, maxD + diff); } return newRange; } catch (Exception err) { //LoggerHome.GetLogger(new ChartUtility()).Error("Error in GetPriceVisibleRange : ", err); throw new Exception("Error in GetPriceVisibleRange : ", err); return new DoubleRange(0, 10); } }