I have worked through BTCChina's FIX APi (using their java example). Creating a subscription request message such as:
public static Message marketDataIncrementalRequest(String symbol) {
quickfix.fix44.MarketDataRequest tickerRequest = new quickfix.fix44.MarketDataRequest();
quickfix.fix44.MarketDataRequest.NoRelatedSym noRelatedSym = new quickfix.fix44.MarketDataRequest.NoRelatedSym();
noRelatedSym.set(new Symbol(symbol));
tickerRequest.addGroup(noRelatedSym);
tickerRequest.set(new MDReqID("123"));
tickerRequest.set(new SubscriptionRequestType('1'));
tickerRequest.set(new MarketDepth(0));
addMDType(tickerRequest, '0');
addMDType(tickerRequest, '1');
addMDType(tickerRequest, '2');
return tickerRequest;
}
The above message request is documented to provide full orderbook + trades snapshot + incremental refresh. Unfortunately it just provides top-of-book with no sizes + trades with no size. I suspect their FIX server implementation is not complete. The same standard FIX message on OKCoin, works fine, providing full book.
The alternative API via websockets provides a call to get depth of book, however, according to documentation only provides 5 levels.
Various real-time OB viewers are showing deeper-than-5 depth, so assume there is an API for this. Can anyone point me in the right direction?