public void MapOrderTypeToBitfinexTest() { _algo.Setup(a => a.BrokerageModel.AccountType).Returns(AccountType.Cash); _unit = new BitfinexBrokerage("http://localhost", _wss.Object, _rest.Object, "abc", "123", _algo.Object); var expected = GetDescriptionFromEnumValue(BitfinexOrderType.exchangeMarket); var actual = _unit.MapOrderType(OrderType.Market); Assert.AreEqual(expected, actual); expected = GetDescriptionFromEnumValue(BitfinexOrderType.exchangeLimit); actual = _unit.MapOrderType(OrderType.Limit); Assert.AreEqual(expected, actual); expected = GetDescriptionFromEnumValue(BitfinexOrderType.exchangeStop); actual = _unit.MapOrderType(OrderType.StopMarket); Assert.AreEqual(expected, actual); Assert.Throws <Exception>(() => _unit.MapOrderType(OrderType.StopLimit)); _algo.Setup(a => a.BrokerageModel.AccountType).Returns(AccountType.Margin); _unit = new BitfinexBrokerage("http://localhost", _wss.Object, _rest.Object, "abc", "123", _algo.Object); expected = GetDescriptionFromEnumValue(BitfinexOrderType.market); actual = _unit.MapOrderType(OrderType.Market); Assert.AreEqual(expected, actual); expected = GetDescriptionFromEnumValue(BitfinexOrderType.limit); actual = _unit.MapOrderType(OrderType.Limit); Assert.AreEqual(expected, actual); expected = GetDescriptionFromEnumValue(BitfinexOrderType.stop); actual = _unit.MapOrderType(OrderType.StopMarket); Assert.AreEqual(expected, actual); }
public void Setup() { _algo = new Mock <IAlgorithm>(); _algo.Setup(a => a.BrokerageModel.AccountType).Returns(_accountType); _unit = new BitfinexBrokerage("http://localhost", _wss.Object, _rest.Object, "abc", "123", _algo.Object); _rest = new Mock <IRestClient>(); _symbol = Symbol.Create("BTCUSD", SecurityType.Crypto, Market.Bitfinex); }
public void MapOrderStatusTest() { var response = new OrderStatusResponse { IsCancelled = true, IsLive = true }; var expected = OrderStatus.Canceled; var actual = BitfinexBrokerage.MapOrderStatus(response); Assert.AreEqual(expected, actual); response.IsCancelled = false; expected = OrderStatus.Submitted; actual = BitfinexBrokerage.MapOrderStatus(response); Assert.AreEqual(expected, actual); response.RemainingAmount = "1"; response.ExecutedAmount = "0"; expected = OrderStatus.Submitted; actual = BitfinexBrokerage.MapOrderStatus(response); Assert.AreEqual(expected, actual); response.RemainingAmount = "1"; response.ExecutedAmount = "1"; expected = OrderStatus.PartiallyFilled; actual = BitfinexBrokerage.MapOrderStatus(response); Assert.AreEqual(expected, actual); response.RemainingAmount = "0"; response.ExecutedAmount = "1"; expected = OrderStatus.Submitted; actual = BitfinexBrokerage.MapOrderStatus(response); Assert.AreEqual(expected, actual); response.RemainingAmount = "0"; response.ExecutedAmount = "0"; response.IsLive = false; expected = OrderStatus.Invalid; actual = BitfinexBrokerage.MapOrderStatus(response); Assert.AreEqual(expected, actual); response.RemainingAmount = ""; response.ExecutedAmount = ""; response.IsLive = false; expected = OrderStatus.Invalid; actual = BitfinexBrokerage.MapOrderStatus(response); Assert.AreEqual(expected, actual); response.RemainingAmount = null; response.ExecutedAmount = null; response.IsLive = false; expected = OrderStatus.Invalid; actual = BitfinexBrokerage.MapOrderStatus(response); Assert.AreEqual(expected, actual); }
public void Setup() { _algo.Setup(a => a.BrokerageModel.AccountType).Returns(_accountType); _unit = new BitfinexBrokerage("http://localhost", _wss.Object, _rest.Object, ApiKey, "123", _algo.Object); _rest = new Mock <IRestClient>(); _symbol = Symbol.Create("BTCUSD", SecurityType.Crypto, Market.Bitfinex); _wss.Setup(m => m.Connect()).Verifiable(); _wss.Setup(m => m.Close()).Verifiable(); }
public static void AddOrder(BitfinexBrokerage unit, int id, string brokerId, int quantity) { var order = new Orders.MarketOrder { BrokerId = new List <string> { brokerId }, Quantity = quantity, Id = id, Symbol = GetSecurity().Symbol }; unit.CachedOrderIDs.TryAdd(1, order); unit.FillSplit.TryAdd(id, new BitfinexFill(order)); }
public void Setup() { var priceProvider = new Mock<IPriceProvider>(); priceProvider.Setup(x => x.GetLastPrice(It.IsAny<Symbol>())).Returns(1.234m); var aggregator = new Mock<IDataAggregator>(); _brokerage = new BitfinexBrokerage( _webSocket.Object, _restClient.Object, "apikey", "apisecret", _algorithm, priceProvider.Object, aggregator.Object); _algorithm.SetBrokerageModel(new BitfinexBrokerageModel()); }
/// <summary> /// Initializes a new instance of the <see cref="BitfinexDataDownloader"/> class /// </summary> public BitfinexDataDownloader() { _brokerage = new BitfinexBrokerage(_wss, _rest, null, null, null, null); _brokerage.Connect(); }