Beispiel #1
0
        public static List <DepthDetailView> ToList(DepthTickView deep)
        {
            var             list = new List <DepthDetailView>();
            DepthDetailView detail;

            var last = deep;

            while (last != null)
            {
                if (last.BidSize1 == 0 && last.AskSize1 == 0)
                {
                    break;
                }

                detail          = new DepthDetailView();
                detail.BidPrice = last.BidPrice1;
                detail.BidSize  = last.BidSize1;
                detail.BidCount = last.BidCount1;
                detail.AskPrice = last.AskPrice1;
                detail.AskSize  = last.AskSize1;
                detail.AskCount = last.AskCount1;
                list.Add(detail);

                if (last.BidSize2 == 0 && last.AskSize2 == 0)
                {
                    break;
                }

                detail          = new DepthDetailView();
                detail.BidPrice = last.BidPrice2;
                detail.BidSize  = last.BidSize2;
                detail.BidCount = last.BidCount2;
                detail.AskPrice = last.AskPrice2;
                detail.AskSize  = last.AskSize2;
                detail.AskCount = last.AskCount2;
                list.Add(detail);

                if (last.BidSize3 == 0 && last.AskSize3 == 0)
                {
                    break;
                }

                detail          = new DepthDetailView();
                detail.BidPrice = last.BidPrice3;
                detail.BidSize  = last.BidSize3;
                detail.BidCount = last.BidCount3;
                detail.AskPrice = last.AskPrice3;
                detail.AskSize  = last.AskSize3;
                detail.AskCount = last.AskCount3;
                list.Add(detail);

                last = last.Next;
            }

            return(list);
        }
Beispiel #2
0
        public static DepthTickView FromList(List<DepthDetailView> list)
        {
            if (list == null || list.Count == 0)
                return null;

            DepthTickView first = null;
            DepthTickView next = null;

            for(int i=0;i<list.Count;++i)
            {
                DepthDetailView detail = list[i];
                switch(i%3)
                {
                    case 0:
                        if(next == null)
                        {
                            next = new DepthTickView();
                            first = next;
                        }
                        else
                        {
                            next.Next = new DepthTickView();
                            next = next.Next;
                        }

                        next.BidPrice1 = detail.BidPrice;
                        next.BidSize1 = detail.BidSize;
                        next.BidCount1 = detail.BidCount;
                        next.AskPrice1 = detail.AskPrice;
                        next.AskSize1 = detail.AskSize;
                        next.AskCount1 = detail.AskCount;
                        break;
                    case 1:
                        next.BidPrice2 = detail.BidPrice;
                        next.BidSize2 = detail.BidSize;
                        next.BidCount2 = detail.BidCount;
                        next.AskPrice2 = detail.AskPrice;
                        next.AskSize2 = detail.AskSize;
                        next.AskCount2 = detail.AskCount;
                        break;
                    case 2:
                        next.BidPrice3 = detail.BidPrice;
                        next.BidSize3 = detail.BidSize;
                        next.BidCount3 = detail.BidCount;
                        next.AskPrice3 = detail.AskPrice;
                        next.AskSize3 = detail.AskSize;
                        next.AskCount3 = detail.AskCount;
                        break;
                }
            }

            return first;
        }
        public static List<DepthDetailView> ToList(DepthTickView deep)
        {
            List<DepthDetailView> list = new List<DepthDetailView>();
            DepthDetailView detail;

            DepthTickView last = deep;
            while (last != null)
            {
                if (last.BidSize1 == 0 && last.AskSize1 == 0)
                    break;

                detail = new DepthDetailView();
                detail.BidPrice = last.BidPrice1;
                detail.BidSize = last.BidSize1;
                detail.BidCount = last.BidCount1;
                detail.AskPrice = last.AskPrice1;
                detail.AskSize = last.AskSize1;
                detail.AskCount = last.AskCount1;
                list.Add(detail);

                if (last.BidSize2 == 0 && last.AskSize2 == 0)
                    break;

                detail = new DepthDetailView();
                detail.BidPrice = last.BidPrice2;
                detail.BidSize = last.BidSize2;
                detail.BidCount = last.BidCount2;
                detail.AskPrice = last.AskPrice2;
                detail.AskSize = last.AskSize2;
                detail.AskCount = last.AskCount2;
                list.Add(detail);

                if (last.BidSize3 == 0 && last.AskSize3 == 0)
                    break;

                detail = new DepthDetailView();
                detail.BidPrice = last.BidPrice3;
                detail.BidSize = last.BidSize3;
                detail.BidCount = last.BidCount3;
                detail.AskPrice = last.AskPrice3;
                detail.AskSize = last.AskSize3;
                detail.AskCount = last.AskCount3;
                list.Add(detail);

                last = last.Next;
            }

            return list;
        }