public void Start() { new List <TimeSpan> { FinancialTimeSpans.M1 }.ForEach(timeFrame => { IBarsCreator creator = new BarsCreator(null, null, timeFrame, @"C:\quotes\EURUSD\Dukascopy\"); string path = new SeriesDescriptor() .InstrumentDescriptors.Single(x => x.Name == "EURUSD") .ProviderDescriptors.Single(x => x.Name == "Dukascopy") .Path; SeriesReader reader = new SeriesReader(path); DateTime dateTime; decimal ask, bid; int lastMonth = -1; while (reader.Next(out dateTime, out ask, out bid)) { creator.AddQuote(dateTime, ask); #if _VERBOSE if (dateTime.Month != lastMonth) { Console.WriteLine("{0} -> {1}/{2} -> {3}", dateTime, ask, bid, creator.BarsCount); lastMonth = dateTime.Month; } #endif } creator.Finish(); }); }
static void Main(string[] args) { //string rootFolder = @"C:\quotes\EURUSD\Dukascopy\"; //DateTime begin = new DateTime(2003, 06, 01, 15, 31, 49); //DateTime end = new DateTime(2013, 06, 15, 18, 55, 16); //ISeriesReader reader = new SeriesReader(rootFolder, begin, end); //DateTime dateTime; //decimal ask, bid; //while (reader.Next(out dateTime, out ask, out bid)) { // Console.WriteLine("{0} -> {1}/{2}", dateTime, ask, bid); //} string path = new SeriesDescriptor() .InstrumentDescriptors.Single(x => x.Name == "EURUSD") .ProviderDescriptors.Single(x => x.Name == "Dukascopy") .Path; SeriesReader reader = new SeriesReader(path); DateTime dateTime; decimal ask, bid; int lastMonth = -1; while (reader.Next(out dateTime, out ask, out bid)) { if (dateTime.Month != lastMonth) { Console.WriteLine("{0} -> {1}/{2}", dateTime, ask, bid); lastMonth = dateTime.Month; } } Console.ReadLine(); }
private void DaysPanel_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (e.AddedItems.Count > 0) { DayDescriptor descriptor = (DayDescriptor)e.AddedItems[0]; this.ValuesGrid.Items.Clear(); SeriesReader reader = SeriesReader.CreateReaderForSingleFile(descriptor.Path); DateTime dateTime; decimal ask, bid; while (reader.Next(out dateTime, out ask, out bid)) { this.ValuesGrid.Items.Add(new { DateTime = dateTime, Ask = ask, Bid = bid }); } this.StatusText.Text = string.Format("{0} samples...", this.ValuesGrid.Items.Count); } }
public void TestMethod() { IBarsCreator creator = new BarsCreator(null, null, TimeSpan.FromMinutes(1), null); string path = new SeriesDescriptor() .InstrumentDescriptors.Single(x => x.Name == "EURUSD") .ProviderDescriptors.Single(x => x.Name == "Dukascopy") .Path; SeriesReader reader = new SeriesReader(path); DateTime dateTime; decimal ask, bid; while (reader.Next(out dateTime, out ask, out bid)) { creator.AddQuote(dateTime, ask); } }
public void TestMethod() { string rootFolder = @"C:\quotes\EURUSD\Dukascopy\"; DateTime begin = new DateTime(2003, 06, 01, 15, 31, 49); DateTime end = new DateTime(2003, 06, 15, 18, 55, 16); ISeriesReader reader = new SeriesReader(rootFolder, begin, end); DateTime dateTime; decimal ask, bid; while (reader.Next(out dateTime, out ask, out bid)) { Assert.IsTrue(dateTime > begin); Assert.IsTrue(dateTime <= end); Assert.IsTrue(ask >= bid); } }
//public bool GetPatientRisInfo(string sRisID, string PatientID, string Modality, string StudyDate, string RunMode, out RisTags ristag) //{ // bool bSucc = false; // ristag = new RisTags(); // SqlDataAdapter sqlQueryExamrecord; // SqlDataReader sqlExamrecordReader; // string sel = ""; // if (sRisID.Length < 12) // { // sel = string.Format(@" select name,sex,age,ageunit,machinetype,machinename,visceras,examdate,examtime " + // " from examrecord " + // " where olddocid='{0}' and machinetype='{1}' " + // " and modidate>='{2} 00:00:00' and modidate<='{3} 23:59:59' and modulename='{4}' ", // PatientID, Modality, StudyDate, StudyDate, RunMode); // } // else // { // sel = string.Format(@" select name,sex,age,ageunit,machinetype,machinename,visceras,examdate,examtime " + // " from examrecord " + // " where id='{0}' and modulename='{1}' ", sRisID, RunMode); // } // try // { // sqlQueryExamrecord = new SqlDataAdapter(sel, GlobalData.MainConn.ChangeType()); // sqlQueryExamrecord.SelectCommand.CommandType = CommandType.Text; // sqlExamrecordReader = sqlQueryExamrecord.SelectCommand.ExecuteReader(); // while (sqlExamrecordReader.Read()) // { // ristag.RisPatientID = PatientID; // ristag.RisPatientName = (string)sqlExamrecordReader["name"]; // ristag.RisPatientSex = (string)sqlExamrecordReader["sex"]; // ristag.RisPatientAge = string.Format("{0}{1}", sqlExamrecordReader["age"], sqlExamrecordReader["ageunit"]); // ristag.RisMachineType = (string)sqlExamrecordReader["machinetype"]; // ristag.RisVisceras = (string)sqlExamrecordReader["visceras"]; // ristag.RisExamDate = ((DateTime)sqlExamrecordReader["examdate"]).ToShortDateString(); // ristag.RisExamTime = string.Format("{0}", sqlExamrecordReader["examtime"]); // bSucc = true; // } // sqlExamrecordReader.Close(); // sel = string.Format(@" select string1 from u_param where paramcode='系统参数' and string2='{0}' and string4='{1}' ", "HospitalName", RunMode); // sqlQueryExamrecord = new SqlDataAdapter(sel, GlobalData.MainConn.ChangeType()); // sqlQueryExamrecord.SelectCommand.CommandType = CommandType.Text; // sqlExamrecordReader = sqlQueryExamrecord.SelectCommand.ExecuteReader(); // while (sqlExamrecordReader.Read()) // { // ristag.RisHospital = (string)sqlExamrecordReader["string1"]; // } // sqlExamrecordReader.Close(); // sqlQueryExamrecord.Dispose(); // ristag.bSucc = bSucc; // return bSucc; // } // catch (Exception ex) // { // return false; // } //} public void GetDownloadFileName(string sPatientID, string sModality, string sStudyDate, string accessionNum, ref List <ArrayList> imageList, ref string strPatientName) { SqlDataAdapter sqlQueryImages; SqlDataReader sqlImagesReader; ArrayList arrSeriesString = new ArrayList(); SqlDataAdapter sqlCommand; SqlDataReader SeriesReader; string sqlstr; strPatientName = ""; if (accessionNum != "") { sqlstr = string.Format(" select name " + " from examrecord " + " where id='{0}' and modulename='RIS' ", accessionNum); sqlCommand = new SqlDataAdapter(sqlstr, GlobalData.MainConn.ChangeType()); sqlCommand.SelectCommand.CommandType = CommandType.Text; SeriesReader = sqlCommand.SelectCommand.ExecuteReader(); while (SeriesReader.Read()) { strPatientName = (string)SeriesReader["name"]; } sqlCommand.Dispose(); SeriesReader.Close(); sqlstr = string.Format(" select b.SeriesInstanceUID,b.SeriesNumber,a.AccessionNumber " + " from studies a,series b " + " where a.StudyInstanceUID=b.StudyInstanceUID " + " and a.AccessionNumber='{0}' order by SeriesNumber ", accessionNum); sqlCommand = new SqlDataAdapter(sqlstr, GlobalData.MainConn.ChangeType()); sqlCommand.SelectCommand.CommandType = CommandType.Text; SeriesReader = sqlCommand.SelectCommand.ExecuteReader(); while (SeriesReader.Read()) { arrSeriesString.Add((string)SeriesReader["SeriesInstanceUID"]); } sqlCommand.Dispose(); SeriesReader.Close(); if (arrSeriesString.Count == 0) //根据ACCESSION获取设备类型,影像号,检查日期 { sqlstr = string.Format(" select machinetype,CONVERT(varchar, submittime, 120 ) AS EXAMDATE, olddocid " + " from examrecord " + " where modulename='RIS' " + " and id='{0}'", accessionNum); sqlCommand = new SqlDataAdapter(sqlstr, GlobalData.MainConn.ChangeType()); sqlCommand.SelectCommand.CommandType = CommandType.Text; SeriesReader = sqlCommand.SelectCommand.ExecuteReader(); while (SeriesReader.Read()) { sPatientID = (string)SeriesReader["olddocid"]; sModality = (string)SeriesReader["machinetype"]; sStudyDate = (string)SeriesReader["examdate"].ToString().Substring(0, 10); break; } sqlCommand.Dispose(); SeriesReader.Close(); } else { for (int i = 0; i < arrSeriesString.Count; i++) { ArrayList l_list = new ArrayList(); string seriesuid = (string)arrSeriesString[i]; string sel = string.Format("select ReferencedFile,SOPInstanceUID,SeriesInstanceUID from images " + " where SeriesInstanceUID='{0}'" + " order by imagenumber ", seriesuid); //Loger.Info(sel, "SQL"); sqlQueryImages = new SqlDataAdapter(sel, GlobalData.MainConn.ChangeType()); sqlQueryImages.SelectCommand.CommandType = CommandType.Text; sqlImagesReader = sqlQueryImages.SelectCommand.ExecuteReader(); while (sqlImagesReader.Read()) { l_list.Add((string)sqlImagesReader["ReferencedFile"]); } imageList.Add(l_list); sqlImagesReader.Close(); sqlQueryImages.Dispose(); } return; } } sqlstr = string.Format(" select machinetype,CONVERT(varchar, submittime, 120 ) AS EXAMDATE, olddocid " + " from examrecord " + " where modulename='RIS' " + " and id='{0}'", accessionNum); sqlCommand = new SqlDataAdapter(sqlstr, GlobalData.MainConn.ChangeType()); sqlCommand.SelectCommand.CommandType = CommandType.Text; SeriesReader = sqlCommand.SelectCommand.ExecuteReader(); while (SeriesReader.Read()) { sPatientID = (string)SeriesReader["olddocid"]; sModality = (string)SeriesReader["machinetype"]; sStudyDate = (string)SeriesReader["examdate"].ToString().Substring(0, 10); break; } sqlCommand.Dispose(); SeriesReader.Close(); //按照设备类型获取图像 sqlstr = string.Format(" select b.SeriesInstanceUID,b.SeriesNumber,a.AccessionNumber " + " from studies a,series b " + " where a.StudyInstanceUID=b.StudyInstanceUID " + " and a.studydate>='{0} 00:00:00' and a.studydate<='{1} 23:59:59' " + " and a.patientid='{2}' and b.Modality='{3}' " + " order by SeriesNumber ", sStudyDate, sStudyDate, sPatientID, sModality); //Loger.Info(sqlstr, "SQL"); sqlCommand = new SqlDataAdapter(sqlstr, GlobalData.MainConn.ChangeType()); sqlCommand.SelectCommand.CommandType = CommandType.Text; SeriesReader = sqlCommand.SelectCommand.ExecuteReader(); arrSeriesString.Clear(); while (SeriesReader.Read()) { arrSeriesString.Add((string)SeriesReader["SeriesInstanceUID"]); } SeriesReader.Close(); sqlCommand.Dispose(); for (int i = 0; i < arrSeriesString.Count; i++) { ArrayList l_list = new ArrayList(); string seriesuid = (string)arrSeriesString[i]; string sel = string.Format("select ReferencedFile,SOPInstanceUID,SeriesInstanceUID from images " + " where patientid='{0}' " + " and modality='{1}' " + " and SeriesInstanceUID='{2}'" + " order by imagenumber ", sPatientID, sModality, seriesuid); sqlQueryImages = new SqlDataAdapter(sel, GlobalData.MainConn.ChangeType()); sqlQueryImages.SelectCommand.CommandType = CommandType.Text; sqlImagesReader = sqlQueryImages.SelectCommand.ExecuteReader(); while (sqlImagesReader.Read()) { l_list.Add((string)sqlImagesReader["ReferencedFile"]); } imageList.Add(l_list); sqlImagesReader.Close(); sqlQueryImages.Dispose(); } return; }