internal void InitCSVReader(int Index, string filepath, bool saveticks, int interval) { var s = ChimeraDataUtils.SecurityFromFileName(filepath); string strQuote = ChimeraDataUtils.QuotePathFromTradePath(filepath); string strNBBO = ChimeraDataUtils.NBBOPathFromTradePath(filepath); trCSV = new CSVtoTikReader(filepath, strQuote, strNBBO, s.symbol, s.Date); if (_saveticks) { ticks = new List <Tick>(trCSV.ApproxTicks); } else { ticks = new List <Tick>(); } _saveticks = saveticks; idx = Index; if (interval == 0) { trCSV.gotTick += new TickDelegate(tr_gotTick); } else { bl = new BarListImpl(trCSV.Symbol, interval, BarInterval.CustomTime); bl.GotNewBar += new SymBarIntervalDelegate(bl_GotNewBar); trCSV.gotTick += new TickDelegate(tr_gotTick2); } }
internal static void ThreadPoolGo(object info) { tickreader reader = (tickreader)info; reader.IsBusy = true; if (reader.b_UseCSV) { CSVtoTikReader tr = reader.trCSV; //int i = 0; while (!reader.Cancel && tr.NextTick()) { ; } //if (i++ % 10 == 0) // Console.WriteLine("i:" + reader.idx + " c:" + i + " f:"+reader.file) ; reader.count = tr.Count; reader.finished = !reader.Cancel; tr.Close(); } else { TikReader tr = reader.tr; //int i = 0; while (!reader.Cancel && tr.NextTick()) { ; } //if (i++ % 10 == 0) // Console.WriteLine("i:" + reader.idx + " c:" + i + " f:"+reader.file) ; reader.count = tr.Count; reader.finished = !reader.Cancel; tr.Close(); } reader.IsBusy = false; }