def __onNewValues(self, dateTime, value): if self.__range is None: self.__range = resamplebase.build_range(dateTime, self.getFrequency()) self.__grouper = BarsGrouper(self.__range.getBeginning(), value, self.getFrequency()) elif self.__range.belongs(dateTime): self.__grouper.addValue(value) else: self.__values.append(self.__grouper.getGrouped()) self.__range = resamplebase.build_range(dateTime, self.getFrequency()) self.__grouper = BarsGrouper(self.__range.getBeginning(), value, self.getFrequency())
def __onNewValue(self, dataSeries, dateTime, value): if self.__range is None: self.__range = resamplebase.build_range(dateTime, self.__frequency) self.__grouper = self.buildGrouper(self.__range, value, self.__frequency) elif self.__range.belongs(dateTime): self.__grouper.addValue(value) else: self.appendWithDateTime(self.__grouper.getDateTime(), self.__grouper.getGrouped()) self.__range = resamplebase.build_range(dateTime, self.__frequency) self.__grouper = self.buildGrouper(self.__range, value, self.__frequency)
def testDecember(self): freq = bar.Frequency.MONTH begin = datetime.datetime(2011, 12, 1) r = resamplebase.build_range( begin + datetime.timedelta(hours=5, minutes=25), freq) self.assertEqual(r.getBeginning(), begin) for i in range(freq): self.assertTrue(r.belongs(begin + datetime.timedelta(seconds=i))) self.assertFalse( r.belongs(begin + datetime.timedelta(seconds=freq + 1))) self.assertEqual(r.getEnding(), datetime.datetime(2012, 1, 1))
def __testMinuteRangeImpl(self, timezone=None): freq = bar.Frequency.MINUTE begin = datetime.datetime(2011, 1, 1, 1, 1) end = datetime.datetime(2011, 1, 1, 1, 2) if timezone is not None: begin = dt.localize(begin, timezone) end = dt.localize(end, timezone) r = resamplebase.build_range(begin + datetime.timedelta(seconds=5), freq) self.assertEqual(r.getBeginning(), begin) for i in range(freq): self.assertTrue(r.belongs(begin + datetime.timedelta(seconds=i))) self.assertFalse( r.belongs(begin + datetime.timedelta(seconds=freq + 1))) self.assertEqual(r.getEnding(), end)
def __updateNextBarClose(self): self.__nextBarClose = resamplebase.build_range( liveUtils.utcnow(), self.__frequency).getEnding()