コード例 #1
0
        private void Socket_OnDataLastPrice(MessGet data)
        {
            var market     = (data as MessGetLastPrice)?.Key?.MarketName;
            var pair       = (data as MessGetLastPrice)?.Key?.Pair;
            var last_price = new ValueLastPrice
            {
                Data = (data as MessGetLastPrice)?.Value
            };

            // exists or new tab
            var page_name = market + " " + pair + " Last price";
            var page      = FindOrAddTab(page_name);

            market = EnumValue.GetEnum <MarketType>(market).ToString();
            var         text_box_name = "rtb" + market + pair + "Last_price";
            RichTextBox text_box      = FindOrAddControl(text_box_name, page);

            try
            {
                this.BeginInvoke((Action)(() => {
                    text_box.Clear();
                    text_box.Text += "Update time: " + DateTime.Now.ToString() + "\n";
                    text_box.Text += JsonConvert.SerializeObject(last_price) + "\n";
                }));
            }
            catch { }
        }
コード例 #2
0
        private void Socket_OnDataPairsDetail(MessGet data)
        {
            var market       = (data as MessGetPairsDetail)?.Key?.MarketName;
            var pairs_detail = (data as MessGetPairsDetail)?.Value;

            // exists or new tab
            var page_name = market + " Pairs configuration";
            var page      = FindOrAddTab(page_name);

            market = EnumValue.GetEnum <MarketType>(market).ToString();
            var         text_box_name = "rtb" + market + "Pairs_configuration";
            RichTextBox text_box      = FindOrAddControl(text_box_name, page);

            try
            {
                this.BeginInvoke((Action)(() => {
                    text_box.Clear();
                    text_box.Text += "Update time: " + DateTime.Now.ToString() + "\n";

                    foreach (var item in pairs_detail)
                    {
                        text_box.Text += JsonConvert.SerializeObject(item) + "\n";
                    }
                }));
            }
            catch { }
        }
コード例 #3
0
        private void Socket_OnDataRecentTrades(MessGet data)
        {
            var market        = (data as MessGetRecentTrades)?.Key?.MarketName;
            var pair          = (data as MessGetRecentTrades)?.Key?.Pair;
            var recent_trades = (data as MessGetRecentTrades)?.Value;

            // exists or new tab
            var page_name = market + " " + pair + " Recent trades";
            var page      = FindOrAddTab(page_name);

            market = EnumValue.GetEnum <MarketType>(market).ToString();
            var         text_box_name = "rtb" + market + pair + "Recent_trades";
            RichTextBox text_box      = FindOrAddControl(text_box_name, page);

            try
            {
                this.BeginInvoke((Action)(() => {
                    text_box.Clear();
                    text_box.Text += "Update time: " + DateTime.Now.ToString() + "\n";

                    foreach (var item in recent_trades)
                    {
                        text_box.Text += JsonConvert.SerializeObject(item) + "\n";
                    }
                }));
            }
            catch { }
        }
コード例 #4
0
        private void Socket_OnDataPairs(MessGet data)
        {
            // save
            pairs = (data as MessGetPairs)?.Value;

            // load markets
            try
            {
                this.BeginInvoke((Action)(() => {
                    lbMarkets.Items.Clear();
                    lbMarkets.Items.AddRange(pairs.Data.Keys.ToArray());
                }));
            }
            catch { }
        }
コード例 #5
0
        private void Socket_OnDataMessages(MessGet data)
        {
            try
            {
                this.BeginInvoke((Action)(() =>
                {
                    lbMessages.Text = "Update time: " + DateTime.Now.ToString();

                    dgMessages.DataSource = null;
                    dgMessages.AutoGenerateColumns = true;
                    dgMessages.DataSource = (data as MessGetMessages)?.Value;
                }));
            }
            catch { }
        }
コード例 #6
0
        private void Socket_OnDataOrderbook(MessGet data)
        {
            var market    = (data as MessGetOrderbook)?.Key?.MarketName;
            var pair      = (data as MessGetOrderbook)?.Key?.Pair;
            var orderbook = (data as MessGetOrderbook)?.Value;

            // exists or new tab
            var page_name = market + " " + pair + " Orderbook";
            var page      = FindOrAddTab(page_name);

            market = EnumValue.GetEnum <MarketType>(market).ToString();
            var         text_box_name = "rtb" + market + pair + "Orderbook";
            RichTextBox text_box      = FindOrAddControl(text_box_name, page);

            try
            {
                this.BeginInvoke((Action)(() => {
                    text_box.Clear();
                    text_box.Text += "Update time: " + DateTime.Now.ToString() + "\n";

                    if (orderbook?.ASKs == null)
                    {
                        text_box.Text += "ASKs: NULL\n";
                    }
                    else
                    {
                        text_box.Text += "ASKs:\n";
                        foreach (var item in orderbook.ASKs)
                        {
                            text_box.Text += "price=" + item.Key + ", amount=" + item.Value + "\n";
                        }
                    }
                    if (orderbook?.BIDs == null)
                    {
                        text_box.Text += "BIDs: NULL\n";
                    }
                    else
                    {
                        text_box.Text += "BIDs:\n";
                        foreach (var item in orderbook.BIDs)
                        {
                            text_box.Text += "price=" + item.Key + ", amount=" + item.Value + "\n";
                        }
                    }
                }));
            }
            catch { }
        }
