3
Я использую IBrokers открыть заказы на AUD-USD на IDEALPROIBrokers - Как я отправляю 100000 в IBrokers :::. PlaceOrder?
Вот синтаксис, который хорошо работает для меня ПРОДАТЬ 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)
Далее, я пытаюсь сделать заказ на 100000 с этот вызов API:
IBrokers:::.placeOrder(twsobj, myaud, twsOrder(myorderid,"SELL", 100000, "MKT"))
Не удается выполнить заказ.
Я вижу это в моем журнале:
java.lang.NumberFormatException: For input string: "1e+05"
Простое решение заключается в размещении заказов на 2 50000.
Я ищу ключи на другие обходные пути.
Я подозреваю, что ошибка в том, что IBrokers посылает 1e + 05 к API вместо 100000.
Я только что нашел ответ через «отключить экспоненциальном в R» Google. Ответ заключается в том, что я вставляю эту строку синтаксиса, прежде чем сделать вызов «options» («scipen» = 4) «Я правильно отвечу, как только SO позволит мне. – user3676943
Попробуйте передать строку вместо числа. то есть '' 100000 "' вместо '100000' – GSee