Exemple #1
0
        public GuideResultSet GuideWaves()
        {
            //get
            //{
            GuideResultSet ret = new GuideResultSet();

            if (UseMainGuides() == null || UseMainGuides().Count == 0)
            {
                return(ret);
            }
            int len = UseMainGuides().Last().Value.CurrValues.Length;

            for (int i = 0; i < len; i++)
            {
                Dictionary <string, double> dic = new Dictionary <string, double>();
                foreach (string key in UseMainGuides().Keys)
                {
                    dic.Add(key, UseMainGuides()[key].CurrValues[i]);
                }
                ret.NewTable(dic);
            }
            return(ret);
            //}
        }
Exemple #2
0
        private void timer_Tip_Tick(object sender, EventArgs e)
        {
            try
            {
                DataTable dt = btc.SystemStdDevs;
                if (dt.Rows.Count > 0)
                {
                    string   strExpect = dt.Rows[dt.Rows.Count - 1]["Expect"].ToString();
                    Int64    MinExpect = Int64.Parse(strExpect) - 180;
                    string   sql       = string.Format("Expect>={0}", MinExpect);
                    DataView dv_stddev = new DataView(dt);
                    dv_stddev.RowFilter = sql;
                    if (this.chart_ForSystemStdDev.Series.Count < dt.Columns.Count - 1)
                    {
                        this.chart_ForSystemStdDev.Series.Clear();
                        for (int i = 1; i < dt.Columns.Count; i++)
                        {
                            string strName = dt.Columns[i].ColumnName;
                            Series sr      = new Series(strName);
                            sr.ChartType = SeriesChartType.Line;
                            if (strName == "StdDev" || strName == "StdMa20" || strName == "StdMa5")
                            {
                                sr.BorderWidth = 3;
                            }
                            //sr.IsValueShownAsLabel = true;
                            this.chart_ForSystemStdDev.Series.Add(sr);
                        }
                        this.chart_ForSystemStdDev.GetToolTipText += new EventHandler <ToolTipEventArgs>(chart_ForSystemStdDev_GetToolTipText);
                    }
                    for (int i = 1; i < dt.Columns.Count; i++)
                    {
                        this.chart_ForSystemStdDev.Series[i - 1].Points.DataBindXY(dv_stddev, dt.Columns[0].ColumnName, dv_stddev, dt.Columns[i].ColumnName);
                    }
                    //this.chart_ForSystemStdDev.DataSource = dv_stddev;

                    //this.chart_ForSystemStdDev.Series[0].Points.DataBindXY(dv_stddev, "Expect", dv_stddev, "StdDev");
                    //this.chart_ForSystemStdDev.Series[1].Points.DataBindXY(dv_stddev, "Expect", dv_stddev, "StdMa20");
                    //this.chart_ForSystemStdDev.Series[2].Points.DataBindXY(dv_stddev, "Expect", dv_stddev, "StdMa5");
                    this.chart_ForSystemStdDev.ChartAreas[0].AxisY.Maximum = 0.6;
                    this.chart_ForSystemStdDev.ChartAreas[0].AxisY.Minimum = 0.1;
                    this.chart_ForSystemStdDev.Show();


                    this.dg_forStdDev.DataSource = dv_stddev;
                    this.dg_forStdDev.Tag        = dt;
                    this.dg_forStdDev.Refresh();
                }

                lock (es.MoneyIncreamLine)
                {
                    this.toolStripStatusLabel1.Text = string.Format("第{2}次,{0}/{1}", es.CurrIndex.ToString(), es.ExpectCnt, btc.testIndex);
                    this.toolStripStatusLabel2.Text = string.Format("{0}% 最大值:[{1}%]   最小值:[{2}%] ", es.GainedRate.ToString(), es.MaxRate, es.MinRate);

                    DataView moneyLines = new DataView(es.MoneyIncreamLine);
                    if (this.chart1.Series.Count == 0)
                    {
                        Series ss = new Series();
                        ss.ChartType = SeriesChartType.Line;
                        this.chart1.Series.Add(ss);
                    }
                    this.chart1.Series[0].Points.DataBindXY(moneyLines, "id", moneyLines, "val");
                }
                lock (es.ExchangeDetail)
                {
                    DataView vExchangeDetail = new DataView(es.ExchangeDetail);
                    this.dataGridView_ExchangeDetail.DataSource = vExchangeDetail;
                    this.dataGridView_ExchangeDetail.Refresh();
                    if (SCList.Count > 0)
                    {
                        if (SCList[0].PlanStrag.StagSetting.BaseType.traceType == TraceType.WaveTrace)
                        {
                            ProbWaveSelectStragClass pss = SCList[0].PlanStrag as ProbWaveSelectStragClass;
                            if (pss.BaseWaves().Tables.Count == 0)
                            {
                                return;
                            }
                            GuideResult    gs   = pss.BaseWaves().Tables[0] as GuideResult;
                            GuideResultSet gss  = pss.GuideWaves();
                            Int32          rcnt = gs.Rows.Count;
                            if (!checkBox_UseBuffRsult.Checked)//如果不用本地数据
                            {
                                if (rcnt > 0 && (rcnt % 100) < 20 && rcnt > lastSaveCnt + 50)
                                {
                                    //保存一次数据
                                    retData     = gs;
                                    lastSaveCnt = rcnt;
                                    new Thread(SaveWaveTable).Start();
                                }
                            }
                            DataView dvWv = new DataView(gs);
                            //this.chart_ForProb.ChartAreas[0].AxisY.MaximumAutoSize = false;

                            this.chart_ForProb.ChartAreas[0].AxisY.Maximum = gs.High;
                            this.chart_ForProb.ChartAreas[0].AxisY.Minimum = gs.Low;
                            this.chart_ForProb.Series[0].Points.DataBindXY(dvWv, "Id", dvWv, "val");
                            if (this.chart_ForProb.Series.Count < gss.Tables.Count + 1)
                            {
                                for (int i = this.chart_ForProb.Series.Count; i <= gss.Tables.Count; i++)
                                {
                                    Series si = new Series(string.Format("指标{0}", i));
                                    si.ChartType = SeriesChartType.Line;
                                    this.chart_ForProb.Series.Add(si);
                                }
                            }
                            for (int i = 0; i < gss.Tables.Count; i++)
                            {
                                DataView dv = new DataView(gss.Tables[i]);
                                this.chart_ForProb.Series[1 + i].Points.DataBindXY(dv, "Id", dv, "val");
                            }
                            this.dataGridView_ProbData.DataSource = dvWv;
                        }
                    }
                }
            }
            catch (Exception ce)
            {
            }
        }
Exemple #3
0
 public void SetGuides(GuideResultSet value)
 {
     _Guides = value;
 }