Ejemplo n.º 1
0
        public static KLineBar GetKLineBar(IKLineBar klineBar, ITickData tickData, int startIndex, int endIndex)
        {
            KLineBar bar        = new KLineBar();
            ITickBar endTickBar = tickData.GetBar(endIndex);

            bar.Time  = endTickBar.Time;
            bar.Start = klineBar.Start;

            float high  = klineBar.High;
            float low   = klineBar.Low;
            float money = klineBar.Money;
            int   mount = klineBar.Mount;

            for (int i = startIndex; i <= endIndex; i++)
            {
                ITickBar tickBar = tickData.GetBar(i);
                if (high < tickBar.Price)
                {
                    high = tickBar.Price;
                }
                if (low > tickBar.Price)
                {
                    low = tickBar.Price;
                }
                money += tickBar.Mount * tickBar.Price;
                mount += tickBar.Mount;
            }
            bar.High  = high;
            bar.Low   = low;
            bar.End   = endTickBar.Price;
            bar.Money = money;
            bar.Mount = mount;
            bar.Hold  = endTickBar.Hold;
            return(bar);
        }
Ejemplo n.º 2
0
        private void AssertText(string code, int start, int end, string fileName)
        {
            List <string>      list_OnBar  = new List <string>();
            IDataPackage_Code  datapackage = DataCenter.Default.DataPackageFactory.CreateDataPackage_Code(code, start, end, 0, 0);
            IKLineData_Extend  klineData   = datapackage.GetKLineData(KLinePeriod.KLinePeriod_1Minute);
            ITickData          tickData    = datapackage.GetTickData(start);
            KLineToTickIndeier indeier     = new KLineToTickIndeier(tickData, klineData);

            int lastBarPos;

            for (int i = 0; i < tickData.Length; i++)
            {
                list_OnBar.Add("tick:" + tickData.GetBar(i));
                Console.WriteLine("tick:" + tickData.GetBar(i));
                int pos = indeier.GetKLineBarPosIfFinished(i, out lastBarPos);
                if (pos >= 0)
                {
                    list_OnBar.Add(klineData.Period + ":" + klineData.GetBar(pos));
                    Console.WriteLine(klineData.Period + ":" + klineData.GetBar(pos));
                    for (int m = pos + 1; m <= lastBarPos; m++)
                    {
                        list_OnBar.Add(klineData.Period + ":" + klineData.GetBar(m));
                        Console.WriteLine(klineData.Period + ":" + klineData.GetBar(m));
                        //lastBarPos = 1;
                    }
                }
            }
            AssertUtils.AssertEqual_List(fileName, GetType(), list_OnBar);
        }
Ejemplo n.º 3
0
        private void DrawRecentTick(Graphics g, Point startPoint, ITickData tickData, double lastEndPrice)
        {
            int   defaultLeft = startPoint.X + 2;
            Point p           = new Point(defaultLeft, startPoint.Y + 2);
            Color titleColor  = ColorUtils.GetColor("#808080");

            g.DrawString("时间", new Font("宋体", 11, FontStyle.Regular), new SolidBrush(titleColor), p);
            p.X += 90;
            g.DrawString("价位", new Font("宋体", 11, FontStyle.Regular), new SolidBrush(titleColor), p);
            p.X += 40;
            g.DrawString("现手", new Font("宋体", 11, FontStyle.Regular), new SolidBrush(titleColor), p);
            p.X += 40;
            g.DrawString("增仓", new Font("宋体", 11, FontStyle.Regular), new SolidBrush(titleColor), p);
            p.X += 40;
            g.DrawString("开平", new Font("宋体", 11, FontStyle.Regular), new SolidBrush(titleColor), p);

            if (tickData == null)
            {
                return;
            }
            //TODO 未考虑周全
            int showCount   = tickData.BarPos >= 15 ? 15 : tickData.BarPos;
            int startBarPos = tickData.BarPos - showCount;

            for (int i = 0; i < showCount; i++)
            {
                ITickBar tickBar     = tickData.GetBar(startBarPos);
                ITickBar lastTickBar = startBarPos <= 0 ? null : tickData.GetBar(startBarPos - 1);
                p.X  = defaultLeft;
                p.Y += 25;
                DrawTickBar(g, p, tickBar, lastTickBar, lastEndPrice);
                startBarPos++;
            }
        }
        private static TimeLineBar GetTimeLineBar(ITickData tickData, int startIndex, int endIndex, float lastEndPrice)
        {
            TimeLineBar timeLineBar = TimeLineUtils.GetTimeLineBar(tickData.GetBar(startIndex), lastEndPrice);

            for (int i = startIndex + 1; i <= endIndex; i++)
            {
                timeLineBar = TimeLineUtils.GetTimeLineBar(timeLineBar, tickData.GetBar(i), lastEndPrice);
            }
            return(timeLineBar);
        }
        private static KLineBar GetKLineBar(ITickData tickData, int startIndex, int endIndex)
        {
            KLineBar klineBar = KLineUtils.GetKLineBar(tickData.GetBar(startIndex));

            for (int i = startIndex + 1; i <= endIndex; i++)
            {
                klineBar = KLineUtils.GetKLineBar(klineBar, tickData.GetBar(i));
            }
            return(klineBar);
        }
