public t[] GetNewData(Model.DataRepositoryBase <t> repository) { if (repository.Items.Any()) { var maxtime = repository.Items.Max(x => x.UnixTime); //var mintime = repository.Items.Min(x => x.UnixTime); _LastTimeStamp = maxtime; } else { _LastTimeStamp = 0; } List <t> latestdata; try { latestdata = GetData(_LastTimeStamp); if (latestdata.Any()) { repository.AddItems(latestdata.ToArray()); return(latestdata.ToArray()); } } catch { } return(new t[] { }); }
public DataServiceBase(Interfaces.IHasGetNewData <t> controller, Model.DataRepositoryBase <t> repository, int timerinterval) { _Controller = controller; _Repository = repository; _Timer.Interval = timerinterval; _Timer.Tick += TimerTick; }
public MainViewModel() { CryptoCompareOHCLMinuteRepository = new Model.DataRepositoryBase <Model.OHCLData>(); _CryptoCompareOHCLMinuteDataController = new Data.DataControllers.CryptoCompareOHCLDataController(Enumerables.DataIntervalTypeEnum.Minute, "BTC", BaseCurrency, 1); _CryptoCompareOHCLMinuteRepositoryDataService = new Services.DataServiceBase <Model.OHCLData>(_CryptoCompareOHCLMinuteDataController, CryptoCompareOHCLMinuteRepository, 10000); CryptoCompareOHCLHourRepository = new Model.DataRepositoryBase <Model.OHCLData>(); _CryptoCompareOHCLHourDataController = new Data.DataControllers.CryptoCompareOHCLDataController(Enumerables.DataIntervalTypeEnum.Hour, "BTC", BaseCurrency, 5); _CryptoCompareOHCLHourRepositoryDataService = new Services.DataServiceBase <Model.OHCLData>(_CryptoCompareOHCLHourDataController, CryptoCompareOHCLHourRepository, 100000); CryptoCompareOHCLDayRepository = new Model.DataRepositoryBase <Model.OHCLData>(); _CryptoCompareOHCLDayDataController = new Data.DataControllers.CryptoCompareOHCLDataController(Enumerables.DataIntervalTypeEnum.Day, "BTC", BaseCurrency, 1); _CryptoCompareOHCLDayRepositoryDataService = new Services.DataServiceBase <Model.OHCLData>(_CryptoCompareOHCLDayDataController, CryptoCompareOHCLDayRepository, 1000000); CryptoCompareSocialStatsRepository = new Model.DataRepositoryBase <Model.Main.SocialStatsData>(); _CryptoCompareSocialStatsDataController = new Data.DataControllers.CryptoCompareSocialStatsDataController(Enumerables.DataIntervalTypeEnum.Day); _CryptoCompareSocialStatsDataService = new Services.DataServiceBase <Model.Main.SocialStatsData>(_CryptoCompareSocialStatsDataController, CryptoCompareSocialStatsRepository, 100000); CryptoCompareNewsRepository = new Model.DataRepositoryBase <Model.NewsItemData>(); _CryptoCompareNewsDataController = new Data.DataControllers.CryptoCompareNewsDataController(); _CryptoCompareNewsDataService = new Services.DataServiceBase <Model.NewsItemData>(_CryptoCompareNewsDataController, CryptoCompareNewsRepository, 300000); CryptoCompareNewsRepository.ReplaceOnly = true; CryptoCompareTickerRepository = new Model.DataRepositoryBase <Model.Main.TickerData>(); _CryptoCompareTickerDataController = new Data.DataControllers.CryptoCompareTickerDataController(new string[] { "BTC,ETH,XRP,LTC,MIOTA,ADA,BNB,EOS,TRX,XLM" }, new string[] { BaseCurrency }); _CryptoCompareTickerDataService = new Services.DataServiceBase <Model.Main.TickerData>(_CryptoCompareTickerDataController, CryptoCompareTickerRepository, 10000); CryptoCompareTickerRepository.ReplaceOnly = true; CryptoCompareTickerRepository.DataChanged += NewTickerDataAdded; CryptoCompareNewsRepository.DataChanged += NewNewsDataAdded; CryptoCompareOHCLHourRepository.DataChanged += NewOHCLHourDataAdded; CryptoCompareOHCLMinuteRepository.DataChanged += NewOHCLMinuteDataAdded; CryptoCompareOHCLDayRepository.DataChanged += NewOHCLDayDataAdded; CryptoCompareSocialStatsRepository.DataChanged += NewSocialStatsDataAdded; //PercentageChangeIndicatorViewModel = new PercentagChangeIndicatorViewModel(new NeuroNetworks.PrecentageChangeNetwork(20, 1)); PercentageChangeIndicatorViewModel = new PercentagChangeIndicatorViewModel(new NeuroNetworks.LSTMPercentageChangeNetwork(DeviceDescriptor.CPUDevice, 3, 16)); PercentageChangeIndicatorViewModel.EpochTrained += OnEpochTrained; TrainingEpochs = 10000; InputSize = 200; }