2016-11-29 1 views
0

私はreqHistoricalData()メソッドを使用しますが、呼び出し後は何も返しません。データを処理するための追加の方法が必要ですか?JAVA IBrokers api

これは、呼び出しは、あなたがそれがデータを返すことを待つ必要が意味し、非同期である私のコード

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

答えて

1

です。これを行うには、EWrapperインターフェイスを実装し、返されたデータをコールバックで処理します。ソケットを作成するときは、コールバックのラッパーを渡します。

この例では結果が表示されます。

@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)); 
} 
+0

このメソッド実行のサンプルまたはチュートリアルがありますか?それは私のためにちょっと新しいもので、APIドキュメントはあまり明確ではないからですか? – liolikas66

+1

beta api 9.72を使用しているようです。ドキュメントはありませんが、サンプルプログラムが付属しています。マニュアルはバージョン9.71用です – brian