private void button1_Click(object sender, EventArgs e) { //RunResultClass ret = CommWDToolClass.GetSetBaseData(gb.w,"000613.SZ,300369.SZ,002512.SZ,600721.SH,300344.SZ,000100.SZ",DateTime.Today); ////MACDGuidProcess mp = new MACDGuidProcess(gb.w); ////RunResultClass ret = mp.getDateSerialResult("000100.SZ",Convert.ToDateTime("2017/7/7"), DateTime.Today); ////BaseDataProcess bp = new BaseDataProcess(gb.w); ////RunResultClass bret = bp.getDateSerialResult("000100.SZ", Convert.ToDateTime("2017/7/7"), DateTime.Today); //RunResultClass ret =mp.getSetDataResult("000613.SZ,300369.SZ,002512.SZ,600721.SH,300344.SZ,000100.SZ", null, DateTime.Today); //RunResultClass ret = CommWDToolClass.(gb.w, "000613.SZ,300369.SZ,002512.SZ,600721.SH,300344.SZ,000100.SZ", DateTime.Today); //BaseDataTable dt = CommWDToolClass.GetBaseData(gb.w, "000613.SZ,300369.SZ,002512.SZ,600721.SH,300344.SZ,000100.SZ", Convert.ToDateTime("2018/3/10"), Cycle.Day, PriceAdj.Beyond); string code = new SIIIClass().SummaryCode; BaseDataTable bdt = CommWDToolClass.GetMarketsStocks(this.gb.w, "000300.SH", DateTime.Today, 200, true, true, false, null); MessageBox.Show(bdt.Count.ToString()); return; //////////MessageBox.Show(WDDayClass.LastTradeDay(gb.w,"002161.SZ",DateTime.Today).ToShortDateString()); //////////return; //////////BaseDataTable dt = CommWDToolClass.GetBaseSerialData(gb.w, "000002.SZ", Convert.ToDateTime("2015/12/7"), Convert.ToDateTime("2016/7/7")); //////////if (dt != null) //////////{ ////////// MessageBox.Show(string.Format("交易日数量:{0},股票实际交易日:{1}",dt.Count,dt.AvaliableData.Count)); ////////// ////MTable tab = ret.Result; ////////// ////tab.Union(bret.Result); ////////// ////MACDTable mtab = new MACDTable(tab.GetTable()); ////////// ////MessageBox.Show(mtab[0].ToClassInfo()); ////////// //MessageBox.Show(new BaseDataTable(ret.Result)[5].IsST(DateTime.Today).ToString()); //////////} }
private void btn_query_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; string indexcode = new SIIIClass().SummaryCode; //必须先主动获取 MTable mt = CommWDToolClass.getBkList(this.gb.w, indexcode, this.txt_EndT.Value); if (mt == null) { return; } if (mt.Count == 0) { statusStrip1.Text = string.Format("共计记录条数:{0}", 0); toolStripStatus_Right.Text = "无法查找到记录"; dataGridView1.DataSource = null; dataGridView1.Show(); this.Cursor = Cursors.Default; return; } MTable secTab = mt["wind_code"]; string[] sectors = secTab.ToList <string>().ToArray(); MTable tmp = CommWDToolClass.GetMutliSetData(this.gb.w, sectors, this.txt_EndT.Value, (Cycle)this.ddl_cycle.SelectedIndex, PriceAdj.Beyond, false, txt_Content.Text); DataTable fdt = tmp.GetTable(); this.dataGridView1.DataSource = fdt; dataGridView1.Tag = fdt; dataGridView1.Show(); this.Cursor = Cursors.Default; }
private void btn_run_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; string indexcode = new SIIIClass().SummaryCode; //必须先主动获取 MTable mt = CommWDToolClass.getBkList(this.gb.w, indexcode, this.txt_EndT.Value); if (mt == null) { MessageBox.Show("股票池数据为空"); return; } if (mt.Count == 0) { toolStripStatus_left.Text = string.Format("共计记录条数:{0}", 0); toolStripStatus_Right.Text = "无法查找到记录"; dataGridView1.DataSource = null; dataGridView1.Show(); this.Cursor = Cursors.Default; return; } MTable secTab = mt["wind_code"]; string[] sectors = secTab.ToList <string>().ToArray(); MTable tmp = CommWDToolClass.GetMutliSetData(this.gb.w, sectors, this.txt_EndT.Value, (Cycle)this.ddl_cycle.SelectedIndex, (PriceAdj)this.ddl_priceAdj.SelectedIndex, false, "KDJ.J"); mt.AddColumnByArray("CurrCycleValue", tmp, "J"); DateTime preDate = WDDayClass.Offset(this.gb.w, this.txt_EndT.Value, -1, (Cycle)this.ddl_cycle.SelectedIndex); tmp = CommWDToolClass.GetMutliSetData(this.gb.w, sectors, preDate, (Cycle)this.ddl_cycle.SelectedIndex, (PriceAdj)this.ddl_priceAdj.SelectedIndex, false, "KDJ.J"); mt.AddColumnByArray("PreCycleValue", tmp, "J"); //高一频度周期数据 if (this.ddl_cycle.SelectedIndex > 0) { tmp = CommWDToolClass.GetMutliSetData(this.gb.w, sectors, this.txt_EndT.Value, (Cycle)(this.ddl_cycle.SelectedIndex - 1), (PriceAdj)this.ddl_priceAdj.SelectedIndex, false, "KDJ.K,KDJ.J"); mt.AddColumnByArray("LowCycleValue", tmp, "J"); mt.AddColumnByArray("LowCycleK", tmp, "K"); tmp = CommWDToolClass.GetMutliSetData(this.gb.w, sectors, preDate, (Cycle)(this.ddl_cycle.SelectedIndex - 1), (PriceAdj)this.ddl_priceAdj.SelectedIndex, false, "KDJ.J"); mt.AddColumnByArray("PreLowCycleValue", tmp, "J"); } MTable dte = mt; MTable fdt = dte.Select("PreCycleValue>CurrCycleValue And (PreCycleValue <5 and CurrCycleValue<5) And (LowCycleK<20 Or LowCycleValue<=5 Or PreLowCycleValue>LowCycleValue)"); toolStripStatus_Right.Text = "完成"; toolStripStatus_left.Text = string.Format("共计记录条数:{0}", fdt.Count); dataGridView1.CellMouseDoubleClick += new DataGridViewCellMouseEventHandler(dataGridView1_CellMouseDoubleClick); dataGridView1.DataSource = fdt.GetTable(); dataGridView1.Tag = fdt; dataGridView1.Show(); this.Cursor = Cursors.Default; }
private void dataGridView1_DoubleClick(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; //DataTable table = (DataTable)dataGridView1.DataSource;//数据源 //string secid = table.Rows[e.RowIndex]["wind_code"].ToString(); //string SecName = table.Rows[e.RowIndex]["sec_name"].ToString(); string secid = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["wind_code"].Value.ToString(); string SecName = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["sec_name"].Value.ToString(); SecIndexClass sic = new SIIIClass(); sic.IndexCode = secid; secIndexBuilder sib = new secIndexBuilder(this.gb.w, sic); MTable mt = sib.getBkWeight(this.txt_EndT.Value); if (mt == null) { return; } DataTable dt = mt.GetTable(); if (dt == null || dt.Rows.Count == 0 || !dt.Columns.Contains("i_weight")) { this.Cursor = Cursors.Default; MessageBox.Show(secid + "无详细信息!"); return; } dt.Columns["i_weight"].DataType = typeof(float); dt.Columns.Add("CurrCycleValue", typeof(float)); string[] sectors = new string[dt.Rows.Count]; for (int i = 0; i < dt.Rows.Count; i++) { sectors[i] = dt.Rows[i]["wind_code"].ToString(); } KDJGuidClass kdj = new KDJGuidClass(9, 3, 3); kdj.cycle = (Cycle)this.ddl_cycle.SelectedIndex; kdj.priceAdj = (PriceAdj)this.ddl_priceAdj.SelectedIndex; GuidBuilder_ForWD gb = new GuidBuilder_ForWD(this.gb.w, kdj); MTable newdt = gb.getRecords(sectors, this.txt_EndT.Value); for (int i = 0; i < dt.Rows.Count; i++) { dt.Rows[i]["CurrCycleValue"] = newdt.GetTable().Rows[i][0]; } if (this.ddl_cycle.SelectedIndex > 0) { dt.Columns.Add("LowCycleValue", typeof(float)); kdj.cycle = (Cycle)this.ddl_cycle.SelectedIndex - 1; gb = new GuidBuilder_ForWD(gb.w, kdj); newdt = gb.getRecords(sectors, this.txt_EndT.Value); for (int i = 0; i < dt.Rows.Count; i++) { dt.Rows[i]["LowCycleValue"] = newdt.GetTable().Rows[i][0]; } } Form dlgfrm = new Form(); DrawForm(dlgfrm); DataGridView ddgrid = new DataGridView(); dlgfrm.Controls.Add(ddgrid); DrawGrid(ddgrid); //dataGridView1.CellMouseDoubleClick += new DataGridViewCellMouseEventHandler(dataGridView1_CellMouseDoubleClick); ddgrid.DataSource = dt; ddgrid.Tag = dt; ddgrid.Show(); dlgfrm.TopMost = true; dlgfrm.Text = SecName; dlgfrm.ShowDialog(this); this.Cursor = Cursors.Default; }