Exemplo n.º 1
0
        private void Run(object o)
        {
            string itemCode = (string)o;

            string lastPrice = "";

            LimitedList <double> ll3 = new LimitedList <double>(3);
            LimitedList <double> ll5 = new LimitedList <double>(5);
            LimitedList <double> ll7 = new LimitedList <double>(7);

            int rnd = ItemCodeSet.GetItemRoundNum(itemCode);

            while (true)
            {
                if (!SiseStorage.Instance.Prices.ContainsKey(itemCode))
                {
                    System.Threading.Thread.Sleep(1000);
                    continue;
                }

                var priceQueue = SiseStorage.Instance.Prices[itemCode];

                if (priceQueue.Count == 0)
                {
                    System.Threading.Thread.Sleep(100);
                    continue;
                }
                CurrentPrice price;
                var          isDequeue = priceQueue.TryDequeue(out price);
                if (isDequeue)
                {
                    if (lastPrice == price.price)
                    {
                        continue;
                    }
                    lastPrice = price.price;

                    double d = Math.Round(Convert.ToDouble(lastPrice), rnd);
                    ll3.Insert(d);
                    ll5.Insert(d);
                    ll7.Insert(d);
                    price.price3 = ll3.Count == 3 ? Math.Round(ll3.Average(), rnd) : 0;
                    price.price5 = ll3.Count == 5 ? Math.Round(ll5.Average(), rnd) : 0;
                    price.price7 = ll3.Count == 7 ? Math.Round(ll7.Average(), rnd) : 0;

                    SiseEvents.Instance.OnSiseHandler(itemCode, price);

                    PPStorage.Instance.Add(itemCode, price.DTime, (Single)Math.Round(Convert.ToSingle(price.price), rnd));

                    if (isSiseBinding)
                    {
                        BindSise(itemCode, price);
                    }
                }
            }
        }
Exemplo n.º 2
0
        public void Insert_When_Full_Test()
        {
            // Arrange
            int capacity = 1;
            LimitedList <object> list = new LimitedList <object>(capacity);
            var obj = new object();

            list.Add(new object());

            // Act
            bool inserted = list.Insert(0, obj);

            // Assert
            Assert.IsFalse(inserted);
            Assert.AreNotEqual(obj, list[0]);
            Assert.AreEqual(1, list.Count);
        }
Exemplo n.º 3
0
        public void Insert_Success_Test()
        {
            // Arrange
            int capacity = 2;
            LimitedList <object> list = new LimitedList <object>(capacity);
            var obj = new object();

            list.Add(new object());

            // Act
            bool inserted = list.Insert(0, obj);

            // Assert
            Assert.IsTrue(inserted);
            Assert.AreEqual(obj, list[0]);
            Assert.AreEqual(2, list.Count);
        }
