예제 #1
0
        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();
        }
예제 #2
0
        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();
        }