1

我正在尝试使用 ibrokers 和 R 在财务顾问帐户上下 OCO 订单。

如何下 OCO 订单?我如何在 OCO 的每条腿也被取消时包含止损和获利?

感谢您的任何指导!

示例代码:

Crude <- twsFuture('CL', 'NYMEX', '201505') 
fiveMin <- strftime(Sys.Date(), "%Y%m%d") 
fiveMin <- paste(fiveMin, "09:05:00", sep=" ")

Price <- reqHistoricalData(tws, Contract=Crude, barSize = "5 mins", 
                           duration = "30 S", useRTH = 0,endDateTime=(fiveMin))

HighPriceStr <- toString(Price$CLK5.High)
MktHigh <- (as.numeric(HighPriceStr))

LowPriceStr <- toString(Price$CLK5.Low)
MktLow <- (as.numeric(LowPriceStr))

#calculate range width
range <- (MktHigh - MktLow)

#enter orders if 5 min range <= .50 cents
if (range <= .50){
#place oco lmt entry @ mkt high + .02, lmt sell @ mkt low - .02 

#sample limit order for FA account group named Futures.
#IBrokers:::.placeOrder(twsOC, Crude, twsOrder(reqIds(tws), "SELL", "8", "LMT", lmtPrice = (Stop), faGroup ="Futures", faMethod ="EqualQuantity"))
}
4

1 回答 1

1

部分答案:

盈透证券使用 OCA 订单,一个取消所有。

这是一个示例:

IBrokers:::.placeOrder(twsOC, MiniCrude, twsOrder(reqIds(tws), "BUY", "3", "LMT", lmtPrice = (BreakTarget), ocaGroup = (breakerdirection), faGroup ="MiniFutures", faMethod ="EqualQuantity")) 
IBrokers:::.placeOrder(twsOC, MiniCrude, twsOrder(reqIds(tws), "BUY", "3", "STP", auxPrice = (BreakStop), ocaGroup = (breakerdirection), faGroup ="MiniFutures", faMethod ="EqualQuantity")) 

问题的第二部分,如何在限价输入完成后才下达上述订单。

请求执行()

我还没有编写示例代码。

于 2015-03-26T14:13:26.807 回答