internal GoblinBat(char initial, Secret secret) { this.initial = initial; this.secret = secret; InitializeComponent(); Opacity = 0; var collect = ((char)Port.Collecting).Equals(initial); if (collect) { Open = OpenAPI.ConnectAPI.GetInstance(KeyDecoder.GetWindowsProductKeyFromRegistry()); Open.SetAPI(axAPI); Open.SendCount += OnReceiveNotifyIcon; } switch (initial) { case collecting: case trading: if (Quotes == null) { Quotes = new QuotesControl(); panel.Controls.Add(Quotes); Quotes.Dock = DockStyle.Fill; Quotes.Show(); strip.ItemClicked += OnItemClick; } if (collect) { Open.SendQuotes += Quotes.OnReceiveQuotes; Open.StartProgress(new OpenAPI.Temporary(Open, new StringBuilder(1024), KeyDecoder.GetWindowsProductKeyFromRegistry())); } else { BeginInvoke(new Action(() => { Task = new Task(() => { Specify = new Catalog.XingAPI.Specify[] { new Catalog.XingAPI.Specify { Assets = 90000000, Code = Strategy.Retrieve.Code, Reaction = 500, Quantity = "1", RollOver = 'A', Time = 1, Short = 4, Long = 60 }, new Catalog.XingAPI.Specify { Assets = 90000000, Code = Strategy.Retrieve.Code, Reaction = 500, Quantity = "1", RollOver = 'A', Time = 5, Short = 4, Long = 60 }, new Catalog.XingAPI.Specify { Assets = 90000000, Code = Strategy.Retrieve.Code, Reaction = 500, Quantity = "1", RollOver = 'A', Time = 15, Short = 4, Long = 60 }, new Catalog.XingAPI.Specify { Assets = 90000000, Code = Strategy.Retrieve.Code, Reaction = 500, Quantity = "1", RollOver = 'A', Time = 30, Short = 4, Long = 60 }, new Catalog.XingAPI.Specify { Assets = 90000000, Code = Strategy.Retrieve.Code, Reaction = 500, Quantity = "1", RollOver = 'A', Time = 1440, Short = 4, Long = 60 } }; }); Task.Start(); Xing = XingAPI.ConnectAPI.GetInstance(initial.Equals(trading) ? Strategy.Retrieve.Code : Open.Code, Strategy.Retrieve.Date); Xing.Send += OnReceiveNotifyIcon; notifyIcon.Text = string.Concat("Trading Code_", initial.Equals(trading) ? Strategy.Retrieve.Code : Open.Code); OnEventConnect(); OnClickMinimized = quo; Text = gs; Application.DoEvents(); })); } Size = new Size(5, 5); break; default: Open.StartProgress(); Size = new Size(238, 35); break; } CenterToScreen(); }
internal GoblinBat(char initial, Secret secret, string key, CancellationTokenSource cts, Strategy.Retrieve retrieve) { var collect = ((char)Port.Collecting).Equals(initial); this.key = key; this.initial = initial; this.secret = secret; this.cts = cts; this.retrieve = retrieve; InitializeComponent(); Opacity = 0; if (collect) { Open = OpenAPI.ConnectAPI.GetInstance(key, 205); Open.SetAPI(axAPI); Open.SendCount += OnReceiveNotifyIcon; } switch (initial) { case collecting: case trading: case (char)83: if (Statistical == null) { Statistical = initial.Equals((char)Port.Trading) ? new StatisticalControl(Strategy.Retrieve.Code, secret.strategy, secret.rate, secret.commission) : new StatisticalControl(Strategy.Retrieve.Code, secret.rate, secret.commission); panel.Controls.Add(Statistical); Statistical.Dock = DockStyle.Fill; Statistical.Show(); } if (Quotes == null) { Quotes = new QuotesControl(); panel.Controls.Add(Quotes); Quotes.Dock = DockStyle.Fill; Quotes.Show(); strip.ItemClicked += OnItemClick; } if (collect) { Open.SendQuotes += Quotes.OnReceiveQuotes; Open.StartProgress(new OpenAPI.Temporary(Open, new StringBuilder(1024), key)); } else { Specify = Statistical.Statistics(retrieve.GetUserStrategy()); Xing = XingAPI.ConnectAPI.GetInstance(Strategy.Retrieve.Code, Strategy.Retrieve.Date); Xing.Send += OnReceiveNotifyIcon; notifyIcon.Text = string.Concat("Trading Code_", Strategy.Retrieve.Code); Text = Xing.Account; BeginInvoke(new Action(() => OnEventConnect())); OnClickMinimized = quo; } Size = new Size(281, 5); break; default: Open.StartProgress(); Size = new Size(238, 35); break; } CenterToScreen(); }