Class BitmexTradeService

    • Constructor Detail

      • BitmexTradeService

        public BitmexTradeService​(BitmexExchange exchange)
    • Method Detail

      • getOpenOrders

        public OpenOrders getOpenOrders()
                                 throws ExchangeException
        Description copied from interface: TradeService
        Gets the open orders
        Specified by:
        getOpenOrders in interface TradeService
        Returns:
        the open orders, null if some sort of error occurred. Implementers should log the error.
        Throws:
        ExchangeException - - Indication that the exchange reported some kind of error with the request or response
      • placeLimitOrder

        public String placeLimitOrder​(LimitOrder limitOrder)
                               throws ExchangeException
        Description copied from interface: TradeService
        Place a limit order

        If your orders amount or limit price does to meet the restrictions dictated by CurrencyPairMetaData then the exchange will reject your order. Use OrderValuesHelper to validate and / or adjust those values while you'r building an order.

        Specified by:
        placeLimitOrder in interface TradeService
        Returns:
        the order ID
        Throws:
        ExchangeException - - Indication that the exchange reported some kind of error with the request or response
        See Also:
        OrderValuesHelper
      • placeStopOrder

        public String placeStopOrder​(StopOrder stopOrder)
                              throws ExchangeException
        Description copied from interface: TradeService
        Place a stop order

        If your orders amount or spot price does to meet the restrictions dictated by CurrencyPairMetaData then the exchange will reject your order. Use OrderValuesHelper to validate and / or adjust those values while you'r building an order.

        Specified by:
        placeStopOrder in interface TradeService
        Returns:
        the order ID
        Throws:
        ExchangeException - - Indication that the exchange reported some kind of error with the request or response
        See Also:
        OrderValuesHelper
      • changeOrder

        public String changeOrder​(LimitOrder limitOrder)
                           throws ExchangeException
        Description copied from interface: TradeService
        Modify or cancel/replace an existing limit order
        Specified by:
        changeOrder in interface TradeService
        Parameters:
        limitOrder - Order's data to change
        Returns:
        Order ID
        Throws:
        ExchangeException - Indication that the exchange reported some kind of error with the request or response
      • cancelOrder

        public boolean cancelOrder​(String orderId)
                            throws ExchangeException
        Description copied from interface: TradeService
        cancels order with matching orderId (conveniance method, typical just delegate to cancelOrder(CancelOrderByIdParams))
        Specified by:
        cancelOrder in interface TradeService
        Returns:
        true if order was successfully cancelled, false otherwise.
        Throws:
        ExchangeException - - Indication that the exchange reported some kind of error with the request or response
      • getTradeHistory

        public UserTrades getTradeHistory​(TradeHistoryParams params)
                                   throws IOException
        Description copied from interface: TradeService
        Fetch the history of user trades.

        If you are calling this method for single exchange, known at the development time, you may pass an object of specific *TradeHistoryParam class that is nested it that exchange's trade service.

        If, however, you are fetching user trade history from many exchanges using the same code, you will find useful to create the parameter object with TradeService.createTradeHistoryParams() and check which parameters are required or supported using instanceof operator. See subinterfaces of TradeHistoryParams. Note that whether an interface is required or supported will vary from exchange to exchange and it's described only through the javadoc.

        There is also implementation of all the common interfaces, TradeHistoryParamsAll , that, with all properties set non-null, should work with any exchange.

        Some exchanges allow extra parameters, not covered by any common interface. To access them, you will have to use the object returned by TradeService.createTradeHistoryParams() and cast it to the exchange-specific type.

        Specified by:
        getTradeHistory in interface TradeService
        Parameters:
        params - The parameters describing the filter. Note that TradeHistoryParams is an empty interface. Exact set of interfaces that are required or supported by this method is described by the type of object returned from TradeService.createTradeHistoryParams() and the javadoc of the method.
        Returns:
        UserTrades as returned by the exchange API
        Throws:
        IOException - - Indication that a networking error occurred while fetching JSON data
        See Also:
        TradeService.createTradeHistoryParams(), TradeHistoryParamsAll