Пример #1
0
        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));
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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;
        }
Пример #5
0
        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);
            }
        }