Example #1
0
        async Task DumpAllCoinsAndStats()
        {
            List <Coin> allCoinList = exchangeMonitor.allCoins.ToList();

            List <string[]> results = new List <string[]>();
            AboutCoin       headers = new AboutCoin();

            headers.PopulateWithColumnNames();
            results.Add(headers.ToArray());

            for (int i = 0; i < allCoinList.Count; i++)
            {
                AboutCoin about = DescribeCoin(allCoinList[i].fullName);
                if (about != null)
                {
                    results.Add(about.ToArray());
                }
            }

            for (int i = 0; i < 100; i++)
            { // Clear some old coins
                results.Add(new AboutCoin().ToArray());
            }

            await sheet.Write(dataDumpTab, "A1", results);
        }
Example #2
0
        AboutCoin DescribeCoin(
            object coinName)
        {
            AboutCoin about = new AboutCoin();

            Coin coin = Coin.FromName((string)coinName);

            if (coin == null)
            {
                return(about);
            }

            if (coin.hasValidTradingPairs == false) //&& coin.coinMarketCapData == null)
            {
                return(null);
            }

            about.columns[(int)Column.CoinName] = coin.fullName;

            TradingPair bestBtcBid = coin.Best(Coin.bitcoin, true);

            if (bestBtcBid != null)
            {
                about.columns[(int)Column.BestBidBTC]         = bestBtcBid.bidPrice.ToString();
                about.columns[(int)Column.BestBidBTCExchange] = bestBtcBid.exchange.exchangeName.ToString();

                TradingPair bestBtcUsdBid = Coin.bitcoin.Best(Coin.usd, true);
                if (bestBtcUsdBid != null)
                {
                    about.columns[(int)Column.BestBidBTCUSD] = (bestBtcUsdBid.bidPrice * bestBtcBid.bidPrice).ToString();
                }
            }
            TradingPair bestBtcAsk = coin.Best(Coin.bitcoin, false);

            if (bestBtcAsk != null)
            {
                about.columns[(int)Column.BestAskBTC]         = bestBtcAsk.askPrice.ToString();
                about.columns[(int)Column.BestAskBTCExchange] = bestBtcAsk.exchange.exchangeName.ToString();

                TradingPair bestBtcUsdAsk = Coin.bitcoin.Best(Coin.usd, false);
                if (bestBtcUsdAsk != null)
                {
                    about.columns[(int)Column.BestAskBTCUSD] = (bestBtcUsdAsk.askPrice * bestBtcAsk.askPrice).ToString();
                }
            }
            TradingPair bestEthBid = coin.Best(Coin.ethereum, true);

            if (bestEthBid != null)
            {
                about.columns[(int)Column.BestBidETH]         = bestEthBid.bidPrice.ToString();
                about.columns[(int)Column.BestBidETHExchange] = bestEthBid.exchange.exchangeName.ToString();

                TradingPair bestEthUsdBid = Coin.ethereum.Best(Coin.usd, true);
                if (bestEthUsdBid != null)
                {
                    about.columns[(int)Column.BestBidETHUSD] = (bestEthUsdBid.bidPrice * bestEthBid.bidPrice).ToString();
                }
            }
            TradingPair bestEthAsk = coin.Best(Coin.ethereum, false);

            if (bestEthAsk != null)
            {
                about.columns[(int)Column.BestAskETH]         = bestEthAsk.askPrice.ToString();
                about.columns[(int)Column.BestAskETHExchange] = bestEthAsk.exchange.exchangeName.ToString();

                TradingPair bestEthUsdAsk = Coin.ethereum.Best(Coin.usd, false);
                if (bestEthUsdAsk != null)
                {
                    about.columns[(int)Column.BestAskETHUSD] = (bestEthUsdAsk.askPrice * bestEthAsk.askPrice).ToString();
                }
            }

            TradingPair bestUsdBid = coin.Best(Coin.usd, true);

            if (bestUsdBid != null)
            {
                about.columns[(int)Column.BestBidUSD]         = bestUsdBid.bidPrice.ToString();
                about.columns[(int)Column.BestBidUSDExchange] = bestUsdBid.exchange.exchangeName.ToString();
            }
            TradingPair bestUsdAsk = coin.Best(Coin.usd, false);

            if (bestUsdAsk != null)
            {
                about.columns[(int)Column.BestAskUSD]         = bestUsdAsk.askPrice.ToString();
                about.columns[(int)Column.BestAskUSDExchange] = bestUsdAsk.exchange.exchangeName.ToString();
            }

            if (coin.coinMarketCapData != null)
            {
                about.columns[(int)Column.MarketCapUSD] = coin.coinMarketCapData.market_cap_usd ?? "?";
            }

            return(about);
        }