Exemplo n.º 4
0
        //실시간 시세에 맞게 데이터 업데이트
        public void SetCandleSourceDataReal(string itemCode, S_CandleItemData entity)
        {
            try
            {
                LimitedList <S_CandleItemData> list = null;
                TimeIntervalEnum timeInterval       = TimeIntervalEnum.Day;
                switch (timeInterval)
                {
                case TimeIntervalEnum.Minute_01:
                    list = PPStorage.Instance.StorageMin01[itemCode];
                    break;

                case TimeIntervalEnum.Minute_05:
                    list = PPStorage.Instance.StorageMin05[itemCode];
                    break;

                case TimeIntervalEnum.Minute_10:
                    list = PPStorage.Instance.StorageMin10[itemCode];
                    break;

                case TimeIntervalEnum.Minute_30:
                    list = PPStorage.Instance.StorageMin30[itemCode];
                    break;

                case TimeIntervalEnum.Hour_01:
                    list = PPStorage.Instance.StorageMin60[itemCode];
                    break;

                case TimeIntervalEnum.Hour_02:
                    list = PPStorage.Instance.StorageMin120[itemCode];
                    break;

                case TimeIntervalEnum.Hour_03:
                    list = PPStorage.Instance.StorageMin180[itemCode];
                    break;

                case TimeIntervalEnum.Hour_04:
                    list = PPStorage.Instance.StorageMin240[itemCode];
                    break;

                case TimeIntervalEnum.Hour_05:
                    list = PPStorage.Instance.StorageMin300[itemCode];
                    break;

                case TimeIntervalEnum.Hour_06:
                    list = PPStorage.Instance.StorageMin360[itemCode];
                    break;

                case TimeIntervalEnum.Hour_08:
                    list = PPStorage.Instance.StorageMin480[itemCode];
                    break;

                case TimeIntervalEnum.Hour_12:
                    list = PPStorage.Instance.StorageMin720[itemCode];
                    break;

                case TimeIntervalEnum.Day:
                    list = PPStorage.Instance.StorageDay[itemCode];
                    break;

                case TimeIntervalEnum.Week:
                    list = PPStorage.Instance.StorageWeek[itemCode];
                    break;
                }
                if (list == null)
                {
                    return;
                }

                var m = list.Find(t => t.DTime == entity.DTime);
                if (m != null)
                {
                    m.OpenPrice  = entity.OpenPrice;
                    m.HighPrice  = entity.HighPrice;
                    m.LowPrice   = entity.LowPrice;
                    m.ClosePrice = entity.ClosePrice;
                }
                else
                {
                    list.Insert(entity);
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message);
            }
        }
Exemplo n.º 5
0
        private void RunKr(object o)
        {
            string itemCode = (string)o;

            string lastPrice = "";

            LimitedList <double> ll3 = new LimitedList <double>(3);
            LimitedList <double> ll5 = new LimitedList <double>(5);
            LimitedList <double> ll7 = new LimitedList <double>(7);

            int rnd = ItemCodeSet.GetItemRoundNum(itemCode);

            while (isRunKr)
            {
                try
                {
                    if (!SiseStorage.Instance.PricesKr.ContainsKey(itemCode))
                    {
                        System.Threading.Thread.Sleep(1000);
                        continue;
                    }

                    var priceQueue = SiseStorage.Instance.PricesKr[itemCode];

                    if (priceQueue.Count == 0)
                    {
                        System.Threading.Thread.Sleep(100);
                        continue;
                    }
                    CurrentPrice price;
                    var          isDequeue = priceQueue.TryDequeue(out price);
                    if (isDequeue)
                    {
                        if (lastPrice == price.price)
                        {
                            continue;
                        }
                        lastPrice = price.price;
                        double d = Math.Round(Convert.ToDouble(lastPrice), rnd);

                        if (!ll3.Contains(d))
                        {
                            ll3.Insert(d);
                        }
                        if (!ll5.Contains(d))
                        {
                            ll5.Insert(d);
                        }
                        if (!ll7.Contains(d))
                        {
                            ll7.Insert(d);
                        }

                        price.price3 = Math.Round(ll3.Average(), rnd);
                        price.price5 = Math.Round(ll5.Average(), rnd);
                        price.price7 = Math.Round(ll7.Average(), rnd);

                        SiseEvents.Instance.OnSiseHandler(itemCode, price);

                        if (isSiseBinding)
                        {
                            BindSise(itemCode, price);
                        }
                    }
                }
                catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); }
            }
        }
