0

Rの経験はありますが、Javaは初めてです。

私は Java コースに参加し、1 冊か 2 冊の本と、対話型ブローカーが発行する API ガイドを読みました。この API は、私がこれまで扱ってきたどの API よりも明らかに高レベルです。

最初にやりたいことは、単にソフトウェアに接続することです。Interactive Brokers が提供するテスト GUI を使用して、これを行うことができました。ただし、独自のスクリプトを作成すると、エラーが発生します: Uncompilable source code - Erroneous sym type. javaclient/com ディレクトリを新しいプロジェクトにインポートしました。

エラーの原因となっている行は econnect(port=7496, clientid=0); です。

ドキュメントを読むと、これは機能するはずですが、明らかに機能しません。

以下は完全なコードです。すべてのインポート呼び出しは、IB が提供したサンプル ファイルからコピーされました。onHowToDetermineStock() は、ドキュメントの別の部分からコピーされています。何かをする前に、明らかに接続する必要があります。

何か案は?

ありがとうございました。

package ibapp;


import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.util.ArrayList;

import javax.swing.Box;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.border.EmptyBorder;

import com.ib.controller.ApiConnection.ILogger;
import com.ib.controller.ApiController;
import com.ib.controller.ApiController.IBulletinHandler;
import com.ib.controller.ApiController.IConnectionHandler;
import com.ib.controller.ApiController.ITimeHandler;
import com.ib.controller.Formats;
import com.ib.controller.Types.NewsType;

import com.ib.client.EClientSocket;


/**
 *
 * @author
 */

void onHowToDetermineStock(){

       Contract contract = new Contract();
       Order order = new Order();

       contract.m_symbol = "IBKR";
       contract.m_secType = "STK";
       contract.m_exchange = "SMART";
       contract.m_currency = "USD";

       order.m_action = "BUY";
       order.m_totalQuantity = 100;
       order.m_orderType = "LMT";
       order.m_lmtPrice = enteredLmtPrice;

       m_client.placeOrder(GlobalOrderId, contract, order);

}

public class IBApp {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        econnect(port=7496, clientid=0);
        onHowToDetermineStock();
    }

}
4

1 に答える 1