Пример #1
0
        public BarValueSelector(ICandleGenerator candleGenerator, BarValue barValue)
        {
            Func<Candle, double?> selector;
            switch (barValue)
            {
                case BarValue.Open:
                    selector = candle => candle.Open;
                    break;
                case BarValue.High:
                    selector = candle => candle.High;
                    break;
                case BarValue.Low:
                    selector = candle => candle.Low;
                    break;
                case BarValue.Close:
                    selector = candle => candle.Close;
                    break;
                default:
                    throw new ArgumentOutOfRangeException("barValue", barValue, null);
            }

            candleGenerator.NewCandle += candle =>
            {
                if (Value == null) return;

                Value(candle != null ? selector(candle) : null);
            };
        }
Пример #2
0
        private double[] GetValuesAsArray(BarValue barValue)
        {
            var l = new double[RawCandles.Count];

            for (int i = 0; i < RawCandles.Count; i++)
            {
                double temp = 0f;

                switch (barValue)
                {
                case BarValue.Low:
                    temp = RawCandles[i].Low;
                    break;

                case BarValue.High:
                    temp = RawCandles[i].High;
                    break;

                case BarValue.Open:
                    temp = RawCandles[i].Open;
                    break;

                case BarValue.Close:
                    temp = RawCandles[i].Close;
                    break;
                }


                l[i] = temp;
            }

            return(l);
        }
Пример #3
0
        private void ProgramExit()
        {
            BarValue bv = ValueChange;

            if (Form1.udpReceiveThread != null)
            {
                Form1.udpReceiveThread.Safe_Stop();
            }
            this.Invoke(bv, 10);
            Thread.Sleep(200);
            if (Form1.groupInfoThread != null)
            {
                Form1.groupInfoThread.Safe_Stop();
            }

            if (Form1.userInfoThread != null)
            {
                Form1.userInfoThread.Safe_Stop();
            }
            this.Invoke(bv, 20);
            Thread.Sleep(200);
            if (Form1.tableMaintenanceThread != null)
            {
                Form1.tableMaintenanceThread.Safe_Stop();
            }
            this.Invoke(bv, 30);
            Thread.Sleep(200);
            Thread.Sleep(200);
            if (Form1.entityAndIssiThread != null)
            {
                Form1.entityAndIssiThread.Safe_Stop();
            }
            this.Invoke(bv, 50);
            Thread.Sleep(200);
            if (Form1.ipTransferThread != null)
            {
                Form1.ipTransferThread.Safe_Stop();
            }
            this.Invoke(bv, 60);
            Thread.Sleep(200);
            if (Form1.commonTableThread != null)
            {
                Form1.commonTableThread.Safe_Stop();
            }
            this.Invoke(bv, 70);
            Thread.Sleep(400);
            if (Form1.PluginExecuteThread != null)
            {
                Form1.PluginExecuteThread.Safe_Stop();
            }
            this.Invoke(bv, 90);
            WaitThreadStop();

            this.Invoke(bv, 100);
        }
Пример #4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        OpenFlashChart.OpenFlashChart chart = new OpenFlashChart.OpenFlashChart();
        chart.Title = new Title("Bar Chart");

        Bar    bar    = new OpenFlashChart.Bar();
        Random random = new Random();

        bar.Colour = "#344565";

        bar.Alpha = 0.8;

        bar.Text = "Test";

        bar.FontSize = 10;
        List <object> values = new List <object>();

        for (int i = 0; i < 12; i++)
        {
            values.Add(random.Next(i, i * 2));
        }
        BarValue barValue = new BarValue(12);

        barValue.OnClick = "http://xiao-yifang.blogspot.com";
        values.Add(barValue);
        bar.Values = values;
        chart.AddElement(bar);
        XAxis xaxis = new XAxis();

        xaxis.Labels.SetLabels(new string[] { "text", "#ef0", "10", "vertical" });
        //xaxis.Steps = 1;
        //xaxis.Offset = true;
        ////xaxis.SetRange(-2, 15);
        chart.X_Axis = xaxis;
        //YAxis yaxis = new YAxis();
        //yaxis.Steps = 4;
        //yaxis.SetRange(0, 20);
        //chart.Y_Axis = yaxis;
        chart.Y_Axis.SetRange(0, 24, 3);
        bar.Tooltip = "提示:label:#x_label#<br>#top#<br>#bottom#<br>#val#";
        string s = chart.ToPrettyString();

        Response.Clear();
        Response.CacheControl = "no-cache";
        Response.Write(s);
        Response.End();
    }