Ejemplo n.º 1
0
        /// <summary>
        /// 获取一次更新
        /// </summary>
        /// <returns>是否有变动</returns>
        public static bool UpdateData()
        {
            try
            {
                string json = GetTableJson("https://api.eosnewyork.io");
                if (json != string.Empty)
                {
                    JObject root = JObject.Parse(json);

                    //Debug.WriteLine(root.ToString());

                    var baseBalanceToken  = root.SelectToken("$..base.balance");
                    var quoteBalanceToken = root.SelectToken("$..quote.balance");

                    //string baseBalance = Regex.Match(baseBalanceToken.ToString(), @"(?<RAM>\d+)", RegexOptions.IgnoreCase).Groups["RAM"].Value;
                    //string quoteBalance = Regex.Match(quoteBalanceToken.ToString(), @"(?<EOS>[0-9]*\.[0-9]*)", RegexOptions.IgnoreCase).Groups["EOS"].Value;
                    string baseBalance  = baseBalanceToken.ToString().Split(" ".ToArray())[0];
                    string quoteBalance = quoteBalanceToken.ToString().Split(" ".ToArray())[0];

                    RAMDATA data = new RAMDATA();
                    data.BaseBalance  = ulong.Parse(baseBalance);
                    data.QuoteBalance = Double.Parse(quoteBalance);
                    data.RAMPrice     = data.QuoteBalance / data.BaseBalance * 1024;
                    data.time         = DateTime.Now;


                    RAMDATA lastData = GetLastData();
                    if (lastData != null)
                    {
                        if (lastData.RAMPrice != data.RAMPrice)
                        {
                            Debug.WriteLine(data);
                            m_ramDataList.Add(data);
                            return(true);
                        }
                    }
                    else
                    {
                        Debug.WriteLine(data);
                        m_ramDataList.Add(data);
                        return(true);
                    }
                }
                return(false);
            }
            catch (System.Exception ex)
            {
                return(false);
            }
        }
Ejemplo n.º 2
0
        public static RAMQUOTES GetQuotes()
        {
            RAMQUOTES quotes = new RAMQUOTES();

            quotes.LastData = GetLastData();
            var lastLastData = GetLastLastData();

            if (lastLastData != null)
            {
                quotes.LastPercentageDouble = GetProportion(quotes.LastData.RAMPrice, lastLastData.RAMPrice);
            }

            //计算一分钟的涨跌幅
            RAMDATA data = m_ramDataList.FindLast(a => Math.Abs((a.time - DateTime.Now).TotalSeconds) > 60);

            if (data != null)
            {
                quotes.OneMinPercentageDouble = GetProportion(quotes.LastData.RAMPrice, data.RAMPrice);
            }
            else
            {
                quotes.OneMinPercentageDouble = GetProportion(quotes.LastData.RAMPrice, GetFirstData().RAMPrice);
            }

            data = m_ramDataList.FindLast(a => Math.Abs((a.time - DateTime.Now).TotalSeconds) > 60 * 10);
            if (data != null)
            {
                quotes.TenMinPercentageDouble = GetProportion(quotes.LastData.RAMPrice, data.RAMPrice);
            }
            else
            {
                quotes.TenMinPercentageDouble = GetProportion(quotes.LastData.RAMPrice, GetFirstData().RAMPrice);
            }

            data = m_ramDataList.FindLast(a => Math.Abs((a.time - DateTime.Now).TotalSeconds) > 60 * 60);
            if (data != null)
            {
                quotes.OneHourPercentageDouble = GetProportion(quotes.LastData.RAMPrice, data.RAMPrice);
            }
            else
            {
                quotes.OneHourPercentageDouble = GetProportion(quotes.LastData.RAMPrice, GetFirstData().RAMPrice);
            }

            return(quotes);
        }