public void SetGlobalPairType(BtcInfo.PairTypeEnum pairType)
 {
    lock (_lock)
    {
       _pairType = pairType;
    }
 }
 public void SetGlobalPairType(BtcInfo.PairTypeEnum pairType)
 {
     lock (_lock)
     {
         _pairType = pairType;
     }
 }
示例#3
0
        public override void SetBtcMarketData(BtcInfo.PairTypeEnum pairType)
        {
            try
            {
                if (_orderBookGet != null)
                {
                    this.MarketData.PairType = pairType;
                    var topBid = _orderBookGet.Bids.FirstOrDefault();
                    var topAsk = _orderBookGet.Asks.FirstOrDefault();

                    if (topBid != null)
                    {
                        this.MarketData.BidSz = topBid.Amount;
                        this.MarketData.Bid   = topBid.Price;
                    }

                    if (topAsk != null)
                    {
                        this.MarketData.AskSz = topAsk.Amount;
                        this.MarketData.Ask   = topAsk.Price;
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.LogException(ex);
            }
        }
示例#4
0
        public BitfinexPublicTickerGet GetPublicTicker(BtcInfo.PairTypeEnum pairType, BtcInfo.BitfinexUnauthenicatedCallsEnum callType)
        {
            var call     = Enum.GetName(typeof(BtcInfo.BitfinexUnauthenicatedCallsEnum), callType);
            var symbol   = Enum.GetName(typeof(BtcInfo.PairTypeEnum), pairType);
            var url      = @"/v1/" + call.ToLower() + "/" + symbol.ToLower();
            var response = GetBaseResponse(url);

            var publicticketResponseObj = JsonConvert.DeserializeObject <BitfinexPublicTickerGet>(response.Content);

            Logger.Log.InfoFormat("Ticker: {0}", publicticketResponseObj);

            return(publicticketResponseObj);
        }
示例#5
0
        public static BitfinexPublicTickerGet GetPublicTicker(BtcInfo.PairTypeEnum pairType, BtcInfo.BitfinexUnauthenicatedCallsEnum callType)
        {
            var call     = Enum.GetName(typeof(BtcInfo.BitfinexUnauthenicatedCallsEnum), callType);
            var symbol   = Enum.GetName(typeof(BtcInfo.PairTypeEnum), pairType);
            var url      = @"/v1/" + call.ToLower(CultureInfo.InvariantCulture) + "/" + symbol.ToLower(CultureInfo.InvariantCulture);
            var response = WebApi.GetBaseResponse(url);

            var publicticketResponseObj = JsonConvert.DeserializeObject <BitfinexPublicTickerGet>(response);

            Log.Info("Ticker: {0}", publicticketResponseObj);

            return(publicticketResponseObj);
        }
示例#6
0
 public static BitfinexOrderBookGet GetOrderBook(BtcInfo.PairTypeEnum pairType, int limitBids = 30, int limitAsks = 30)
 {
     try
     {
         var url                  = DepthOfBookRequestUrl + Enum.GetName(typeof(BtcInfo.PairTypeEnum), pairType);
         var response             = WebApi.GetBaseResponse(url + string.Format("?limit_bids={0};limit_asks={1}", limitBids, limitAsks));
         var orderBookResponseObj = JsonConvert.DeserializeObject <BitfinexOrderBookGet>(response);
         return(orderBookResponseObj);
     }
     catch (Exception ex)
     {
         Log.Error(ex);
         return(new BitfinexOrderBookGet());
     }
 }
 public BitfinexOrderBookGet GetOrderBook(BtcInfo.PairTypeEnum pairType)
 {
     try
     {
         var url                  = DepthOfBookRequestUrl + Enum.GetName(typeof(BtcInfo.PairTypeEnum), pairType);
         var response             = GetBaseResponse(url);
         var orderBookResponseObj = JsonConvert.DeserializeObject <BitfinexOrderBookGet>(response.Content);
         return(orderBookResponseObj);
     }
     catch (Exception ex)
     {
         Log.Error(ex);
         return(new BitfinexOrderBookGet());
     }
 }
示例#8
0
        public IList <BitfinexTradesGet> GetPairTrades(BtcInfo.PairTypeEnum pairType, BtcInfo.BitfinexUnauthenicatedCallsEnum callType)
        {
            var call     = Enum.GetName(typeof(BtcInfo.BitfinexUnauthenicatedCallsEnum), callType);
            var symbol   = Enum.GetName(typeof(BtcInfo.PairTypeEnum), pairType);
            var url      = @"/v1/" + call.ToLower() + "/" + symbol.ToLower();
            var response = GetBaseResponse(url);

            var pairTradesResponseObj = JsonConvert.DeserializeObject <IList <BitfinexTradesGet> >(response.Content);

            foreach (var pairTrade in pairTradesResponseObj)
            {
                Logger.Log.InfoFormat("Pair Trade: {0}", pairTrade);
            }

            return(pairTradesResponseObj);
        }
示例#9
0
        public static IList <BitfinexSymbolStatsResponse> GetPairStats(BtcInfo.PairTypeEnum pairType, BtcInfo.BitfinexUnauthenicatedCallsEnum callType)
        {
            var call     = Enum.GetName(typeof(BtcInfo.BitfinexUnauthenicatedCallsEnum), callType);
            var symbol   = Enum.GetName(typeof(BtcInfo.PairTypeEnum), pairType);
            var url      = @"/v1/" + call.ToLower(CultureInfo.InvariantCulture) + "/" + symbol.ToLower(CultureInfo.InvariantCulture);
            var response = WebApi.GetBaseResponse(url);

            var symbolStatsResponseObj = JsonConvert.DeserializeObject <IList <BitfinexSymbolStatsResponse> >(response);

            foreach (var symbolStatsResponse in symbolStatsResponseObj)
            {
                Log.Info("Pair Stats: {0}", symbolStatsResponse);
            }

            return(symbolStatsResponseObj);
        }
示例#10
0
        public IList <BitfinexSymbolStatsResponse> GetPairStats(BtcInfo.PairTypeEnum pairType, BtcInfo.BitfinexUnauthenicatedCallsEnum callType)
        {
            var call     = Enum.GetName(typeof(BtcInfo.BitfinexUnauthenicatedCallsEnum), callType);
            var symbol   = Enum.GetName(typeof(BtcInfo.PairTypeEnum), pairType);
            var url      = @"/v1/" + call.ToLower() + "/" + symbol.ToLower();
            var response = GetBaseResponse(url);

            var symbolStatsResponseObj = JsonConvert.DeserializeObject <IList <BitfinexSymbolStatsResponse> >(response.Content);

            foreach (var symbolStatsResponse in symbolStatsResponseObj)
            {
                Log.Trace(string.Format("BitfinexApi.GetPairStats(): {0}", symbolStatsResponse));
            }

            return(symbolStatsResponseObj);
        }
 public Task <BitfinexPublicTickerGet> GetPublicTickerAsync(BtcInfo.PairTypeEnum pairType)
 {
     return(Task.Run(() => GetPublicTicker(pairType, BtcInfo.BitfinexUnauthenicatedCallsEnum.pubticker)));
 }
 public Task <BitfinexOrderBookGet> GetOrderBookAsync(BtcInfo.PairTypeEnum pairType)
 {
     return(Task.Run(() => GetOrderBook(pairType)));
 }
 public abstract void SetBtcMarketData(BtcInfo.PairTypeEnum pairType);
 public abstract void ProcessMarketDataUpdate(BtcInfo.PairTypeEnum pairType);
 public Task <IList <BitfinexSymbolStatsResponse> > GetPairStatsAsync(BtcInfo.PairTypeEnum pairType, BtcInfo.BitfinexUnauthenicatedCallsEnum callType)
 {
     return(Task.Run(() => GetPairStats(pairType, BtcInfo.BitfinexUnauthenicatedCallsEnum.stats)));
 }
 public Task <IList <BitfinexTradesGet> > GetPairTradesAsync(BtcInfo.PairTypeEnum pairType, BtcInfo.BitfinexUnauthenicatedCallsEnum callType)
 {
     return(Task.Run(() => GetPairTrades(pairType, BtcInfo.BitfinexUnauthenicatedCallsEnum.trades)));
 }
示例#17
0
 public override void ProcessMarketDataUpdate(BtcInfo.PairTypeEnum pairType)
 {
     _orderBookGet = Api.GetOrderBook(pairType);
 }