JAVA IBrokers api

JAVA IBrokers api

我使用 reqHistoricalData() 方法,但它在调用后没有 return 任何东西。我需要额外的方法来处理数据吗?

这是我的代码

public void reqHistData (){
  // Create a new contract
  Contract contract = new com.ib.client.Contract();
  contract.symbol("USD");
  contract.secType("CASH");
  contract.currency("EUR");
  contract.exchange("IDEALPRO");

  api.client().reqHistoricalData(1, contract, "20140920 00:00:00", "1 D", "1 day", "TRADES", 0, 2, null);
}

调用是异步的,这意味着您必须等待它 return 数据。为此,您可以实现 EWrapper 接口并在回调中对 returned 数据进行处理。创建套接字时,您传递回调的包装器。

这个例子只会打印结果。

@Override
public void historicalData(int reqId, String date, double open, double high, double low, double close, int volume, int count, double WAP, boolean hasGaps) {
    System.out.println(EWrapperMsgGenerator.historicalData(reqId, date, open, high, low, close, volume, count, WAP, hasGaps));
}