Beispiel #1
0
        public List <int> GetUpdateDates(string code, DataReaderFactory tmpFac)
        {
            List <int> openDates = dataProvider.GetOpenDates(code);

            if (openDates == null)
            {
                return(new List <int>());
            }
            List <int> updateDates  = new List <int>();
            List <int> currentDates = tmpFac.TickDataReader.GetTickDates(code);

            if (currentDates != null && openDates.Count == currentDates.Count)
            {
                return(updateDates);
            }
            if (currentDates == null || currentDates.Count == 0)
            {
                updateDates.AddRange(openDates);
            }
            else
            {
                int lastDate = currentDates[currentDates.Count - 1];
                int index    = openDates.IndexOf(lastDate);
                if (index < 0)
                {
                    return(updateDates);
                }
                updateDates.AddRange(openDates.GetRange(index + 1, openDates.Count - index - 1));
            }

            return(updateDates);
        }
Beispiel #2
0
        public List <int> GetUpdateDates(String code, DataReaderFactory dataReaderFactory, KLinePeriod period)
        {
            List <int> openDates = dataProvider.GetOpenDates(code);

            if (openDates == null)
            {
                return(new List <int>());
            }
            int lastDate = GetUpdateLastDate(code, dataReaderFactory, period);

            if (lastDate < 0)
            {
                return(openDates);
            }
            int index = openDates.IndexOf(lastDate) + 1;

            return(openDates.GetRange(index, openDates.Count - index));
        }
Beispiel #3
0
        public void Update()
        {
            List <int> openDates = dataProvider.GetOpenDates();

            String[] openDateStr = new String[openDates.Count];
            for (int i = 0; i < openDates.Count; i++)
            {
                openDateStr[i] = openDates[i].ToString();;
            }
            File.WriteAllLines(pathUtils.GetOpenDatePath(), openDateStr);
        }