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); }
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)); }
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); }