public BarSeries Compress(DataEntryEnumerator enumerator) { BarSeries series = new BarSeries(); this.NewCompressedBar += (sender, args) => series.Add(args.Bar); while (enumerator.MoveNext()) this.Add(enumerator.Current); this.Flush(); return series; }
public BarSeries GetRange(DateTime dateTime1, DateTime dateTime2) { BarSeries barSeries = new BarSeries(); int index = this.series.GetIndex(dateTime1, EIndexOption.Next); int index2 = this.series.GetIndex(dateTime2, EIndexOption.Prev); if (index != -1 && index2 != -1) { for (int i = index; i <= index2; i++) { barSeries.Add(new Bar(this.series[i])); } } return(barSeries); }
///<summary> /// Returns bars from within specified dates interval ///</summary> public BarSeries GetRange(DateTime dateTime1, DateTime dateTime2) { BarSeries barSeries = new BarSeries(); int index1 = this.series.GetIndex(dateTime1, EIndexOption.Next); int index2 = this.series.GetIndex(dateTime1, EIndexOption.Prev); if (index1 != -1 && index2 != -1) { for (int index3 = index1; index3 <= index2; ++index3) { barSeries.Add(new Bar(this.series[index3])); } } return(barSeries); }
private void PreLoadHistoricalData(DateTime startDate, int barSize, BarSeries barsToAppendTo) { Stopwatch watch = new Stopwatch(); watch.Start(); string barName = BarNameManager.GetBarName(barSize); LoggingUtility.WriteInfo(this, string.Format("Trying to retrieve {0} data starting from {1} from IB", barName, startDate.ToShortDateString())); BarSeries historicalData = GetHistoricalBars("IB", Instrument, startDate, Clock.Now, barSize); watch.Stop(); int retrievedBarCount = historicalData.Count; LoggingUtility.WriteInfo(this, string.Format("Took {0}ms to retrieve data from IB for {1} period data. Total bars retrieved: {2}", watch.ElapsedMilliseconds, barName, retrievedBarCount)); watch.Reset(); watch.Start(); foreach (Bar currentBar in historicalData) { barsToAppendTo.Add(currentBar); SaveData(currentBar); OnBar(currentBar); } watch.Stop(); LoggingUtility.WriteInfo(this, string.Format("Took {0}ms to load data into memory for {1} data", watch.ElapsedMilliseconds, barName)); }
public BarSeries GetRange(DateTime dateTime1, DateTime dateTime2) { BarSeries barSeries = new BarSeries(); int index = this.series.GetIndex(dateTime1, EIndexOption.Next); int index2 = this.series.GetIndex(dateTime2, EIndexOption.Prev); if (index != -1 && index2 != -1) { for (int i = index; i <= index2; i++) { barSeries.Add(new Bar(this.series[i])); } } return barSeries; }