Пример #1
0
        private CryptoAction ConvertAction(BitmexAction side)
        {
            switch (side)
            {
            case BitmexAction.Undefined:
                break;

            case BitmexAction.Partial:
                return(CryptoAction.Partial);

            case BitmexAction.Insert:
                return(CryptoAction.Insert);

            case BitmexAction.Update:
                return(CryptoAction.Update);

            case BitmexAction.Delete:
                return(CryptoAction.Delete);

            default:
                throw new ArgumentOutOfRangeException(nameof(side), side, null);
            }

            return(CryptoAction.Undefined);
        }
Пример #2
0
 private void HandleLiquidationSafe(BitmexAction action, Liquidation[] trades)
 {
     try
     {
         HandleLiquidation(action, trades);
     }
     catch (Exception e)
     {
         Log.Error(e, $"[Bitmex] Failed to handle trade info, error: '{e.Message}'");
     }
 }
Пример #3
0
 private CryptoLiquidation ConvertLiquidation(BitmexAction action, Liquidation trade)
 {
     return(new CryptoLiquidation()
     {
         ExchangeName = "bitmex",
         Amount = Convert.ToDouble(trade.leavesQty ?? 0),
         AmountQuote = Convert.ToDouble(trade.leavesQty ?? 0 * trade.Price ?? 0),
         Side = ConvertTradeSide(trade.Side ?? BitmexSide.Undefined),
         Id = trade.OrderID,
         Price = Convert.ToDouble(trade.Price ?? 0),
         Timestamp = DateTime.Now,
         Pair = trade.Symbol,
         Liquidation = true,
         Action = ConvertAction(action)
     });
 }
        private OrderBookAction ConvertAction(BitmexAction action)
        {
            switch (action)
            {
            case BitmexAction.Insert:
                return(OrderBookAction.Insert);

            case BitmexAction.Update:
                return(OrderBookAction.Update);

            case BitmexAction.Delete:
                return(OrderBookAction.Delete);

            default:
                return(OrderBookAction.Undefined);
            }
        }
Пример #5
0
 private CryptoLiquidation[] ConvertLiquidation(BitmexAction action, Liquidation[] data)
 {
     return(data
            .Select(x => ConvertLiquidation(action, x))
            .ToArray());
 }
Пример #6
0
 private void HandleLiquidation(BitmexAction action, Liquidation[] trades)
 {
     LiquidationSubject.OnNext(ConvertLiquidation(action, trades));
 }