Ejemplo n.º 6
0
 public static void PrintTickData(ITickData tickData)
 {
     for (int i = 0; i < tickData.Length; i++)
     {
         Console.WriteLine(tickData.GetBar(i));
     }
 }
Ejemplo n.º 7
0
 /// <summary>
 /// 检验tick数据的正确性
 /// </summary>
 /// <param name="tickData"></param>
 /// <param name="newTickData"></param>
 public static void AssertEqual_TickData(ITickData tickData, ITickData newTickData)
 {
     Assert.AreEqual(newTickData.Length, tickData.Length);
     for (int i = 0; i < tickData.Length; i++)
     {
         Assert.AreEqual(newTickData.GetBar(i).ToString(), tickData.GetBar(i).ToString());
     }
 }
Ejemplo n.º 8
0
        private static void DoIndex(List <string> list_OnBar, IKLineData_Extend klineData, ITickData tickData, KLineToTickIndeier indeier)
        {
            int lastBarPos;

            for (int i = 0; i < tickData.Length; i++)
            {
                list_OnBar.Add("tick:" + tickData.GetBar(i));
                Console.WriteLine("tick:" + tickData.GetBar(i));
                int pos = indeier.GetKLineBarPosIfFinished(i, out lastBarPos);
                if (pos >= 0)
                {
                    list_OnBar.Add(klineData.Period + ":" + klineData.GetBar(pos));
                    Console.WriteLine(klineData.Period + ":" + klineData.GetBar(pos));
                    for (int m = pos + 1; m <= lastBarPos; m++)
                    {
                        list_OnBar.Add(klineData.Period + ":" + klineData.GetBar(m));
                        Console.WriteLine(klineData.Period + ":" + klineData.GetBar(m));
                    }
                }
            }
        }
Ejemplo n.º 9
0
        public void Write()
        {
            FileUtils.EnsureParentDirExist(path);
            StreamWriter sw = File.AppendText(path);

            try
            {
                for (int i = startIndex; i <= endIndex; i++)
                {
                    sw.WriteLine(tickData.GetBar(i));
                }
            }
            finally
            {
                sw.Close();
            }
        }
Ejemplo n.º 10
0
        public static TimeLineBar GetTimeLineBar(ITimeLineBar timeLineBar, ITickData tickData, int startIndex, int endIndex, float lastEndPrice)
        {
            TimeLineBar bar = new TimeLineBar();

            bar.Code = tickData.Code;

            ITickBar endTickBar = tickData.GetBar(endIndex);

            bar.Time      = endTickBar.Time;
            bar.Price     = endTickBar.Price;
            bar.Hold      = endTickBar.Hold;
            bar.UpRange   = endTickBar.Price - lastEndPrice;
            bar.UpPercent = (float)NumberUtils.percent(endTickBar.Price, lastEndPrice);

            int mount = timeLineBar.Mount;

            for (int i = startIndex; i <= endIndex; i++)
            {
                mount += tickData.Arr_Mount[i];
            }
            bar.Mount = mount;
            bar.Hold  = endTickBar.Hold;
            return(bar);
        }
Ejemplo n.º 11
0
 public ITickBar GetBar(int index)
 {
     return(tickData.GetBar(index));
 }