Ejemplo n.º 1
0
        public void ReadData(string url)
        {
            if (string.IsNullOrEmpty(url))
            {
                return;
            }
            var fileManager = new DataFile();
            var fileName    = fileManager.GetFileName(url);

            fileName = fileName.Substring(0, fileName.Length - 4);
            using (var fs = new FileStream(url, FileMode.Open, FileAccess.Read))
            {
                BinaryReader r = new BinaryReader(fs);

                var xd = new byte[32];
                for (long i = 0; i < fs.Length; i += 32)
                {
                    for (int j = 0; j < 32; j++)
                    {
                        var x = r.ReadByte();
                        xd[j] = Convert.ToByte(x);
                    }
                    var rec = new MarketData(xd);
                    rec.Ticker = fileName;
                    var l = rec.Ticker.Length;
                    if (l > 6)
                    {
                        rec.Ticker = rec.Ticker.Substring(l - 6);
                    }

                    MarketDataList.Add(rec);
                }
            }
        }
Ejemplo n.º 2
0
        void LoadFromFile()
        {
            var dlg = new OpenFileDialog()
            {
                Filter = "Text File|*.txt |Csv File| *.csv | (*.*)|*.*"
            };

            if (dlg.ShowDialog() == true)
            {
                var ep = new ReportCommonLib.ReportExportHelper();
                var l  = ep.LoadFromCsvFile <BackTestingCommonLib.MarketData>(dlg.FileName, Encoding.GetEncoding("GB18030"), GetSeperateChar(), null, preProcess);
                l.ForEach(v => MarketDataList.Add(v));
            }
        }
Ejemplo n.º 3
0
 public void LoadCurrentInstrumentMarketData(DateTime start, DateTime end)
 {
     if (CurrentInstrument == null)
     {
         return;
     }
     else
     {
         MarketDataList.Clear();
         var ml = CurrentDataSource.GetDataList(new List <IInstrument>()
         {
             CurrentInstrument
         }, start, end, Grade);
         ml.ForEach(v => MarketDataList.Add(v));
     }
 }
Ejemplo n.º 4
0
        void LoadFromDB()
        {
            var sql = "Select * from Table_TradePrice where Time>='" + StartTime.ToString() + "' and Time<='" + EndTime.ToString() + "'";

            if (!string.IsNullOrEmpty(InstrumentTicker))
            {
                sql = sql + " and Ticker='" + InstrumentTicker + "'";
            }
            var connectionStr = ConfigurationManager.ConnectionStrings["MarketDataConnectionString"];

            using (var conn = new SqlConnection(connectionStr.ConnectionString))
            {
                conn.Open();
                var rl = conn.Query <BackTestingCommonLib.MarketData>(sql, new { }, null, true, 60000).ToList();
                foreach (var r in rl)
                {
                    MarketDataList.Add(r);
                }
            }
        }
Ejemplo n.º 5
0
        public void LoadMarketData(DateTime start, DateTime end, Func <IDataSource> ds, IInstrument instrument)
        {
            if (ds == null || ds() == null)
            {
                MessageBox.Show("please select valid data source");
                return;
            }

            var dl = ds().GetDataList(new List <IInstrument> {
                instrument
            }, start, end, MarketDataGrade.FiveMinutes);

            SourceList.Clear();
            dl.ForEach(v => SourceList.Add(v));
            var ml = MarketData.SummaryMarketDataList(dl, CurrentPeriod);

            MarketDataList.Clear();
            ml.ForEach(v => MarketDataList.Add(v));
            OnPropertyChanged("IsLoaded");
        }
Ejemplo n.º 6
0
        void New()
        {
            var obj = new BackTestingCommonLib.MarketData();

            MarketDataList.Add(obj);
        }