private static void sendMarketDataRequest()

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();
        }
    }