public void should_cancel_order_by_setting_qty_to_0() { // arrange var @params = OrderPOSTRequestParams.CreateSimpleLimit("XBTUSD", 3, _xbtAvgPrice - LimitPriceSubtractor, OrderSide.Buy); var result = Sut.Execute(BitmexApiUrls.Order.PostOrder, @params).Result.Result; result.Should().NotBeNull(); result.OrdType.Should().Be("Limit"); result.OrdStatus.Should().Be("New"); result.OrderId.Should().NotBeNull(); var @paramsPut = new OrderPUTRequestParams() { OrderID = result.OrderId, OrderQty = 0 }; // act var resultPut = Sut.Execute(BitmexApiUrls.Order.PutOrder, paramsPut).Result.Result; // assert resultPut.Should().NotBeNull(); resultPut.OrdType.Should().Be("Limit"); resultPut.OrdStatus.Should().Be("Canceled"); resultPut.OrderId.Should().NotBeNull(); }
public void should_change_sell_limit_order() { // arrange var @params = OrderPOSTRequestParams.CreateMarketStopOrder("XBTUSD", 3, _xbtAvgPrice - LimitPriceSubtractor, OrderSide.Sell); var result = Sut.Execute(BitmexApiUrls.Order.PostOrder, @params).Result.Result; result.Should().NotBeNull(); result.OrdType.Should().Be("Stop"); result.OrdStatus.Should().Be("New"); result.OrderId.Should().NotBeNull(); var @paramsPut = new OrderPUTRequestParams() { OrderID = result.OrderId, OrderQty = 2 }; // act var resultPut = Sut.Execute(BitmexApiUrls.Order.PutOrder, paramsPut).Result.Result; // assert resultPut.Should().NotBeNull(); resultPut.OrdType.Should().Be("Stop"); resultPut.OrdStatus.Should().Be("New"); resultPut.OrderQty.Should().Be(2); resultPut.OrderId.Should().NotBeNull(); }
public void should_throw_bitmex_exception_with_deserialized_data_when_put() { // arrange var @paramsPut = new OrderPUTRequestParams() { // this order doesn't exist OrderID = Guid.NewGuid().ToString("N"), OrderQty = 2 }; // act Action action = () => { var resultPut = Sut.Execute(BitmexApiUrls.Order.PutOrder, paramsPut).Result; }; // assert action.Should().Throw <BitmexApiException>().Which.Error?.Error.Should().NotBeNull(); }
private async void ChaseOrder() { var putOrderParams = OrderPUTRequestParams.ModifyOrderByID(SelectedOrder, NewOrderPrice, NewOrderQty); var bitmexApiService = BitmexApiService.CreateDefaultApi(_bitmexAuthorization); await bitmexApiService.Execute(BitmexApiUrls.Order.PutOrder, putOrderParams); }