コード例 #7
0
        private void Socket_OnDataDeals(MessGet data)
        {
            // save
            deals = deals ?? new Dictionary <MarketType, List <DataDeal> >();
            deals[(data as MessGetDeals).Key.Market] = (data as MessGetDeals)?.Value;

            try
            {
                this.BeginInvoke((Action)(() =>
                {
                    lbDeals.Text = "Update time: " + DateTime.Now.ToString() + " for market " + (data as MessGetDeals)?.Key.MarketName;
                }));
            }
            catch { }

            UpdateDeals();
        }
コード例 #8
0
        private void Socket_OnDataOrders(MessGet data)
        {
            // save
            orders = orders ?? new Dictionary <MarketType, List <DataOrder> >();
            orders[(data as MessGetOrders).Key.Market] = (data as MessGetOrders)?.Value;

            try
            {
                this.BeginInvoke((Action)(() =>
                {
                    lbOrders.Text = "Update time: " + DateTime.Now.ToString() + " for market " + (data as MessGetOrders)?.Key.MarketName;
                }));
            }
            catch { }

            UpdateOrders();
        }
コード例 #9
0
        private void Socket_OnDataBalance(MessGet data)
        {
            // save
            balances = balances ?? new Dictionary <MarketType, DataBalances>();
            balances[(data as MessGetBalance).Key.Market] = (data as MessGetBalance)?.Value;

            try
            {
                this.BeginInvoke((Action)(() =>
                {
                    lbBalance.Text = "Update time: " + DateTime.Now.ToString() + " for market " + (data as MessGetBalance)?.Key.MarketName;
                }));
            }
            catch { }

            UpdateBalances();
        }
コード例 #10
0
        private void Socket_OnDataBalances(MessGet data)
        {
            balances = new Dictionary <MarketType, DataBalances>();

            // convert market
            var dict = (data as MessGetBalances)?.Value;

            if (dict != null)
            {
                foreach (var item in dict)
                {
                    string market_name = item.Key;
                    market_name = market_name.Replace(SKey.demo, string.Empty);
                    var market = EnumValue.GetEnum <MarketType>(market_name);

                    if (market == MarketType.Empty)
                    {
                        logger.Error("Undeclared market value: {0}", item.Key);
                    }
                    else
                    {
                        balances.Add(market, item.Value);
                    }
                }
            }

            try
            {
                this.BeginInvoke((Action)(() =>
                {
                    lbBalance.Text = "Update time: " + DateTime.Now.ToString();
                }));
            }
            catch { }

            if ((data as MessGetBalances)?.Key.SysType == SysType.Demo)
            {
                UpdateMarkets(balances?.Keys.Select(x => EnumValue.GetValue(x)).ToList());
            }

            UpdateBalances();
        }
コード例 #11
0
        private void Socket_OnDataBoxState(MessGet data)
        {
            api_keys = new Dictionary <MarketType, DataAPIKey>();

            // convert market
            var dict = (data as MessGetBoxState)?.Value;

            foreach (var item in dict)
            {
                var market = EnumValue.GetEnum <MarketType>(item.Key);
                if (market == MarketType.Empty)
                {
                    logger.Error("Undeclared market value: {0}", item.Key);
                }
                else
                {
                    api_keys.Add(market, item.Value);
                }
            }

            UpdateMarkets(api_keys?.Keys.Select(x => EnumValue.GetValue(x)).ToList());
        }
コード例 #12
0
        private void Socket_OnDataPriceByTime(MessGet data)
        {
            var market = (data as MessGetPriceByTime)?.Key?.MarketName;
            var pair   = (data as MessGetPriceByTime)?.Key?.Pair;
            var price  = (data as MessGetPriceByTime)?.Value?.Price;

            // exists or new tab
            var page_name = market + " " + pair + " Historical price";
            var page      = FindOrAddTab(page_name);

            market = EnumValue.GetEnum <MarketType>(market).ToString();
            var         text_box_name = "rtb" + market + pair + "Historical_price";
            RichTextBox text_box      = FindOrAddControl(text_box_name, page);

            try
            {
                this.BeginInvoke((Action)(() => {
                    text_box.Text += "Update time: " + DateTime.Now.ToString() + " " +
                                     EnumValue.GetValue((data as MessGetPriceByTime).Key.Proc) + " " +
                                     price + "\n";
                }));
            }
            catch { }
        }
コード例 #13
0
 private void Socket_OnDataPairs(MessGet data)
 {
     // save
     pairs = (data as MessGetPairs)?.Value;
 }