Exemplo n.º 1
0
        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();
            });
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
 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);
     }
 }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
        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;
        }