Exemplo n.º 6
0
        public override void View()
        {
            pnlScroll.Visible = IsAutoScrollX;
            if (ChartData == null)
            {
                return;
            }

            resistanceList.Clear();
            supportList.Clear();
            resistanceAvgList.Clear();
            supportAvgList.Clear();

            pmForceList.Clear();

            PPUtils.SetRangeHighLowPrice(ChartData, 18);
            PPUtils.SetRangeHighLowPrice(ChartDataSub, 18);

            //resistanceList.Add(PPUtils.GetResistancePrice(pList, 3));
            //resistanceList.Add(PPUtils.GetResistancePrice(mList, 3));
            //supportList.Add(PPUtils.GetSupportPrice(pList, 3));
            //supportList.Add(PPUtils.GetSupportPrice(mList, 3));
            //resistanceAvgList.Add(PPUtils.GetResistancePrice(ChartDataSub, 3));
            //supportAvgList.Add(PPUtils.GetSupportPrice(ChartDataSub, 3));

            smartDataList.Clear();
            wisdomDataList.Clear();
            smartBDataList.Clear();
            wisdomBDataList.Clear();

            SmartCandleData  preSmartData  = null;
            WisdomCandleData preWisdomData = null;

            for (int i = 0; i < ChartDataSub.Count; i++)
            {
                var             cData     = ChartDataSub[i];
                SmartCandleData smartData = new SmartCandleData(cData.ItemCode, cData.OpenPrice, cData.HighPrice, cData.LowPrice, cData.ClosePrice, cData.Volume, cData.DTime, preSmartData);
                smartDataList.Add(smartData);
                preSmartData = smartData;
                WisdomCandleData wisdomData = new WisdomCandleData(cData.ItemCode, cData.OpenPrice, cData.HighPrice, cData.LowPrice, cData.ClosePrice, cData.Volume, cData.DTime, preWisdomData);
                wisdomDataList.Add(wisdomData);
                preWisdomData = wisdomData;
            }

            preSmartData  = null;
            preWisdomData = null;
            for (int i = 0; i < ChartDataSub2.Count; i++)
            {
                var             cData     = ChartDataSub2[i];
                SmartCandleData smartData = new SmartCandleData(cData.ItemCode, cData.OpenPrice, cData.HighPrice, cData.LowPrice, cData.ClosePrice, cData.Volume, cData.DTime, preSmartData);
                smartBDataList.Add(smartData);
                preSmartData = smartData;
                WisdomCandleData wisdomData = new WisdomCandleData(cData.ItemCode, cData.OpenPrice, cData.HighPrice, cData.LowPrice, cData.ClosePrice, cData.Volume, cData.DTime, preWisdomData);
                wisdomBDataList.Add(wisdomData);
                preWisdomData = wisdomData;
            }

            double preSPrice1 = 0;
            double preSPrice2 = 0;
            double preSPrice3 = 0;

            double nextSPrice1 = 0;
            double nextSPrice2 = 0;
            double nextSPrice3 = 0;

            double preMassAvg    = 0;
            double preQuantumAvg = 0;

            int uItemCount = 0;
            int dItemCount = 0;
            LimitedList <double> dList1 = new LimitedList <double>(5);
            LimitedList <double> dList2 = new LimitedList <double>(5);

            ThreeCandlePattern threePatttern = new ThreeCandlePattern();

            double pmForce    = 0;
            double prePMForce = 0;

            pmForceList.Add(0);
            pmForceList.Add(0);
            pmForceList.Add(0);
            pmForceList.Add(0);
            for (int i = 4; i < ChartData.Count; i++)
            {
                var item     = ChartData[i];
                var itemAvg  = ChartDataSub[i];
                var itemAvg2 = ChartDataSub2[i];
                var smart    = smartDataList[i];
                var wisdom   = wisdomDataList[i];
                var smartB   = smartBDataList[i];
                var wisdomB  = wisdomBDataList[i];

                dList1.Insert((smart.Variance_ChartPrice1 + smart.Variance_ChartPrice2 + smart.Variance_ChartPrice3) / 3.0);
                dList2.Insert(smart.Variance_ChartPrice3);
                if ((i + 1) < ChartData.Count)
                {
                    var nsmart = smartDataList[i + 1];
                    nextSPrice1 = nsmart.Variance_ChartPrice1;
                    nextSPrice2 = nsmart.Variance_ChartPrice2;
                    nextSPrice3 = nsmart.Variance_ChartPrice3;
                }
                else
                {
                    nextSPrice1 = 0;
                    nextSPrice2 = 0;
                    nextSPrice3 = 0;
                }

                int    idx      = chart.Series["candleBasic"].Points.AddXY(item.DTime, item.HighPrice, item.LowPrice, item.OpenPrice, item.ClosePrice);
                string diceChar = item.GetSpaceType(item);
                //string diceChar = getDiceChar(itemAvg);
                chart.Series["candleBasic"].Points[idx].Label = diceChar;

                //chart.Series["lineElectronForce1"].Points.AddXY(item.DTime, item.T_ElectronForceAvg);
                chart.Series["lineElectronForce1"].Points.AddXY(itemAvg.DTime, itemAvg.T_ElectronForceAvg);
                chart.Series["lineElectronForce2"].Points.AddXY(itemAvg.DTime, 0);

                if (item.VirtualData)
                {
                    SetDataPointColor(chart.Series["candleBasic"].Points[idx], Color.Black, Color.Transparent, Color.Black, 1);
                }

                if (diceChar == "★")
                {
                    chart.Series["candleBasic"].Points[idx].LabelForeColor = Color.Red;
                }

                chart.Series["lineMess"].Points.AddXY(itemAvg.DTime, itemAvg.T_MassAvg);
                chart.Series["lineQuantum"].Points.AddXY(itemAvg.DTime, itemAvg.T_QuantumAvg);

                chart.Series["lineMessHL"].Points.AddXY(itemAvg.DTime
                                                        , itemAvg.T_MassAvg + (Math.Abs(itemAvg.T_MassAvg - itemAvg.HighPrice) - Math.Abs(itemAvg.T_MassAvg - itemAvg.LowPrice)));

                chart.Series["lineCandleRangeH"].Points.AddXY(item.DTime, Math.Round(item.RangeHighPrice, RoundLength));
                chart.Series["lineCandleRangeL"].Points.AddXY(item.DTime, Math.Round(item.RangeLowPrice, RoundLength));

                chart.Series["candleAverage"].Points.AddXY(itemAvg.DTime, itemAvg.HighPrice, itemAvg.LowPrice, itemAvg.OpenPrice, itemAvg.ClosePrice);
                diceChar = itemAvg.GetSpaceType(itemAvg);
                chart.Series["candleAverage"].Points[idx].Label = diceChar;
                if (diceChar == "★")
                {
                    chart.Series["candleAverage"].Points[idx].LabelForeColor = Color.Red;
                }

                chart.Series["lineCandleAvgRangeH"].Points.AddXY(itemAvg.DTime, Math.Round(itemAvg.RangeHighPrice, RoundLength));
                chart.Series["lineCandleAvgRangeL"].Points.AddXY(itemAvg.DTime, Math.Round(itemAvg.RangeLowPrice, RoundLength));

                chart.Series["candleBAverage"].Points.AddXY(itemAvg2.DTime, itemAvg2.HighPrice, itemAvg2.LowPrice, itemAvg2.OpenPrice, itemAvg2.ClosePrice);

                chart.Series["lineSmartEnergy1"].Points.AddXY(smart.DTime, smart.Variance_ChartPrice1);
                chart.Series["lineSmartEnergy2"].Points.AddXY(smart.DTime, smart.Variance_ChartPrice2);
                chart.Series["lineSmartEnergy3"].Points.AddXY(smart.DTime, smart.Variance_ChartPrice3);

                chart.Series["lineSmartAvg1"].Points.AddXY(smart.DTime, Math.Round(dList1.Average(), RoundLength));
                chart.Series["lineSmartAvg2"].Points.AddXY(smart.DTime, Math.Round(dList2.Average(), RoundLength));

                chart.Series["lineSmartZero"].Points.AddXY(smart.DTime, 0);

                chart.Series["lineSmartBEnergy2"].Points.AddXY(smartB.DTime, smartB.Variance_ChartPrice2);
                chart.Series["lineWisdomBEnergy"].Points.AddXY(wisdomB.DTime, wisdomB.Variance_ChartPrice);

                var bitem = ChartData[i - 1];
                chart.Series["stackHL"].Points.AddXY(item.DTime, item.TotalLength);
                chart.Series["stackHL2"].Points.AddXY(item.DTime, (bitem.TotalLength - item.TotalLength) <= 0 ? 0 : (bitem.TotalLength - item.TotalLength));

                if (itemAvg.PlusMinusType == PlusMinusTypeEnum.양)
                {
                    pmForce += itemAvg.HeadLength;
                }
                else if (itemAvg.PlusMinusType == PlusMinusTypeEnum.음)
                {
                    pmForce -= itemAvg.LegLength;
                }
                //else
                //{
                //    if (itemAvg.PreCandleItem.PlusMinusType == PlusMinusTypeEnum.양)
                //        pmForce -= itemAvg.PreCandleItem.BodyLength;
                //    else if (itemAvg.PreCandleItem.PlusMinusType == PlusMinusTypeEnum.음)
                //        pmForce += itemAvg.PreCandleItem.BodyLength;
                //}

                chart.Series["linePlusMinusForce"].Points.AddXY(itemAvg.DTime, pmForce);
                chart.Series["linePlusMinusZero"].Points.AddXY(itemAvg.DTime, 0);
                if (pmForce > prePMForce)
                {
                    chart.Series["linePlusMinusForce"].Points[idx].Color = Color.Red;
                }
                else if (pmForce < prePMForce)
                {
                    chart.Series["linePlusMinusForce"].Points[idx].Color = Color.Blue;
                }
                else
                {
                    chart.Series["linePlusMinusForce"].Points[idx].Color = Color.Black;
                }

                pmForceList.Add(pmForce);
                prePMForce = pmForce;
                //if (SelectedPType == "국내지수")
                //{
                //    if (preSPrice1 > preSPrice2 && preSPrice2 > preSPrice3)
                //    {
                //        if (smart.Variance_ChartPrice1 > smart.Variance_ChartPrice2 && smart.Variance_ChartPrice2 > smart.Variance_ChartPrice3)
                //        {
                //            if (preSPrice3 < smart.Variance_ChartPrice3)
                //            {
                //                chart.Series["lineSmartEnergy3"].Points[idx].LabelForeColor = Color.Red;
                //                chart.Series["lineSmartEnergy3"].Points[idx].Label = "▲";
                //            }
                //        }
                //    }
                //    if (preSPrice1 < preSPrice2 && preSPrice2 < preSPrice3)
                //    {
                //        if (smart.Variance_ChartPrice1 < smart.Variance_ChartPrice2 && smart.Variance_ChartPrice2 < smart.Variance_ChartPrice3)
                //        {
                //            if (preSPrice3 > smart.Variance_ChartPrice3)
                //            {
                //                chart.Series["lineSmartEnergy3"].Points[idx].LabelForeColor = Color.Blue;
                //                chart.Series["lineSmartEnergy3"].Points[idx].Label = "▼";
                //            }
                //        }
                //    }
                //}

                //if (SelectedPType == "해외지수")
                //{
                //    if (preSPrice1 > preSPrice2 && preSPrice2 > preSPrice3)
                //    {
                //        if (smart.Variance_ChartPrice1 > smart.Variance_ChartPrice2 && smart.Variance_ChartPrice2 > smart.Variance_ChartPrice3)
                //        {
                //            if (preSPrice3 < smart.Variance_ChartPrice3)
                //            {
                //                chart.Series["lineSmartEnergy3"].Points[idx].LabelForeColor = Color.Red;
                //                chart.Series["lineSmartEnergy3"].Points[idx].Label = "▲";
                //            }
                //        }
                //    }
                //    if (preSPrice1 < preSPrice2 && preSPrice2 < preSPrice3)
                //    {
                //        if (smart.Variance_ChartPrice1 < smart.Variance_ChartPrice2 && smart.Variance_ChartPrice2 < smart.Variance_ChartPrice3)
                //        {
                //            if (preSPrice3 > smart.Variance_ChartPrice3)
                //            {
                //                chart.Series["lineSmartEnergy3"].Points[idx].LabelForeColor = Color.Blue;
                //                chart.Series["lineSmartEnergy3"].Points[idx].Label = "▼";
                //            }
                //        }
                //    }
                //}

                if (SelectedPType == "해외선물" || SelectedPType == "암호화폐")
                {
                    uItemCount++;
                    dItemCount++;
                    if (smart.Variance_ChartPrice3 < 0 && preSPrice3 >= smart.Variance_ChartPrice3 && (nextSPrice3 != 0 && nextSPrice3 >= smart.Variance_ChartPrice3))
                    {
                        bool isRange = true;
                        //if (TimeInterval == TimeIntervalEnum.Minute_30 && smart.Variance_ChartPrice3 <= -30) isRange = true;
                        //if (TimeInterval == TimeIntervalEnum.Hour_01 && smart.Variance_ChartPrice3 <= -50) isRange = true;
                        //if (TimeInterval == TimeIntervalEnum.Hour_02 && smart.Variance_ChartPrice3 <= -60) isRange = true;
                        //if (TimeInterval == TimeIntervalEnum.Hour_05 && smart.Variance_ChartPrice3 <= -70) isRange = true;
                        //if (TimeInterval == TimeIntervalEnum.Day && smart.Variance_ChartPrice3 <= -100) isRange = true;
                        //if (TimeInterval == TimeIntervalEnum.Week && smart.Variance_ChartPrice3 <= -300) isRange = true;

                        if (uItemCount >= 5 && isRange)
                        {
                            uItemCount = 0;
                            chart.Series["lineSmartEnergy3"].Points[idx].LabelForeColor = Color.Red;
                            chart.Series["lineSmartEnergy3"].Points[idx].Label          = "▲";
                        }
                    }
                    if (smart.Variance_ChartPrice3 > 0 && preSPrice3 <= smart.Variance_ChartPrice3 && (nextSPrice3 != 0 && nextSPrice3 <= smart.Variance_ChartPrice3))
                    {
                        bool isRange = true;
                        //if (TimeInterval == TimeIntervalEnum.Minute_30 && smart.Variance_ChartPrice3 >= 30) isRange = true;
                        //if (TimeInterval == TimeIntervalEnum.Hour_01 && smart.Variance_ChartPrice3 >= 50) isRange = true;
                        //if (TimeInterval == TimeIntervalEnum.Hour_02 && smart.Variance_ChartPrice3 >= 60) isRange = true;
                        //if (TimeInterval == TimeIntervalEnum.Hour_05 && smart.Variance_ChartPrice3 >= 70) isRange = true;
                        //if (TimeInterval == TimeIntervalEnum.Day && smart.Variance_ChartPrice3 >= 100) isRange = true;
                        //if (TimeInterval == TimeIntervalEnum.Week && smart.Variance_ChartPrice3 >= 300) isRange = true;

                        if (dItemCount >= 5 && isRange)
                        {
                            dItemCount = 0;
                            chart.Series["lineSmartEnergy3"].Points[idx].LabelForeColor = Color.Blue;
                            chart.Series["lineSmartEnergy3"].Points[idx].Label          = "▼";
                        }
                    }
                }

                //if (SelectedPType == "국내업종")
                //{
                //    if (preSPrice1 > preSPrice2 && preSPrice2 > preSPrice3)
                //    {
                //        if (smart.Variance_ChartPrice1 > smart.Variance_ChartPrice2 && smart.Variance_ChartPrice2 > smart.Variance_ChartPrice3)
                //        {
                //            if (preSPrice3 < smart.Variance_ChartPrice3)
                //            {
                //                chart.Series["lineSmartEnergy3"].Points[idx].LabelForeColor = Color.Red;
                //                chart.Series["lineSmartEnergy3"].Points[idx].Label = "▲";
                //            }
                //        }
                //    }
                //    if (preSPrice1 < preSPrice2 && preSPrice2 < preSPrice3)
                //    {
                //        if (smart.Variance_ChartPrice1 < smart.Variance_ChartPrice2 && smart.Variance_ChartPrice2 < smart.Variance_ChartPrice3)
                //        {
                //            if (preSPrice3 > smart.Variance_ChartPrice3)
                //            {
                //                chart.Series["lineSmartEnergy3"].Points[idx].LabelForeColor = Color.Blue;
                //                chart.Series["lineSmartEnergy3"].Points[idx].Label = "▼";
                //            }
                //        }
                //    }
                //}

                preSPrice1 = smart.Variance_ChartPrice1;
                preSPrice2 = smart.Variance_ChartPrice2;
                preSPrice3 = smart.Variance_ChartPrice3;

                preMassAvg    = itemAvg.T_MassAvg;
                preQuantumAvg = itemAvg.T_QuantumAvg;

                var dataPoint    = chart.Series["candleBasic"].Points[idx];
                var dataPointAvg = chart.Series["candleAverage"].Points[idx];
                dataPoint.Tag = item;

                if (item.PlusMinusType == PlusMinusTypeEnum.양 && item.YinAndYang == PlusMinusTypeEnum.양)
                {
                    SetDataPointColor(dataPoint, Color.Red, Color.Red, Color.Red, 2);
                }
                else if (item.PlusMinusType == PlusMinusTypeEnum.음 && item.YinAndYang == PlusMinusTypeEnum.양)
                {
                    SetDataPointColor(dataPoint, Color.Blue, Color.Blue, Color.Blue, 2);
                }

                else if (item.PlusMinusType == PlusMinusTypeEnum.양)
                {
                    SetDataPointColor(dataPoint, Color.Red, Color.Red, Color.White, 2);
                }
                else if (item.PlusMinusType == PlusMinusTypeEnum.음)
                {
                    SetDataPointColor(dataPoint, Color.Blue, Color.Blue, Color.White, 2);
                }

                else
                {
                    SetDataPointColor(dataPoint, Color.Black, Color.Black, Color.White, 2);
                }

                if (itemAvg.PlusMinusType == PlusMinusTypeEnum.양)
                {
                    SetDataPointColor(dataPointAvg, Color.Red, Color.Red, Color.White, 2);
                }
                else if (itemAvg.PlusMinusType == PlusMinusTypeEnum.음)
                {
                    SetDataPointColor(dataPointAvg, Color.Blue, Color.Blue, Color.White, 2);
                }
                else
                {
                    SetDataPointColor(dataPointAvg, Color.Black, Color.Black, Color.White, 2);
                }
            }
            SetTrackBar();
            SetScrollBar();
            DisplayView();
            //ViewPattern();
            IsLoaded = true;

            base.View();
        }
