Class LgoStreamingTradeService

    • Method Detail

      • getOrderChanges

        public io.reactivex.Observable<Order> getOrderChanges​(CurrencyPair currencyPair,
                                                              Object... args)
        Get the changes of order state for the logged-in user.

        Warning: there are currently no guarantees that messages will arrive in order, that messages will not be skipped, or that any initial state message will be sent on connection. Most exchanges have a recommended approach for managing this, involving timestamps, sequence numbers and a separate REST API for re-sync when inconsistencies appear. You should implement these approaches, if required, by combining calls to this method with TradeService.getOpenOrders().

        Emits NotConnectedException When not connected to the WebSocket API.

        Immediately throws ExchangeSecurityException if called without authentication details First sent orders will be current open orders.

        Specified by:
        getOrderChanges in interface StreamingTradeService
        currencyPair - Currency pair of the order changes.
        Observable that emits Order when exchange sends the update.
      • getOpenOrders

        public io.reactivex.Observable<OpenOrders> getOpenOrders​(CurrencyPair currencyPair)
        Get an up-to-date view of all your open orders after each LGO batch execution. First sending will be the actual open orders list.
      • getOrderBatchChanges

        public io.reactivex.Observable<Collection<Order>> getOrderBatchChanges​(CurrencyPair currencyPair)
        Receive all updated orders, for each LGO batches. First sending will be the actual open orders list.
      • getRawAllOrderEvents

        public io.reactivex.Observable<LgoOrderEvent> getRawAllOrderEvents​(Collection<CurrencyPair> currencyPairs)
        Receive all events for the selected currency pairs. Merges batch order events and ack (AFR) events.
      • getRawReceivedOrderEvents

        public io.reactivex.Observable<LgoOrderEvent> getRawReceivedOrderEvents()
        Get ack for your placed orders. "received" events indicate the orderId associated to your order, if you set a reference on order placement you will have it in the event. "failed" events indicate that the order could not be read or was invalid and not added to a batch.
      • getRawBatchOrderEvents

        public io.reactivex.Observable<LgoOrderEvent> getRawBatchOrderEvents​(CurrencyPair currencyPair)
        Get all events of your orders happened during batch execution, for a currency pair. "pending" events indicate that the order was added to a batch and received by the execution engine. "invalid" events indicate that the order was not suitable for execution. "match" events indicate that the order did match against another order. "open" events indicate that the order entered the order book. "done" events indicate that the order was filled, canceled or rejected.