ibrokers R - 财务顾问 - 订单安排

时间:2015-03-24 16:04:06

标签: r ibrokers

我正在尝试使用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"))
}

1 个答案:

答案 0 :(得分:1)

部分答案:

Interactive Brokers使用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")) 

问题的第二部分,如何在限制条目填写后才放置上述订单。

reqExecutions()

我还没有编写示例代码。