in src/main/java/deltix/ember/sample/md/MarketDataSampleApp.java [74:108]
private static void sendMarketDataRequest(SessionID sessionId) {
MarketDataRequest request = new MarketDataRequest();
request.set(new MDReqID("MDREQ" + System.currentTimeMillis()));
request.setField(new SubscriptionRequestType(SubscriptionRequestType.SNAPSHOT_UPDATES));
request.setField(new MarketDepth(0)); // 0 = all levels available
request.setField(new MDUpdateType(MDUpdateType.INCREMENTAL_REFRESH));
MarketDataRequest.NoMDEntryTypes entryTypes = new MarketDataRequest.NoMDEntryTypes();
entryTypes.set(new MDEntryType(MDEntryType.BID));
request.addGroup(entryTypes);
entryTypes.set(new MDEntryType(MDEntryType.OFFER));
request.addGroup(entryTypes);
entryTypes.set(new MDEntryType(MDEntryType.TRADE));
request.addGroup(entryTypes);
MarketDataRequest.NoRelatedSym relatedSym = new MarketDataRequest.NoRelatedSym();
relatedSym.set(new SecurityType(SecurityType.OPTION));
request.addGroup(relatedSym);
// Alternative
// MarketDataRequest.NoRelatedSym relatedSym = new MarketDataRequest.NoRelatedSym();
// relatedSym.set(new Symbol("VALED-0001-C-CT-USD"));
// request.addGroup(relatedSym);
// relatedSym.set(new Symbol("SPYD-0001-C-CT-USD"));
// request.addGroup(relatedSym);
// relatedSym.set(new Symbol("ZMD-0001-C-CT-USD"));
// request.addGroup(relatedSym);
try {
System.out.println("Sending market data subscription request");
Session.sendToTarget(request, sessionId);
} catch (SessionNotFound e) {
e.printStackTrace();
}
}