Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java IBrokers-我如何向IBrokers发送100000:。placeOrder?_Java_R_Ibrokers - Fatal编程技术网

Java IBrokers-我如何向IBrokers发送100000:。placeOrder?

Java IBrokers-我如何向IBrokers发送100000:。placeOrder?,java,r,ibrokers,Java,R,Ibrokers,我正在使用iBroker在IDEALPRO上打开澳元兑美元的订单 下面是一个语法,它非常适合我销售90000台: # myscript.r .libPaths("rpackages") library(IBrokers) myconid = 3 twsobj = twsConnect(myconid) myaud = twsCurrency("AUD",currency="USD",exch="IDEALPRO",primary="",strike="0.0",right="",local=

我正在使用iBroker在IDEALPRO上打开澳元兑美元的订单

下面是一个语法,它非常适合我销售90000台:

# myscript.r

.libPaths("rpackages")
library(IBrokers)
myconid = 3
twsobj  = twsConnect(myconid)
myaud = twsCurrency("AUD",currency="USD",exch="IDEALPRO",primary="",strike="0.0",right="",local="",multiplier="",include_expired="0",conId=myconid)
Sys.sleep(2)
myorderid = as.integer(reqIds(twsobj))
print(myorderid)
Sys.sleep(2)
myorderid = as.integer(difftime(Sys.time(), "2014-10-30", units = "secs"))
Sys.sleep(2)
IBrokers:::.placeOrder(twsobj, myaud, twsOrder(myorderid,"SELL", 90000, "MKT"))
Sys.sleep(4)
twsDisconnect(twsobj)
接下来,我尝试通过此API调用下100000的订单:

IBrokers:::.placeOrder(twsobj, myaud, twsOrder(myorderid,"SELL", 100000, "MKT"))
命令失败了

我在我的日志中看到:

java.lang.NumberFormatException: For input string: "1e+05"
一个简单的解决办法是下2份50000英镑的订单

我在寻找其他解决办法的线索


我怀疑错误在于IBrokers向API发送的是1e+05,而不是100000。

我刚刚通过谷歌“禁用R中的科学符号”找到了答案。答案是,我在打电话之前插入这行语法
options(“scipen”=4)
如果允许,我会正确回答。尝试传递字符串而不是数字。i、 e.
“100000”
而不是
100000
# myscript.r

.libPaths("rpackages")
library(IBrokers)
myconid = 3
twsobj  = twsConnect(myconid)
myaud = twsCurrency("AUD",currency="USD",exch="IDEALPRO",primary="",strike="0.0",right="",local="",multiplier="",include_expired="0",conId=myconid)
Sys.sleep(2)
myorderid = as.integer(reqIds(twsobj))
print(myorderid)
Sys.sleep(2)
myorderid = as.integer(difftime(Sys.time(), "2014-10-30", units = "secs"))
Sys.sleep(2)

# my workaround:
options("scipen"=4)

IBrokers:::.placeOrder(twsobj, myaud, twsOrder(myorderid,"SELL", 190000, "MKT"))
Sys.sleep(4)
twsDisconnect(twsobj)