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); }; }
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); }
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); }
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(); }