Beispiel #1
0
    private void GetPriceHistory(string strTicker)
    {
        DataTier  data      = new DataTier();
        DataTable priceData = data.GetFullPriceHistory(strTicker, 20);

        grdPriceHistory.DataSource = priceData;
        grdPriceHistory.DataBind();
    }
    protected void ZedGraphWeb1_RenderGraph(System.Drawing.Graphics g, ZedGraph.MasterPane mPane)
    {
        int           nDays = 0;
        int           nRows = 0;
        GraphPane     pane  = mPane[0];
        PointPairList pt    = new PointPairList();
        double        nx;
        double        ny;

        string days   = (string)Page.Request.Params["days"];
        string ticker = (string)Page.Request.Params["ticker"];

        if (ticker != null)
        {
            ticker = ticker.Trim();
            DataTier theDataTier = new DataTier();
            if (days == null)
            {
                nDays = 0;
            }
            else
            {
                nDays = Convert.ToInt32(days);
            }

            DataTable dtTable = theDataTier.GetFullPriceHistory(ticker, nDays);
            nRows = dtTable.Rows.Count;


            for (int i = 1; i < nRows; i++)
            {
                ny = Convert.ToDouble(dtTable.Rows[i].ItemArray[1]);
                XDate tmpDate = new XDate(Convert.ToDateTime(dtTable.Rows[i].ItemArray[0]));
                nx = (double)tmpDate;
                pt.Add(nx, ny);
            }
            pane.XAxis.Type        = AxisType.Date;
            pane.XAxis.GridDashOff = 0;
            LineItem priceCurve = pane.AddCurve("Closing Price", pt, Color.SlateBlue, SymbolType.None);
            priceCurve.Line.Width = 2.0F;
            pane.AxisFill         = new Fill(Color.White, Color.AntiqueWhite);
            pane.XAxis.MinGrace   = 0;
            pane.XAxis.MaxGrace   = 0;
            pane.YAxis.MinGrace   = 0;
            pane.YAxis.MaxGrace   = 0;
            pane.AxisChange(g);
        }
    }
    protected void ZedGraphWeb1_RenderGraph(System.Drawing.Graphics g, ZedGraph.MasterPane mPane)
    {
        int       nDays = 0;
        int       nRows = 0;
        GraphPane pane  = mPane[0];


        string days   = (string)Page.Request.Params["days"];
        string ticker = (string)Page.Request.Params["ticker"];

        if (ticker != null)
        {
            ticker = ticker.Trim();
            DataTier theDataTier = new DataTier();
            if (days == null)
            {
                nDays = 0;
            }
            else
            {
                nDays = Convert.ToInt32(days);
            }

            DataTable dtTable = theDataTier.GetFullPriceHistory(ticker, nDays);
            nRows = dtTable.Rows.Count;
            double[] nx     = new double[nRows - 1];
            double[] ny     = new double[nRows - 1];
            double[] bbh    = new double[nRows - 1];
            double[] bbl    = new double[nRows - 1];
            double[] pht    = new double[20];
            int      nIndex = 0;
            for (int i = nRows - 1; i > 0; i--)
            {
                ny[nIndex] = Convert.ToDouble(dtTable.Rows[i].ItemArray[1]);
                XDate tmpDate = new XDate(Convert.ToDateTime(dtTable.Rows[i].ItemArray[0]));
                nx[nIndex] = (double)tmpDate;
                if (nIndex > 20)
                {
                    int x = 0;
                    for (int n = nIndex - 20; n < nIndex; n++)
                    {
                        pht[x] = ny[n];
                        x++;
                    }
                    bbh[nIndex] = GetAverage(pht) + (2 * GetStandardDeviation(pht));
                    bbl[nIndex] = GetAverage(pht) - (2 * GetStandardDeviation(pht));
                }
                else
                {
                    bbh[nIndex] = ny[nIndex];
                    bbl[nIndex] = ny[nIndex];
                }
                nIndex++;
            }
            pane.XAxis.Type        = AxisType.Date;
            pane.XAxis.GridDashOff = 0;
            pane.AddCurve("Closing Price", nx, ny, Color.SlateBlue, SymbolType.None);

            pane.AddCurve("High BB", nx, bbh, Color.Red, SymbolType.None);
            pane.AddCurve("Low BB", nx, bbl, Color.Red, SymbolType.None);

            pane.AxisFill         = new Fill(Color.White, Color.AntiqueWhite);
            Axis.Default.MinGrace = 0;
            Axis.Default.MaxGrace = 0;
            pane.AxisChange(g);
        }
    }