我使用的包裹:IBrokers
。當我請求歷史數據時,它適用於我。也致電reqAccountUpdates()
運作良好。R套餐IBrokers placeOrder()功能失敗
我有問題,這個腳本:
# 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)
有時候上面的腳本工作好。通常雖然失敗。當它失敗時,它似乎連接好。
然後我看到這在我的交易平臺控制檯:
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
你能提供你會如何處理這個問題搏鬥任何想法?其他
一個一塊信息:
我想調用reqIds()
可能是必要的。有時候reqIds()
會返回一個不夠高的ID。然後,我會用它並且placeOrder()
會失敗。所以,我打電話reqIds()
但後來使用Sys.time()
給我一個比我使用的最後一個ID更大的ID。
另一個問題可能是我從PowerPoint中複製出來的一些代碼文本。一些代碼字符可能已經損壞。
你能回答你自己的問題,而不是編輯問題的答案嗎? (我不記得你目前的聲望級別是否禁止你這麼做)。 – 2014-10-30 21:31:38