Ejemplo n.º 1
0
 public async Task <IEnumerable <PoloniexTicker> > GetTickers(CancellationToken token = default(CancellationToken))
 {
     return(await RetryHelper.DoAsync(async() =>
     {
         JObject jobject = await JObjectQuery(PublicUrl + "?command=returnTicker", token);
         return PoloniexTicker.GetFromJObject(jobject);
     }, TimeSpan.FromMilliseconds(Constant.DefaultRetryInterval)));
 }
Ejemplo n.º 2
0
        public void FillDepositTotalPoloniex(List <DepositInfo> list)
        {
            if (!PoloniexExchange.Default.UpdateBalances())
            {
                LogManager.Default.AddError("FillDepositTotalPoloniex: can't get balances");
                return;
            }

            if (!PoloniexExchange.Default.UpdateTickersInfo())
            {
                LogManager.Default.AddError("FillDepositTotalPoloniex: can't get update markets info");
                return;
            }

            PoloniexTicker btcMarket = (PoloniexTicker)PoloniexExchange.Default.Tickers.FirstOrDefault(m => m.BaseCurrency == "USDT" && m.MarketCurrency == "BTC");

            if (btcMarket == null)
            {
                LogManager.Default.AddError("FillDepositTotalPoloniex: can't get BTC currency info");
                return;
            }

            foreach (PoloniexAccountBalanceInfo info in PoloniexExchange.Default.Balances)
            {
                if (info.Available == 0)
                {
                    continue;
                }
                DepositInfo dep = new DepositInfo();
                dep.HostName = BittrexExchange.Default.Name;
                dep.Currency = info.Currency;
                dep.Amount   = info.Available;

                if (dep.Currency != "BTC")
                {
                    PoloniexTicker market = (PoloniexTicker)PoloniexExchange.Default.Tickers.FirstOrDefault(m => m.MarketCurrency == dep.Currency);
                    if (market == null)
                    {
                        LogManager.Default.AddError("FillDepositTotalPoloniex: can't get " + dep.Currency + " currency info");
                        continue;
                    }
                    dep.RateInBTC = dep.Amount * market.Last;
                }
                else
                {
                    dep.RateInBTC = info.Available;
                }
                dep.RateInUSD = dep.RateInBTC * btcMarket.Last;
                list.Add(dep);
            }
        }