diff --git a/engine/sync_manager.go b/engine/sync_manager.go index 5c4d829f..66dd63e1 100644 --- a/engine/sync_manager.go +++ b/engine/sync_manager.go @@ -610,6 +610,12 @@ func (m *syncManager) syncOrderbook(c *currencyPairSyncAgent, e exchange.IBotExc e.SupportsREST() && time.Since(s.LastUpdated) > m.config.TimeoutWebsocket && time.Since(c.Created) > m.config.TimeoutWebsocket { + if w, err := e.GetWebsocket(); err == nil && w.IsConnected() { + // With an active websocket connection, we can assume the orderbook + // is being updated via the websocket connection, It could be very + // illiquid. There is no need to fall over to rest. + return + } // Downgrade to REST s.IsUsingWebsocket = false s.IsUsingREST = true