public void mergeRTBHistDataIfValid() { if (appMDManager.getTimeBarSeries() != null) { return; } DateTime rtbDataStartTime = appMDManager.getRtbDataStartTime(); //DateTime histDataEndTime = appMDManager.getHistDataEndTime(); DateTime histDataEndTime = rtbDataStartTime.AddMinutes(-1); //Series<DateTime, MarketDataElement> preMergeRTBarSeries = getPreMergeRTBarSeries(); //Series<DateTime, MarketDataElement> preMergeHistBarSeries getPreMergeHistBarSeries(); if (preMergeRTBarSeries != null && preMergeHistBarSeries != null && needMergeFlag) { if (preMergeRTBarSeries.TryGet(rtbDataStartTime).HasValue&& preMergeHistBarSeries.TryGet(histDataEndTime).HasValue&& isDataMerged == false) { mergeRTBHistData(); isDataMerged = true; } } }
public void test_mergeRTBHistDataIfValid_negative4() { //[Test : merge unsuccess, RTB data serie is null] IAppRTBSynchronizer synchronizer = getSynchronizer_for_mergeRTBHistDataIfValid_negative4(); synchronizer.mergeRTBHistDataIfValid(); IAppMDManager appMDManager = synchronizer.getAppMDManager(); Series <DateTime, MarketDataElement> TimeBarSeries = appMDManager.getTimeBarSeries(); Assert.IsNull(TimeBarSeries); Assert.AreEqual(false, synchronizer.getIsDataMerged()); }
public void test_mergeRTBHistDataIfValid_negative2() { //[Test : merge unsuccess, hist data is not fully loaded yet, missing the last hist data] IAppRTBSynchronizer synchronizer = getSynchronizer_for_mergeRTBHistDataIfValid_negative2(); synchronizer.mergeRTBHistDataIfValid(); IAppMDManager appMDManager = synchronizer.getAppMDManager(); Series <DateTime, MarketDataElement> TimeBarSeries = appMDManager.getTimeBarSeries(); Assert.IsNull(TimeBarSeries); Assert.AreEqual(false, synchronizer.getIsDataMerged()); }
public void test_mergeRTBHistDataIfValid_negative1() { //[Test : merge unsuccess, needMerge Flag is set to false] IAppRTBSynchronizer synchronizer = getSynchronizer_for_mergeRTBHistDataIfValid_negative1(); synchronizer.setNeedMergeFlag(false); synchronizer.setIsDataMerged(false); synchronizer.mergeRTBHistDataIfValid(); IAppMDManager appMDManager = synchronizer.getAppMDManager(); Series <DateTime, MarketDataElement> TimeBarSeries = appMDManager.getTimeBarSeries(); Assert.IsNull(TimeBarSeries); Assert.AreEqual(false, synchronizer.getIsDataMerged()); //[Test : merge unsuccess, data merged Flag is set to true] synchronizer = getSynchronizer_for_mergeRTBHistDataIfValid_negative1(); synchronizer.setNeedMergeFlag(true); synchronizer.setIsDataMerged(true); synchronizer.mergeRTBHistDataIfValid(); appMDManager = synchronizer.getAppMDManager(); TimeBarSeries = appMDManager.getTimeBarSeries(); Assert.IsNull(TimeBarSeries); }
public void test_mergeRTBHistDataIfValid_positive2() { //[Test : merge success, histDataSeries and RTBDataSeries is not continuous] IAppRTBSynchronizer synchronizer = getSynchronizer_for_mergeRTBHistDataIfValid_positive2(); synchronizer.mergeRTBHistDataIfValid(); IAppMDManager appMDManager = synchronizer.getAppMDManager(); Series <DateTime, MarketDataElement> TimeBarSeries = appMDManager.getTimeBarSeries(); Assert.AreEqual(10, TimeBarSeries.KeyCount); Assert.AreEqual(true, TimeBarSeries.TryGet(new DateTime(2015, 10, 21, 9, 15, 0, DateTimeKind.Local)).HasValue); Assert.AreEqual(true, TimeBarSeries.TryGet(new DateTime(2015, 10, 21, 9, 23, 0, DateTimeKind.Local)).HasValue); Assert.AreEqual(true, TimeBarSeries.TryGet(new DateTime(2015, 10, 21, 9, 24, 0, DateTimeKind.Local)).HasValue); Assert.AreEqual(true, TimeBarSeries.TryGet(new DateTime(2015, 10, 21, 9, 26, 0, DateTimeKind.Local)).HasValue); Assert.AreEqual(true, synchronizer.getIsDataMerged()); }
public override void UpdateUI(IBMessage message) { switch (message.Type) { case MessageType.HistoricalData: var watch = Stopwatch.StartNew(); RTBSynchronizer.updatePreMergeHistBarSeries(message); Series <DateTime, MarketDataElement> series = appMDManager.getTimeBarSeries(); HistoricalDataMessage histMsg = (HistoricalDataMessage)message; DateTime time = DateTime.ParseExact(histMsg.Date.Trim(), "yyyyMMdd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal); if (series != null && series.ContainsKey(time)) { PopulateHistGrid(message); } appForm.showMessage("test 1 : " + watch.ElapsedMilliseconds + " millsecond"); break; case MessageType.HistoricalDataEnd: PaintChart(); break; } }