如何使用 Interactive Brokers 限制订单在特定时间打开并在另一个特定时间关闭它 API
How to restrict order open to a certain time and close it in another certain time with Interactive Brokers API
使用 Interactive Brokers API,我想将开单限制在特定时间,例如不在 09:35 之前,我还想在结束前大约 5 分钟平仓day.I 中的一个尝试将 if 语句与 Sys.time() 一起使用,但我没有工作,而且它也不优雅。我该如何修复错误或使用其他方法来完全填充我的需要吗?
Hour<-as.integer(format(Sys.time(), "%H"))
Minute<-as.integer(format(Sys.time(), "%M"))
print(lastValue)
library(IBrokers)
options("scipen"=4)
myconid = 3
twsobj = twsConnect(myconid)
Sys.sleep(2)
myorderid = as.integer(reqIds(twsobj))
print(myorderid)
Sys.sleep(2)
if(lastValue>0.5 && Hour > 16 && Minute > 35 ){
placeOrder(twsobj,Contract=twsSTK("SPY"),Order=twsOrder(myorderid ,"BUY",1,"MKT"))
print("IT WAS A BUY ORDER")
Sys.sleep(10)
placeOrder(twsobj,Contract=twsSTK("SPY"),Order=twsOrder(myorderid + 1 ,"SELL",1,"MKT"))
} else{
placeOrder(twsobj,Contract=twsSTK("SPY"),Order=twsOrder(myorderid , "SELL" , 1 , "MKT"))
print("IT WAS A SELL ORDER")
Sys.sleep(10)
placeOrder(twsobj,Contract=twsSTK("SPY"),Order=twsOrder(myorderid + 1 , "BUY" ,1, "MKT"))
}
每个经纪人都有指定时间后商品 (GAT) 的工具。应该和在R界面设置这个字段一样简单。在 CRAN IBrokers 文档中,它表示字段
goodAfterTime Trades Good After Time: YYYYMMDD hh:mm:ss or ""
这是 IB 的订单属性 API 信息
https://www.interactivebrokers.com/en/software/api/apiguide/java/order.htm
交易的"Good After Time,"格式
"YYYYMMDD hh:mm:ss (optional time zone)"
请注意,MKT 订单几乎会立即执行。 LMT订单可能需要一些时间。
使用 Interactive Brokers API,我想将开单限制在特定时间,例如不在 09:35 之前,我还想在结束前大约 5 分钟平仓day.I 中的一个尝试将 if 语句与 Sys.time() 一起使用,但我没有工作,而且它也不优雅。我该如何修复错误或使用其他方法来完全填充我的需要吗?
Hour<-as.integer(format(Sys.time(), "%H"))
Minute<-as.integer(format(Sys.time(), "%M"))
print(lastValue)
library(IBrokers)
options("scipen"=4)
myconid = 3
twsobj = twsConnect(myconid)
Sys.sleep(2)
myorderid = as.integer(reqIds(twsobj))
print(myorderid)
Sys.sleep(2)
if(lastValue>0.5 && Hour > 16 && Minute > 35 ){
placeOrder(twsobj,Contract=twsSTK("SPY"),Order=twsOrder(myorderid ,"BUY",1,"MKT"))
print("IT WAS A BUY ORDER")
Sys.sleep(10)
placeOrder(twsobj,Contract=twsSTK("SPY"),Order=twsOrder(myorderid + 1 ,"SELL",1,"MKT"))
} else{
placeOrder(twsobj,Contract=twsSTK("SPY"),Order=twsOrder(myorderid , "SELL" , 1 , "MKT"))
print("IT WAS A SELL ORDER")
Sys.sleep(10)
placeOrder(twsobj,Contract=twsSTK("SPY"),Order=twsOrder(myorderid + 1 , "BUY" ,1, "MKT"))
}
每个经纪人都有指定时间后商品 (GAT) 的工具。应该和在R界面设置这个字段一样简单。在 CRAN IBrokers 文档中,它表示字段
goodAfterTime Trades Good After Time: YYYYMMDD hh:mm:ss or ""
这是 IB 的订单属性 API 信息 https://www.interactivebrokers.com/en/software/api/apiguide/java/order.htm
交易的"Good After Time,"格式 "YYYYMMDD hh:mm:ss (optional time zone)"
请注意,MKT 订单几乎会立即执行。 LMT订单可能需要一些时间。