R Package IBrokers placeOrder()函数失败

R Package IBrokers placeOrder()函数失败,r,ibrokers,R,Ibrokers,我用的是软件包:IBrokers。当我请求历史数据时,它对我很有效。此外,对reqAccountUpdates的调用也很有效 我对此脚本有问题: # myscript.r .libPaths("rpackages") library(IBrokers) tws2 = twsConnect(2) print('Attempting BUY') mytkr = twsFuture("ES","GLOBEX","201412") myorderid = sample(1001:3001, 1

我用的是软件包:IBrokers。当我请求历史数据时,它对我很有效。此外,对reqAccountUpdates的调用也很有效

我对此脚本有问题:

# myscript.r

.libPaths("rpackages")
library(IBrokers)
tws2 = twsConnect(2)
print('Attempting BUY')
mytkr     = twsFuture("ES","GLOBEX","201412")
myorderid = sample(1001:3001, 1)
IBrokers:::.placeOrder(tws2, mytkr, twsOrder(myorderid, "BUY", "1", "MKT"))
twsDisconnect(tws2)
有时上面的脚本可以正常工作。通常,尽管它失败了。当它失败时,它似乎连接正常

然后我在我的TWS控制台中看到:

03:47:45:581 JTS-EServerSocket-290: [2:47:71:1:0:0:0:ERR] Message type -1.  Socket I/O error - 
03:47:45:581 JTS-EServerSocket-290: Anticipated error
jextend.d: Socket I/O error - 
    at jextend.sc.b(sc.java:364)
    at jextend.ch.sb(ch.java:1534)
    at jextend.ch.run(ch.java:1390)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:196)
    at java.net.SocketInputStream.read(SocketInputStream.java:122)
    at java.net.SocketInputStream.read(SocketInputStream.java:210)
    at jextend.xh.d(xh.java:45)
    at jextend.sc.c(sc.java:579)
    at jextend.sc.r(sc.java:227)
    at jextend.af.a(af.java:232)
    at jextend.sc.f(sc.java:650)
    at jextend.pd.a(pd.java:822)
    at jextend.sc.b(sc.java:358)
    ... 3 more
03:47:45:583 JTS-EServerSocket-290: [2:47:71:1:0:0:0:ERR] Socket connection for client{2} has closed. 
03:47:45:583 JTS-EWriter14-291: [2:47:71:1:0:0:0:ERR] Unable write to socket client{2} - 
03:47:45:584 JTS-EServerSocketNotifier-288: Terminating
你能就如何解决这个问题提供一些想法吗

另一条信息:

我认为打电话给Requids可能是必要的。有时ReqID返回的id不够高。然后,我会使用它,placeOrder将失败。因此,我调用了ReqID,但随后使用Sys.time给我一个id,该id大于我使用的最后一个id


另一个问题可能是我从PowerPoint中复制的一些代码文本。某些代码字符可能已损坏。

主要问题是orderid

我需要注意如何生成orderid

此外,我可能已经鼠标在一个powerpoint preso的坏字符,其中有一个例子

我发布了一些代码,这些代码在这个帖子的注释中起作用


Dan

你能回答自己的问题,而不是将答案编辑到问题中吗?我不记得你目前的声誉水平是否禁止你这样做。这些代码应该在这个答案中发布,而不是在问题中。这不是一个论坛。