public static BittrexStreamOrderData ToBittrexStreamOrder(this CryptoOrder orderData) { try { var bittrexStreamOrderData = new BittrexStreamOrderData { Order = new BittrexStreamOrder { Market = orderData.Market, OrderType = orderData.OrderType == CryptoOrderType.LimitBuy ? OrderSideExtended.LimitBuy : OrderSideExtended.LimitSell, Price = orderData.Price.RoundSatoshi(), Quantity = orderData.Quantity.RoundSatoshi(), PricePerUnit = orderData.PricePerUnit.RoundSatoshi(), CommissionPaid = orderData.CommissionPaid.RoundSatoshi(), CancelInitiated = orderData.Canceled, Uuid = new Guid(orderData.Uuid), Opened = orderData.Opened, Closed = orderData.Closed, Limit = orderData.PricePerUnit.RoundSatoshi(), QuantityRemaining = orderData.QuantityRemaining.RoundSatoshi() } }; return(bittrexStreamOrderData); } catch (Exception e) { Console.WriteLine(e); return(null); } }
public static CryptoOrder ToCryptoOrder(this BittrexStreamOrderData closedOrderData) { var closedOrder = closedOrderData.Order; Console.WriteLine(closedOrder.OrderId); return(new CryptoOrder { Market = closedOrder.Market, OrderType = closedOrder.OrderType == OrderSideExtended.LimitBuy ? CryptoOrderType.LimitBuy : CryptoOrderType.LimitSell, Price = closedOrder.Price.RoundSatoshi(), Quantity = closedOrder.Quantity.RoundSatoshi(), PricePerUnit = closedOrder.Limit.RoundSatoshi(), CommissionPaid = closedOrder.CommissionPaid.RoundSatoshi(), Canceled = closedOrder.CancelInitiated, Uuid = closedOrder.OrderId.ToString(), Opened = closedOrder.Opened, Closed = closedOrder.Closed.GetValueOrDefault(), Limit = closedOrder.Limit.RoundSatoshi(), QuantityRemaining = closedOrder.QuantityRemaining.RoundSatoshi() }); }
protected void OnOrderUpdate(BittrexStreamOrderData bittrexOrder) { OrderUpdated.OnNext(bittrexOrder.ToCryptoOrder()); }