gpt4 book ai didi

JAVA 互动经纪商 API

转载 作者:行者123 更新时间:2023-12-01 09:11:21 26 4
gpt4 key购买 nike

我调用交互式代理reqHistoricalData()方法,我在IBGateaway上看到我收到错误

200 | No security definition has been found for the request

我尝试将 sec 类型更改为不同的类型,但总是返回相同的结果,这是我的代码:

 public class IBrokersApi implements EWrapper {

private EClientSocket clientSocket = new EClientSocket(this);
public Contract contract = new Contract();

public void connect(){
if(!clientSocket.isConnected()){
clientSocket.eConnect("", 4002, 0);
}
}

public void disconnect(){
if(clientSocket.isConnected()){
clientSocket.eDisconnect();
}
}
public void getHistData(){
contract.m_conId = 1;
contract.m_symbol = "APPL"; // "ESJ13-FUT-GLOBEX";
contract.m_secType = "STK";
contract.m_exchange = "SMART";
clientSocket.reqHistoricalData(0, contract,"20161120 00:00:00", "1 D", "1 day", "TRADES", 0, 2, null);
}

最佳答案

您的 conId“1”不正确。 AAPL 股票的 conId 恰好为 265598,您可以使用 API 中的 ContractDetails 机制进行查找。

对于 IB API 中的大多数情况,您通常可以选择发送 conId 和交换,或者在像您的示例这样的简单情况下,您可以指定各种“人类可读”字段。在您的情况下,只需不要设置 conId 并设置货币(可能是默认设置)。因此,为了创建合约,您的代码应如下所示:

    Contract c = new Contract();

c.symbol("AAPL");
c.secType(SecType.STK);
c.exchange("SMART");
c.currency("USD");

或者对于期权合约:

    Contract c = new Contract();

c.symbol("AAPL");
c.secType(SecType.OPT);
c.exchange("SMART");
c.currency("USD");
c.multiplier("100"); // 1 option is for 100 stock shares
c.lastTradeDateOrContractMonth("20180119"); // yyyyMMdd
c.strike(175.00);
c.right(Right.Put); // CALL or PUT

关于JAVA 互动经纪商 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40903839/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com