支持中泰证券、富途证券。
支持富途牛牛实盘交易、模拟盘交易,需要下载FutuOpenD
软件。当使用FutuOpenD
接入模拟交易时有些股票代码不支持所以无法交易,但是富途牛牛手机APP是可以模拟交易的。在优宽量化上配置交易所对象、运行FutuOpenD
软件等操作参看富途证券配置说明文档。
接口调用频率
对于GetOrder
、GetOrders
、GetPositions
、GetAccount
函数默认使用缓存数据,所以不限制调用频率。当有新数据时FutuOpenD
会自动更新数据,缓存数据也会同步更新。
调用exchange.IO("refresh", true)
函数可以禁用缓存,如果禁用缓存则调用频率为每30秒内最多请求10次查询,超过频率限制会报错。
股票代码
例如:600519.SH
。
策略代码中使用exchange.SetContractType()
函数设置股票代码,例如:
function main() {
var info = exchange.SetContractType("600519.SH") // 设置为股票600519.SH即贵州茅台,账户即切换到大陆市场
Log(info)
Log(exchange.GetAccount()) // 当前设置的股票为贵州茅台,此时调用GetAccount函数获取账户资产,获取的为大陆市场账户资产
Log(exchange.GetTicker()) // 获取股票贵州茅台当前的价格信息
}
def main():
info = exchange.SetContractType("600519.SH")
Log(info)
Log(exchange.GetAccount())
Log(exchange.GetTicker())
void main() {
auto info = exchange.SetContractType("600519.SH");
Log(info);
Log(exchange.GetAccount());
Log(exchange.GetTicker());
}
设置交易方向的函数exchange.SetDirection
、下单函数exchange.Buy
/exchange.Sell
、撤单函数exchange.CancelOrder
、查询订单函数exchange.GetOrder
等使用方法均和商品期货市场相同。
账户信息数据格式:
使用TrdMarket
定义市场,用以区分香港市场,美国市场,大陆市场。
摘录自Futu API
文档:
const (
TrdMarket_TrdMarket_Unknown TrdMarket = 0 //未知市场
TrdMarket_TrdMarket_HK TrdMarket = 1 //香港市场
TrdMarket_TrdMarket_US TrdMarket = 2 //美国市场
TrdMarket_TrdMarket_CN TrdMarket = 3 //大陆市场
TrdMarket_TrdMarket_HKCC TrdMarket = 4 //香港A股通市场
TrdMarket_TrdMarket_Futures TrdMarket = 5 //期货市场
)
获取账户信息数据,exchange.GetAccount()
函数返回:
{
"Info": [{
"Header": {
... // 省略
"TrdMarket": 1 // Info原始信息中,市场ID,表示该账户资产用于香港市场交易
},
"Funds": { // 账户在该市场的资产信息
...
}
}, ...],
"Balance": 1000000, // 当前市场的资产数值
"FrozenBalance": 0
}
FutuOpenD根据登录的IP地址作为地区区分 对于非大陆IP地址登录的账户在获取行情数据时有所限制,具体可以查阅FutuOpenD(富途)官方文档。