Exemplo n.º 7
0
        public void Load(string itemCode, TimeIntervalEnum timeInterval, List <S_CandleItemData> list)
        {
            LimitedList <S_CandleItemData> storageList = null;

            try
            {
                if (!StorageMin60.ContainsKey(itemCode))
                {
                    Init(itemCode);
                }

                switch (timeInterval)
                {
                case TimeIntervalEnum.Minute_01:
                    storageList = StorageMin01[itemCode];
                    break;

                case TimeIntervalEnum.Minute_05:
                    storageList = StorageMin05[itemCode];
                    break;

                case TimeIntervalEnum.Minute_10:
                    storageList = StorageMin10[itemCode];
                    break;

                case TimeIntervalEnum.Minute_30:
                    storageList = StorageMin30[itemCode];
                    break;

                case TimeIntervalEnum.Hour_01:
                    storageList = StorageMin60[itemCode];
                    break;

                case TimeIntervalEnum.Hour_02:
                    storageList = StorageMin120[itemCode];
                    break;

                case TimeIntervalEnum.Hour_03:
                    storageList = StorageMin180[itemCode];
                    break;

                case TimeIntervalEnum.Hour_04:
                    storageList = StorageMin240[itemCode];
                    break;

                case TimeIntervalEnum.Hour_05:
                    storageList = StorageMin300[itemCode];
                    break;

                case TimeIntervalEnum.Hour_06:
                    storageList = StorageMin360[itemCode];
                    break;

                case TimeIntervalEnum.Hour_08:
                    storageList = StorageMin480[itemCode];
                    break;

                case TimeIntervalEnum.Hour_12:
                    storageList = StorageMin720[itemCode];
                    break;

                case TimeIntervalEnum.Day:
                    storageList = StorageDay[itemCode];
                    break;

                case TimeIntervalEnum.Week:
                    storageList = StorageWeek[itemCode];
                    break;
                }

                if (storageList != null)
                {
                    storageList.Clear();
                    foreach (var m in list)
                    {
                        storageList.Insert(m);
                    }
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message);
            }
        }