Esempio n. 1
0
        private void ForwardToday_TimeLineData(ITimeLineData_RealTime timeLineData)
        {
            if (timeLineData == null)
            {
                return;
            }
            ITickData_Extend currentTickData = forwardData.CurrentTickData;
            ITickBar         nextTickBar     = currentTickData.GetBar(currentTickData.BarPos + 1);
            int nextTimeLineBarPos           = timeLineData.BarPos + 1;

            if (nextTimeLineBarPos >= timeLineData.Length)
            {
                TimeLineBar timeLineBar = GetTimeLineBar(timeLineData, nextTickBar, timeLineData.YesterdayEnd);
                timeLineData.ChangeCurrentBar(timeLineBar, timeLineData.BarPos);
                return;
            }
            else
            {
                double      nextTime = timeLineData.Arr_Time[nextTimeLineBarPos];
                TimeLineBar timeLineBar;
                if (nextTickBar.Time >= nextTime)
                {
                    timeLineBar = GetTimeLineBar(nextTickBar, timeLineData.YesterdayEnd);
                    timeLineData.ChangeCurrentBar(timeLineBar, nextTimeLineBarPos);
                }
                else
                {
                    timeLineBar = GetTimeLineBar(timeLineData, nextTickBar, timeLineData.YesterdayEnd);
                    timeLineData.ChangeCurrentBar(timeLineBar, timeLineData.BarPos);
                }
            }
        }
Esempio n. 2
0
        private void ForwardToday_TimeLineData(int mainBarPosIfFinished)
        {
            if (!dataForForward_Code.UseTimeLineData)
            {
                return;
            }
            ITickBar tickBar = dataForForward_Code.CurrentTickData;
            ITimeLineData_RealTime timeLineData = dataForForward_Code.CurrentTimeLineData;

            //该时段已经结束,跳到下一时段
            if (isTimeLineEnd)
            {
                if (mainBarPosIfFinished > 0)
                {
                    timeLineData.ResetCurrentBar();
                    timeLineData.BarPos = forwardDataIndeier.GetTimeLineBarPosIfFinished(mainBarPosIfFinished);
                    return;
                }
                TimeLineBar timeLineBar2 = TimeLineUtils.GetTimeLineBar(tickBar, timeLineData.YesterdayEnd);
                int         barP         = forwardDataIndeier.GetTimeLineBarPosIfFinished(mainBarPosIfFinished);
                timeLineData.ChangeCurrentBar(timeLineBar2, barP);
                //timeLineData.ChangeCurrentBar(timeLineBar2, timeLineData.BarPos + 1);
                isTimeLineEnd = false;
                return;
            }

            TimeLineBar timeLineBar = TimeLineUtils.GetTimeLineBar(timeLineData, tickBar, timeLineData.YesterdayEnd);

            timeLineData.ChangeCurrentBar(timeLineBar);

            if (mainBarPosIfFinished > 0)
            {
                isTimeLineEnd = true;
            }
        }
        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);
        }
        public static void ChangeTime_TimeLineData(ITimeLineData_RealTime timeLineData, double time, ITickData_Extend tickData)
        {
            //if (timeLineData.Time == time)
            //    return;
            int    timeLineIndex  = GetTimeLineIndex(timeLineData, time);
            int    tickIndex      = TimeIndeierUtils.IndexOfTime_Tick(tickData, time);
            double klineTime      = timeLineData.Arr_Time[timeLineIndex];
            int    startTickIndex = GetStartTickIndex(timeLineData, tickData, timeLineIndex);

            TimeLineBar klineBar = GetTimeLineBar(tickData, startTickIndex, tickIndex, timeLineData.YesterdayEnd);

            timeLineData.ChangeCurrentBar(klineBar, timeLineIndex);
        }
Esempio n. 5
0
        public static TimeLineBar GetTimeLineBar(ITimeLineBar timelineBar, ITickBar tickBar, float lastEndPrice)
        {
            TimeLineBar bar = new TimeLineBar();

            bar.Code      = tickBar.Code;
            bar.Time      = tickBar.Time;
            bar.Price     = tickBar.Price;
            bar.Hold      = tickBar.Hold;
            bar.Mount     = timelineBar.Mount + tickBar.Mount;
            bar.UpRange   = tickBar.Price - lastEndPrice;
            bar.UpPercent = (float)NumberUtils.percent(tickBar.Price, lastEndPrice);
            return(bar);
        }
Esempio n. 6
0
        private TimeLineData_RealTime GetTimeLineData_RealTime(TimeLineData timeLineData, ITickData tickData, double time)
        {
            this.timeLineData_RealTime = new TimeLineData_RealTime(this.timeLineData);
            int timeLineIndex = TimeIndeierUtils.IndexOfTime_TimeLine(this.timeLineData, time);
            //this.timeLineData_RealTime.IndexOfTime(time);
            int    tickIndex      = TimeIndeierUtils.IndexOfTime_Tick(tickData, time);
            double klineTime      = timeLineData_RealTime.Arr_Time[timeLineIndex];
            int    startTickIndex = TimeIndeierUtils.IndexOfTime_Tick(tickData, klineTime);

            //IKLineData klineData = dataPackage.GetKLineData(date, date, 1, 0, KLinePeriod.KLinePeriod_1Day);
            float       lastEndPrice = dataPackage.GetLastEndPrice(date);
            TimeLineBar klineBar     = GetTimeLineBar(tickData, startTickIndex, tickIndex, lastEndPrice);

            timeLineData_RealTime.ChangeCurrentBar(klineBar, timeLineIndex);
            return(timeLineData_RealTime);
        }
Esempio n. 7
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);
        }