Извлекать данные в реальном времени из API JBloomberg

Я хочу получить время и последнюю цену в реальном времени как двойную, вместо того, чтобы выводить как

DataChangeEvent{ESA Index,ASK_SIZE: 204==>192}

из кода ниже

DataChangeListener lst = new DataChangeListener() {
 @Override
 public void dataChanged(DataChangeEvent e) {
     System.out.println(e);
 }
};


SubscriptionBuilder builder = new SubscriptionBuilder()
     .addSecurity("ESA Index")
     .addField(RealtimeField.LAST_PRICE)
     .addField(RealtimeField.ASK)
     .addField(RealtimeField.ASK_SIZE)
     .addListener(lst);
session.subscribe(builder);


Thread.sleep(3000);

1 ответ

Решение

Только что увидел твой вопрос, так что, возможно, немного поздно - но здесь, в любом случае. DataChangeEvent содержит тикер, поле, новую и старую цену:

DataChangeListener lst = new DataChangeListener() {
     @Override public void dataChanged(DataChangeEvent e) {
         String ticker = e.getSource();
         String field = e.getDataName();
         double oldValue = e.getOldValue().asDouble();
         double newValue = e.getNewValue().asDouble();
     }
};
Другие вопросы по тегам