示例#1
0
        AppMDManager createManager_updateRTBarSeriesActions_cont_negative(DateTime dt1, DateTime dt2)
        {
            RTDataBar currentCompleteBar = null;
            Series <DateTime, MarketDataElement> series = null;

            series = addMarketDataElementWithTimeOnlyToSeries(dt1, series);
            AppMDManager appMDManager = new AppMDManager(null);

            appMDManager.currentCompleteRTBar = currentCompleteBar;
            appMDManager.currentTempRTBar     = null;
            appMDManager.setTimeBarSeries(series);
            return(appMDManager);
        }
        public static MarketDataElement convertBarToMarketDataElement(RTDataBar bar)
        {
            double            h              = bar.high;
            double            l              = bar.low;
            double            o              = bar.open;
            double            c              = bar.close;
            double            vol            = bar.volume;
            DateTime          time           = bar.time;
            MarketDataElement currentHsiData = createHLOC(time, "HLOC", "HSI", "FUT");

            currentHsiData.volume = vol;
            currentHsiData.time   = time;
            MarketDataUtil.setHLOC(currentHsiData, h, l, o, c);
            return(currentHsiData);
        }
示例#3
0
        public void test_updatePreMergeRTBarSeries()
        {
            DateTime validTime   = new DateTime(2015, 10, 21, 9, 23, 0, DateTimeKind.Local);
            DateTime invalidTime = new DateTime(2015, 10, 21, 9, 22, 0, DateTimeKind.Local);

            //[Test : merge sucess]
            RTDataBar RTBar = new RTDataBar();

            RTBar.high   = 20200;
            RTBar.open   = 20100;
            RTBar.low    = 20000;
            RTBar.close  = 20150;
            RTBar.volume = 99999;
            RTBar.time   = validTime;
            IAppRTBSynchronizer synchronizer = getSynchronizer_for_updatePreMergeRTBarSeries();

            synchronizer.setIsDataMerged(false);
            synchronizer.updatePreMergeRTBarSeries(RTBar);
            Assert.AreEqual(4, synchronizer.preMergeRTBarSeries.KeyCount);

            //[Test : merge unsucess, the time of real time bar is already in the sereise]
            RTBar        = new RTDataBar();
            RTBar.high   = 20200;
            RTBar.open   = 20100;
            RTBar.low    = 20000;
            RTBar.close  = 20150;
            RTBar.volume = 99999;
            RTBar.time   = invalidTime;
            synchronizer = getSynchronizer_for_updatePreMergeRTBarSeries();
            synchronizer.setIsDataMerged(false);
            synchronizer.updatePreMergeRTBarSeries(RTBar);
            Assert.AreEqual(3, synchronizer.preMergeRTBarSeries.KeyCount);

            //[Test : merge unsucess, the isDataMerged flag is already set to ture]
            RTBar        = new RTDataBar();
            RTBar.high   = 20200;
            RTBar.open   = 20100;
            RTBar.low    = 20000;
            RTBar.close  = 20150;
            RTBar.volume = 99999;
            RTBar.time   = validTime;
            synchronizer = getSynchronizer_for_updatePreMergeRTBarSeries();
            synchronizer.setIsDataMerged(true);
            synchronizer.updatePreMergeRTBarSeries(RTBar);
            Assert.AreEqual(3, synchronizer.preMergeRTBarSeries.KeyCount);
        }
示例#4
0
        AppMDManager createManager_updateRTBarSeriesActions_init(DateTime dt)
        {
            RTDataBar currentCompleteBar = new RTDataBar();

            currentCompleteBar.time   = dt;
            currentCompleteBar.open   = 20100;
            currentCompleteBar.close  = 20100;
            currentCompleteBar.high   = 20200;
            currentCompleteBar.low    = 20000;
            currentCompleteBar.volume = 500;

            AppMDManager appMDManager = new AppMDManager(null);

            appMDManager.currentCompleteRTBar = currentCompleteBar;
            appMDManager.currentTempRTBar     = null;
            return(appMDManager);
        }
        public void test_convertBarToMarketDataElement()
        {
            RTDataBar RTBar = new RTDataBar();

            RTBar.high   = 20200;
            RTBar.open   = 20100;
            RTBar.low    = 20000;
            RTBar.close  = 20150;
            RTBar.volume = 99999;
            RTBar.time   = new DateTime(2015, 10, 21, 9, 49, 0);
            MarketDataElement element = MarketDataUtil.convertBarToMarketDataElement(RTBar);

            Assert.AreEqual(RTBar.high, element.high);
            Assert.AreEqual(RTBar.low, element.low);
            Assert.AreEqual(RTBar.open, element.open);
            Assert.AreEqual(RTBar.close, element.close);
            Assert.AreEqual(RTBar.volume, element.volume);
            Assert.AreEqual(RTBar.time, element.time);
        }
示例#6
0
        AppMDManager createManager_updateRTBarSeriesActions_cont(DateTime dt1, DateTime dt2)
        {
            RTDataBar currentCompleteBar = new RTDataBar();

            currentCompleteBar.time   = dt2;
            currentCompleteBar.open   = 20100;
            currentCompleteBar.close  = 20100;
            currentCompleteBar.high   = 20200;
            currentCompleteBar.low    = 20000;
            currentCompleteBar.volume = 500;

            Series <DateTime, MarketDataElement> series = null;

            series = addMarketDataElementWithTimeOnlyToSeries(dt1, series);
            AppMDManager appMDManager = new AppMDManager(null);

            appMDManager.currentCompleteRTBar = currentCompleteBar;
            appMDManager.currentTempRTBar     = null;
            appMDManager.setTimeBarSeries(series);
            return(appMDManager);
        }