private MinDataFileParser GetParser(Market market, DZHFolderHelp help) { MinDataFileParser parser = null; switch (market) { case Market.SH: parser = help.DayParserSH; break; case Market.SZ: parser = help.DayParserSZ; break; case Market.BS: parser = help.DayParserBS; break; default: parser = help.DayParserSH; break; } return(parser); }
private void LoadDzh() { if (!string.IsNullOrEmpty(Settings.Default.DzhFolder)) { DZHFolderHelp helper = new DZHFolderHelp(Settings.Default.DzhFolder, false); this.Application.Add(dzhKey, helper); } }
private async void OnLoaded(object sender, RoutedEventArgs e) { helper = new DZHFolderHelp(Settings.Default.DzhFolder, false); //ViewModel.IsTime = true; //QueryTime(); //QueryCandleRunning(); //QueryTimeRunning2(); QueryStock(); }
private static MinDataFileParser GetDayParser(string id, DZHFolderHelp helper) { MinDataFileParser parser = null; if (id.StartsWith(sh, StringComparison.OrdinalIgnoreCase)) { parser = helper.DayParserSH; } else if (id.StartsWith(sz, StringComparison.OrdinalIgnoreCase)) { parser = helper.DayParserSZ; } else if (id.StartsWith(sb, StringComparison.OrdinalIgnoreCase)) { parser = helper.DayParserBS; } else { parser = helper.DayParserSH; } return(parser); }
private static void LoadAndConvertStock(List <string> ids, DateTime start, DateTime end, DZHFolderHelp helper, string outputFile) { List <CompleteShare> shares = new List <CompleteShare>(); foreach (var id in ids) { var dataParser = GetDayParser(id, helper); var stock = dataParser.GetOneStock(GetId(id), start, end); if (stock != null) { var share = FromStock(stock); shares.Add(share); } } if (shares.Any()) { JsonSerializer jSer = new JsonSerializer(); if (File.Exists(outputFile)) { using (JsonTextReader reader = new JsonTextReader(new StreamReader( new FileStream(outputFile, FileMode.Open, FileAccess.Read, FileShare.Read), Encoding.UTF8))) { var oldShares = jSer.Deserialize <CompleteShare[]>(reader); shares.InsertRange(0, oldShares); } } using (JsonTextWriter writer = new JsonTextWriter(new StreamWriter( new FileStream(outputFile, FileMode.Create, FileAccess.ReadWrite, FileShare.None), Encoding.UTF8))) { jSer.Serialize(writer, shares); } } }
static void Main(string[] args) { if (args.Length < 4) { Usage(); return; } string dzhFolder = args[0]; string prpFile = null; if (!Directory.Exists(dzhFolder)) { if (!File.Exists(dzhFolder)) { Usage(); Console.WriteLine("Dzh folder not exist"); return; } else { prpFile = dzhFolder; dzhFolder = null; } } string outputFile = args[1]; var dirPath = Path.GetDirectoryName(outputFile); if (!Directory.Exists(dirPath)) { Usage(); Console.WriteLine("output folder not exist"); return; } List <string> ids = new List <string>(); string lTag = args[2]; if (!lTag.Equals("-l", StringComparison.OrdinalIgnoreCase)) { Usage(); return; } DateTime start = DateTime.Now.AddYears(-2), end = DateTime.Now; for (int i = 3; i < args.Length; i++) { if (args[i].Equals("-d", StringComparison.OrdinalIgnoreCase)) { if (i + 1 < args.Length) { start = DateTime.Parse(args[i + 1]); if (i + 2 < args.Length) { end = DateTime.Parse(args[i + 2]); } } break; } ids.Add(args[i]); } if (dzhFolder != null) { DZHFolderHelp helper = new DZHFolderHelp(dzhFolder, false); LoadAndConvertStock(ids, start, end, helper, outputFile); } else { PrpTradeDetailParser parser = new PrpTradeDetailParser(prpFile); LoadAndConvertStock(ids, parser, outputFile); } }
public MainViewModel() { helper = new DZHFolderHelp(Settings.Default.DzhFolder, false); shareId = "000001"; }