public static void DatasetToBinary(string filename, Bar[] dataset, DataFeedType type = DataFeedType.Both) { //Writes an array of bar data to a binary file //Usually used by reading a csv file into a Bar array and then writing to binary. using (BinaryWriter writer = new BinaryWriter(File.Open(filename, FileMode.Create))) { foreach (Bar bar in dataset) { if (bar != null) { //convert from python to .net date writer.Write(bar.OpenTime.AddYears(-1969).ToBinary() * 100); if (type == DataFeedType.Both || type == DataFeedType.Bid) { writer.Write(bar.BidOpen); writer.Write(bar.BidClose); writer.Write(bar.BidHigh); writer.Write(bar.BidLow); } if (type == DataFeedType.Both || type == DataFeedType.Ask) { writer.Write(bar.AskOpen); writer.Write(bar.AskClose); writer.Write(bar.AskHigh); writer.Write(bar.AskLow); } writer.Write(bar.Volume); } } } }
public VkGroupProcessingState GetProcessingState(int vkGroupId, DataFeedType feedType) { using (IDataGateway dataGateway = this.dataGatewayProvider.GetDataGateway()) { var state = dataGateway.Connection.Query <VkGroupProcessingState>("select * from vkgroupprocessingstate where vkgroupid = @vkgroupid and feedtype = @feedType", new { vkgroupid = vkGroupId, feedType = (int)feedType }).FirstOrDefault(); return(state); } }
public DateTime?GetDateLimit(int vkGroupId, DataFeedType feedType) { DateTime?dateLimit = this.IsLimitedProcessingEnabled(vkGroupId, feedType) ? this.dateTimeHelper.GetDateTimeNow().Date.AddMonths(-this.GetMonthLimit()) : (DateTime?)null; return(dateLimit); }
public static void DatasetToBinarySingle(string filename, Bar[] dataset, DataFeedType type) { //this function is used to create a binary time series of just one datafeed - used for //creating features in python for example. using (BinaryWriter writer = new BinaryWriter(File.Open(filename, FileMode.Create))) { foreach (Bar bar in dataset) { //convert from python to .net date writer.Write((bar.OpenTime.AddYears(-1969).ToBinary() * 100)); switch (type) { case DataFeedType.BidOpen: writer.Write(bar.BidOpen); break; case DataFeedType.BidClose: writer.Write(bar.BidClose); break; case DataFeedType.BidHigh: writer.Write(bar.BidHigh); break; case DataFeedType.BidLow: writer.Write(bar.BidLow); break; case DataFeedType.AskOpen: writer.Write(bar.AskOpen); break; case DataFeedType.AskClose: writer.Write(bar.AskClose); break; case DataFeedType.AskHigh: writer.Write(bar.AskHigh); break; case DataFeedType.AskLow: writer.Write(bar.AskLow); break; case DataFeedType.Volume: writer.Write((float)bar.Volume); break; default: throw new Exception("Invalid datafeed type. Must be a single datefeed value for the DatasetToBinarySingle."); } } } }
public bool IsLimitedCachingEnabled(int vkGroupId, DataFeedType dataFeedType) { if (this.cachingSettings.CachingMode != CachingMode.HonorFeedProcessingConfig) { return(false); } var item = this.groupRepository.GetProcessingState(vkGroupId, dataFeedType); return(item != null); }
private string GetItemTitle(DataFeedType feedType) { switch (feedType) { case DataFeedType.WallPosts: return("Посты"); case DataFeedType.Photo: return("Фотографии"); case DataFeedType.Video: return("Видео"); case DataFeedType.Administrators: return("Администраторы"); case DataFeedType.WallPostComments: return("Комментарии к постам"); case DataFeedType.Topic: return("Темы"); case DataFeedType.TopicComment: return("Сообщения в темах"); case DataFeedType.MembersInfo: return("Участники"); case DataFeedType.PhotoAlbumDetails: return("Информация о фотографиях"); case DataFeedType.VideoComments: return("Комментарии к видео"); case DataFeedType.VideoLikes: return("Лайки к видео"); case DataFeedType.MemberLikes: return("Лайки"); case DataFeedType.MemberShares: return("Шеры"); case DataFeedType.MemberSubscription: return("Подписки"); default: throw new ArgumentOutOfRangeException("feedType"); } }
public bool IsLimitedProcessingEnabled(int vkGroupId, DataFeedType dataFeedType) { var item = this.vkGroupRepository.GetProcessingState(vkGroupId, dataFeedType); return(item != null); }
public IFeedProcessor Create(DataFeedType feedType) { if (this.processorsCache.ContainsKey(feedType)) { return(this.processorsCache[feedType]); } switch (feedType) { case DataFeedType.WallPosts: this.processorsCache.Add(feedType, Factory.GetInstance <WallPostFeedProcessor>()); break; case DataFeedType.WallPostComments: this.processorsCache.Add(feedType, Factory.GetInstance <WallPostCommentFeedProcessor>()); break; case DataFeedType.Photo: this.processorsCache.Add(feedType, Factory.GetInstance <PhotoFeedProcessor>()); break; case DataFeedType.PhotoAlbumDetails: this.processorsCache.Add(feedType, Factory.GetInstance <PhotoAlbumDetailsFeedProcessor>()); break; case DataFeedType.MembersCount: this.processorsCache.Add(feedType, Factory.GetInstance <MembersCountFeedProcessor>()); break; case DataFeedType.MemberLikes: this.processorsCache.Add(feedType, Factory.GetInstance <MemberLikesFeedProcessor>()); break; case DataFeedType.MemberShares: this.processorsCache.Add(feedType, Factory.GetInstance <MemberSharesFeedProcessor>()); break; case DataFeedType.MemberSubscription: this.processorsCache.Add(feedType, Factory.GetInstance <MemberSubscriptionFeedProcessor>()); break; case DataFeedType.Video: this.processorsCache.Add(feedType, Factory.GetInstance <VideoFeedProcessor>()); break; case DataFeedType.VideoComments: this.processorsCache.Add(feedType, Factory.GetInstance <VideoCommentFeedProcessor>()); break; case DataFeedType.VideoLikes: this.processorsCache.Add(feedType, Factory.GetInstance <VideoLikesFeedProcessor>()); break; case DataFeedType.Administrators: this.processorsCache.Add(feedType, Factory.GetInstance <AdministratorsFeedProcessor>()); break; case DataFeedType.MembersInfo: this.processorsCache.Add(feedType, Factory.GetInstance <MembersFeedProcessor>()); break; case DataFeedType.Topic: this.processorsCache.Add(feedType, Factory.GetInstance <TopicFeedProcessor>()); break; case DataFeedType.TopicComment: this.processorsCache.Add(feedType, Factory.GetInstance <TopicCommentFeedProcessor>()); break; default: throw new ArgumentException(string.Format("Feed type \"{0}\" is not supported", feedType), "feedType"); } return(this.processorsCache[feedType]); }