/// <summary> /// 从dat中解析出行情数据 - MA数据加载 个股 - 数据 /// </summary> /// <param name="valueInfosDic"></param> private void LoadDatData(Dictionary <string, string> valueInfosDic) { foreach (KeyValuePair <string, string> kv in valueInfosDic) { string geguStr = kv.Key; string geguPath = kv.Value; //获取该key下的path数据 List <MarketData> marketData = WenHuaDataHandle.GetHQDatData(geguPath); m_wenhuaShuJuDic.Add(geguStr, marketData); } //上图表 GraphPane mPane = zedGraphControl1.GraphPane;//获取索引到GraphPane面板上 foreach (KeyValuePair <string, List <MarketData> > kp in m_wenhuaShuJuDic) { List <MarketData> marketDataList = kp.Value; if (kp.Value == null || kp.Value.Count <= 0) { continue; } MarketData.CalMaDiff(marketDataList); PointPairList dataList = new PointPairList(); for (int j = 0; j < marketDataList.Count; j++) { PointPair pairData = new PointPair(); double x = 0.00; DateTime tM = marketDataList[j].DateTimeNum; string daT = tM.ToString("yyyy-MM-dd").Replace("-", ""); double.TryParse(daT, out x);//时间double 20200617 double y = marketDataList[j].MADiff; if (y == 0) { continue; } pairData.X = x; pairData.Y = y; dataList.Add(pairData); } LineItem mCure = mPane.AddCurve(kp.Key, dataList, Common.GetRandomColor(), SymbolType.None); m_LineItemList.Add(mCure); zedGraphControl1.AxisChange();//画到zedGraphControl1控件中,此句必加 } }
/// <summary> /// 一级目录点击 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Level1_MouseClick(object sender, MouseEventArgs e) { //进去该目录下的cont.dat进行解析放入Level2 try { this.listBox_Level2.Items.Clear(); string path = this.textBox_path.Text.Replace("\r\n", ""); string pathData = path + this.listBox_Level1.SelectedItem.ToString() + "\\cont.dat"; List <Level2Info> level2List = WenHuaDataHandle.GetConDatData(pathData); foreach (Level2Info info in level2List) { this.listBox_Level2.Items.Add(info); } } catch (Exception ex) { } }
private void Level2_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { //选中显示个股 this.richTextBox_Data.Clear(); if (this.listBox_Level1.SelectedItem == null || this.listBox_Level1.SelectedItem.ToString() == "" || this.listBox_Level2.SelectedItem == null || this.listBox_Level2.SelectedItem.ToString() == "") { return; } Level2Info infos = this.listBox_Level2.SelectedItem as Level2Info; string fileInfos = this.textBox_path.Text.Replace("\r\n", "") + this.listBox_Level1.SelectedItem.ToString() + "\\" + "day\\" + infos.DataCodeStr + ".dat"; //获取数据 if (!File.Exists(fileInfos)) { MessageBox.Show("该行情文件不存在,请刷新文华相关合约的日线数据!"); } else { List <MarketData> wDList = WenHuaDataHandle.GetHQDatData(fileInfos); //因为数据可能很多,所以只展示100条 for (int i = wDList.Count - 1; i >= wDList.Count - 50; i--) { this.richTextBox_Data.AppendText(wDList[i].DateTimeNum + "|" + wDList[i].Close + "\n"); } } } }